diff options
author | bradchen@google.com <bradchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-17 15:30:13 +0000 |
---|---|---|
committer | bradchen@google.com <bradchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-17 15:30:13 +0000 |
commit | 34169bda0e64aa826c113c0bed199f8469736f75 (patch) | |
tree | 9f12d961ac1416cc9fdb8a367856ea97340d4261 /chrome/nacl.gypi | |
parent | b967a1b2bc8ae2c714a3c692cf086fdf7815e9eb (diff) | |
download | chromium_src-34169bda0e64aa826c113c0bed199f8469736f75.zip chromium_src-34169bda0e64aa826c113c0bed199f8469736f75.tar.gz chromium_src-34169bda0e64aa826c113c0bed199f8469736f75.tar.bz2 |
Reserve 1GB at the base of the address space of linux nacl_helper for Native Client module.
Use PathService instead of command line flag to enable helper. Adds a nacl_helper_bootstrap executable that implements the actual space reservation.
This is for resubmit of reverted CL 7670011, fixing nacl.gypi for the linux_shared build.
See 7670011 and 7599011 for review history.
TBR=agl,bradnelson
BUG=92964, nativeclient:480
TEST=manual for now
Review URL: http://codereview.chromium.org/7655010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97137 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/nacl.gypi')
-rw-r--r-- | chrome/nacl.gypi | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/chrome/nacl.gypi b/chrome/nacl.gypi index 9467359..bfc6652 100644 --- a/chrome/nacl.gypi +++ b/chrome/nacl.gypi @@ -144,10 +144,12 @@ }, ], }], - ['OS=="linux" and touchui == 0', { + ['OS=="linux"', { 'targets': [ { - 'target_name': 'nacl_helper', + 'target_name': 'nacl_helper.so', + # 'executable' will be overridden below when we add the -shared + # flag; here it prevents gyp from using the --whole-archive flag 'type': 'executable', 'include_dirs': [ '..', @@ -165,6 +167,35 @@ ], }], ], + 'link_settings': { + # NOTE: '-shared' overrides 'executable' above + 'ldflags': ['-shared', + '-Wl,--version-script=chrome/nacl/nacl_helper_exports.txt', + ], + }, + }, + { + 'target_name': 'nacl_helper_bootstrap', + 'type': 'executable', + 'dependencies': [ + 'nacl_helper.so', + ], + 'sources': [ + '../chrome/nacl/nacl_helper_bootstrap_linux.c', + ], + # TODO(bradchen): Delete the -B argument when Gold supports + # -Ttext properly. Until then use ld.bfd. + 'link_settings': { + 'ldflags': ['-B', 'tools/ld_bfd', + # Force text segment at 0x10000 (64KB) + # The max-page-size option is needed on x86-64 linux + # where 4K pages are not the default in the BFD linker. + '-Wl,-Ttext-segment,10000,-z,max-page-size=0x1000', + # reference nacl_helper as a shared library + '<(PRODUCT_DIR)/nacl_helper.so', + '-Wl,-rpath,<(SHARED_LIB_DIR)', + ], + }, }, ], }], |