Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(491)

Issue 608913003: Added support for NaCl IO to use the IRT Extension API. (Closed)

Created:
6 years, 2 months ago by David Yen
Modified:
6 years, 2 months ago
Reviewers:
Sam Clegg, binji
CC:
chromium-reviews, noelallen1, binji, Roland McGrath
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Added support for NaCl IO to use the IRT Extension API. In order to better integrate the IRT Extension API into NaCl IO, the first implementation mirrors the other kernel_wrap_* files. All the unit tests should therefore still be valid. Eventually it may be easier to just have a separate version of kernel_intercept which utilizes the IRT extension API directly. Currently the IRT Extension interface is only supported within newlib, so I have enabled it for newlib only. BUG= https://code.google.com/p/nativeclient/issues/detail?id=3918 TEST= trybots Committed: https://crrev.com/3183230ac54a9b443f6e67a64121a0c3ee734e6b Cr-Commit-Position: refs/heads/master@{#299938}

Patch Set 1 #

Patch Set 2 : Added _real_isatty() to kernel_wrap_dummy.cc, waiting for NaCl Deps Roll for nacl_ext to link #

Patch Set 3 : implement real versions of all the kernel wrap functions for irt_ext #

Patch Set 4 : Refactored how we supply irt extension interfaces #

Patch Set 5 : Changed assert checks to a macro #

Total comments: 9

Patch Set 6 : Applied Sam's suggestions. #

Patch Set 7 : Rewrote kernel_wrap_irt_ext in C. #

Patch Set 8 : Converted pointers from C++ style to C Style #

Patch Set 9 : Fixed whitespace issues, captialize macro. #

Patch Set 10 : Reordered functions, routed mprotect to irt version. #

Total comments: 11

Patch Set 11 : Fixed copyright text, reordered NACL_IRT_INTERFACE struct. #

Patch Set 12 : Reverted kernel_wrap_dummy.cc. #

Patch Set 13 : Rebase with master #

Patch Set 14 : Modified include paths #

Patch Set 15 : Fixed macro variable typo #

Patch Set 16 : Added irt_extension.h into build_sdk.py #

Patch Set 17 : kernel_wrap.h seems to need ossignal.h to compile under C #

Patch Set 18 : Interfaces only get queried once, no longer assert on missing interfaces #

Patch Set 19 : rebase #

Patch Set 20 : Initialize all interfaces on init #

Unified diffs Side-by-side diffs Delta from patch set Stats (+515 lines, -8 lines) Patch
M native_client_sdk/src/build_tools/build_sdk.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M native_client_sdk/src/libraries/nacl_io/kernel_wrap.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +6 lines, -0 lines 0 comments Download
M native_client_sdk/src/libraries/nacl_io/kernel_wrap_bionic.cc View 1 2 3 4 5 2 chunks +5 lines, -2 lines 0 comments Download
M native_client_sdk/src/libraries/nacl_io/kernel_wrap_glibc.cc View 1 2 3 4 5 1 chunk +3 lines, -3 lines 0 comments Download
A native_client_sdk/src/libraries/nacl_io/kernel_wrap_irt_ext.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +496 lines, -0 lines 0 comments Download
M native_client_sdk/src/libraries/nacl_io/kernel_wrap_newlib.cc View 1 2 3 4 5 1 chunk +3 lines, -3 lines 0 comments Download
M native_client_sdk/src/libraries/nacl_io/library.dsc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 15 (3 generated)
David Yen
I've added support in NaCl IO to use the IRT Extension API. I'm waiting for ...
6 years, 2 months ago (2014-09-30 20:38:10 UTC) #2
Sam Clegg
https://codereview.chromium.org/608913003/diff/80001/native_client_sdk/src/libraries/nacl_io/kernel_wrap.h File native_client_sdk/src/libraries/nacl_io/kernel_wrap.h (right): https://codereview.chromium.org/608913003/diff/80001/native_client_sdk/src/libraries/nacl_io/kernel_wrap.h#newcode22 native_client_sdk/src/libraries/nacl_io/kernel_wrap.h:22: #if defined(__native_client__) && !defined(__GLIBC__) && !defined(__BIONIC__) You can check ...
6 years, 2 months ago (2014-09-30 20:49:03 UTC) #3
David Yen
https://codereview.chromium.org/608913003/diff/80001/native_client_sdk/src/libraries/nacl_io/kernel_wrap.h File native_client_sdk/src/libraries/nacl_io/kernel_wrap.h (right): https://codereview.chromium.org/608913003/diff/80001/native_client_sdk/src/libraries/nacl_io/kernel_wrap.h#newcode22 native_client_sdk/src/libraries/nacl_io/kernel_wrap.h:22: #if defined(__native_client__) && !defined(__GLIBC__) && !defined(__BIONIC__) On 2014/09/30 20:49:03, ...
6 years, 2 months ago (2014-09-30 21:37:36 UTC) #4
David Yen
I've rewrote kernel_wrap_irt_ext to be in C, PTAL. https://codereview.chromium.org/608913003/diff/80001/native_client_sdk/src/libraries/nacl_io/kernel_wrap_irt_ext.cc File native_client_sdk/src/libraries/nacl_io/kernel_wrap_irt_ext.cc (right): https://codereview.chromium.org/608913003/diff/80001/native_client_sdk/src/libraries/nacl_io/kernel_wrap_irt_ext.cc#newcode2 native_client_sdk/src/libraries/nacl_io/kernel_wrap_irt_ext.cc:2: // ...
6 years, 2 months ago (2014-10-01 20:01:44 UTC) #5
binji
https://codereview.chromium.org/608913003/diff/180001/native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc File native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc (right): https://codereview.chromium.org/608913003/diff/180001/native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc#newcode9 native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc:9: #if defined(WIN32) || (!defined(NACL_IO_IRT_EXT) && \ I don't think ...
6 years, 2 months ago (2014-10-02 17:54:34 UTC) #7
David Yen
https://codereview.chromium.org/608913003/diff/180001/native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc File native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc (right): https://codereview.chromium.org/608913003/diff/180001/native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc#newcode9 native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc:9: #if defined(WIN32) || (!defined(NACL_IO_IRT_EXT) && \ On 2014/10/02 17:54:34, ...
6 years, 2 months ago (2014-10-02 18:23:49 UTC) #8
David Yen
https://codereview.chromium.org/608913003/diff/180001/native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc File native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc (right): https://codereview.chromium.org/608913003/diff/180001/native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc#newcode9 native_client_sdk/src/libraries/nacl_io/kernel_wrap_dummy.cc:9: #if defined(WIN32) || (!defined(NACL_IO_IRT_EXT) && \ On 2014/10/02 18:23:49, ...
6 years, 2 months ago (2014-10-02 18:26:15 UTC) #9
Sam Clegg
this lgtm now. Ben?
6 years, 2 months ago (2014-10-08 19:58:20 UTC) #10
binji
sorry! lgtm
6 years, 2 months ago (2014-10-08 21:08:14 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/608913003/540001
6 years, 2 months ago (2014-10-16 18:11:11 UTC) #13
commit-bot: I haz the power
Committed patchset #20 (id:540001)
6 years, 2 months ago (2014-10-16 18:32:20 UTC) #14
commit-bot: I haz the power
6 years, 2 months ago (2014-10-16 18:35:09 UTC) #15
Message was sent while issue was closed.
Patchset 20 (id:??) landed as
https://crrev.com/3183230ac54a9b443f6e67a64121a0c3ee734e6b
Cr-Commit-Position: refs/heads/master@{#299938}

Powered by Google App Engine
This is Rietveld 408576698