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

Issue 269703002: Non-SFI Mode: Add nonsfi_loader and plumbing to test it (Closed)

Created:
6 years, 7 months ago by Mark Seaborn
Modified:
6 years, 7 months ago
CC:
native-client-reviews_googlegroups.com
Visibility:
Public.

Description

Non-SFI Mode: Add nonsfi_loader and plumbing to test it The initial reason for adding this is for testing the PNaCl toolchain's support for producing Non-SFI nexes (which so far has only been tested in Chromium). In the longer term, Chromium's Non-SFI Mode will switch to using this code from the NaCl repo. * src/nonsfi/loader: Add an ELF loader for Non-SFI nexes. * src/nonsfi/irt: Move pnacl/support/unsandboxed_irt.c here, and add plumbing so that it can be used without it defining main(). * Use "__typeof__" rather than "typeof" to avoid a -Wlanguage-extension-token warning from Clang (on Mac). Note that this introduces the "src/nonsfi" directory. This is for system code that doesn't run in an SFI sandbox and that may or may not run in an outer sandbox (such as a seccomp-bpf sandbox), and so may or may not be trusted. "src/nonsfi" is primarily for implementing the Non-SFI NaCl ABI, but it's also for implementing the "unsandboxed PNaCl" use case, which uses the same IRT interface implementation. Build/test plumbing: * Add "nonsfi_nacl=1" option to Scons for testing Non-SFI Mode. This is similar to the existing "pnacl_unsandboxed=1" option. Add a suffix to the scons-out subdir name, to allow files to coexist without rebuilding. This is required for testing on the ARM hardware bots, so that the synced tarball can contain nexes of both types. * Enable tests on the PNaCl bots. buildbot_pnacl.py covers x86, while the older buildbot_pnacl.sh covers ARM. BUG=https://code.google.com/p/nativeclient/issues/detail?id=3809 TEST="run_hello_world_test_irt nacl_nonsfi=1", run on bots R=bradnelson@google.com, jvoung@chromium.org Committed: https://src.chromium.org/viewvc/native_client?view=rev&revision=13132

Patch Set 1 #

Patch Set 2 : Fix #

Patch Set 3 : Fix #

Patch Set 4 : Fixes #

Patch Set 5 : Fix toolchain build #

Patch Set 6 : Cleanups #

Total comments: 8

Patch Set 7 : Review #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+344 lines, -675 lines) Patch
M SConstruct View 1 2 3 6 chunks +27 lines, -2 lines 0 comments Download
M buildbot/buildbot_pnacl.py View 1 chunk +10 lines, -0 lines 0 comments Download
M buildbot/buildbot_pnacl.sh View 1 2 3 4 5 4 chunks +11 lines, -0 lines 2 comments Download
M pnacl/build.sh View 1 2 3 1 chunk +7 lines, -5 lines 0 comments Download
D pnacl/support/unsandboxed_irt.c View 1 chunk +0 lines, -661 lines 0 comments Download
M site_scons/site_tools/naclsdk.py View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
A src/nonsfi/irt/build.scons View 1 1 chunk +21 lines, -0 lines 0 comments Download
A src/nonsfi/irt/irt_interfaces.h View 1 2 3 1 chunk +15 lines, -0 lines 0 comments Download
A + src/nonsfi/irt/irt_interfaces.c View 1 2 3 4 5 chunks +17 lines, -5 lines 0 comments Download
A src/nonsfi/loader/build.scons View 1 chunk +19 lines, -0 lines 0 comments Download
A src/nonsfi/loader/elf_loader.c View 1 2 3 4 5 6 1 chunk +213 lines, -0 lines 0 comments Download
M toolchain_build/pnacl_targetlibs.py View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
Mark Seaborn
6 years, 7 months ago (2014-05-02 16:26:13 UTC) #1
bradn
lgtm https://codereview.chromium.org/269703002/diff/100001/src/nonsfi/loader/elf_loader.c File src/nonsfi/loader/elf_loader.c (right): https://codereview.chromium.org/269703002/diff/100001/src/nonsfi/loader/elf_loader.c#newcode23 src/nonsfi/loader/elf_loader.c:23: #define PAGE_SIZE 0x1000 There's an odd irony in ...
6 years, 7 months ago (2014-05-02 17:39:11 UTC) #2
Mark Seaborn
https://codereview.chromium.org/269703002/diff/100001/src/nonsfi/loader/elf_loader.c File src/nonsfi/loader/elf_loader.c (right): https://codereview.chromium.org/269703002/diff/100001/src/nonsfi/loader/elf_loader.c#newcode23 src/nonsfi/loader/elf_loader.c:23: #define PAGE_SIZE 0x1000 On 2014/05/02 17:39:11, bradn wrote: > ...
6 years, 7 months ago (2014-05-02 18:18:50 UTC) #3
Mark Seaborn
+jvoung: can you look at the PNaCl build/test script changes, please?
6 years, 7 months ago (2014-05-02 18:20:48 UTC) #4
jvoung (off chromium)
https://codereview.chromium.org/269703002/diff/120001/buildbot/buildbot_pnacl.sh File buildbot/buildbot_pnacl.sh (right): https://codereview.chromium.org/269703002/diff/120001/buildbot/buildbot_pnacl.sh#newcode603 buildbot/buildbot_pnacl.sh:603: local out_dir=scons-out/nacl_irt_test-x86-32-pnacl-pexe-clang Should this use the new scons mode? ...
6 years, 7 months ago (2014-05-02 19:35:40 UTC) #5
Mark Seaborn
https://codereview.chromium.org/269703002/diff/120001/buildbot/buildbot_pnacl.sh File buildbot/buildbot_pnacl.sh (right): https://codereview.chromium.org/269703002/diff/120001/buildbot/buildbot_pnacl.sh#newcode603 buildbot/buildbot_pnacl.sh:603: local out_dir=scons-out/nacl_irt_test-x86-32-pnacl-pexe-clang On 2014/05/02 19:35:40, jvoung (wakacje 5th to ...
6 years, 7 months ago (2014-05-02 19:42:37 UTC) #6
jvoung (off chromium)
lgtm
6 years, 7 months ago (2014-05-02 19:48:19 UTC) #7
Mark Seaborn
6 years, 7 months ago (2014-05-02 20:58:31 UTC) #8
Message was sent while issue was closed.
Committed patchset #7 manually as r13132 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698