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.
* 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
* Enable tests on the PNaCl bots. buildbot_pnacl.py covers x86,
while the older buildbot_pnacl.sh covers ARM.
TEST="run_hello_world_test_irt nacl_nonsfi=1", run on bots
Review URL: https://codereview.chromium.org/269703002
git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client/site_scons@13132 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
1 file changed