diff options
author | bradchen@google.com <bradchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-16 22:21:10 +0000 |
---|---|---|
committer | bradchen@google.com <bradchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-16 22:21:10 +0000 |
commit | 07e0fa47f369da3e4f4694ec9871850f8e8162b1 (patch) | |
tree | 5286b5033b88840aa1930c2c5ba08b6f556c518c /chrome/nacl.gypi | |
parent | 6979bf969c6a9fcc28186333c547af477ffe94ac (diff) | |
download | chromium_src-07e0fa47f369da3e4f4694ec9871850f8e8162b1.zip chromium_src-07e0fa47f369da3e4f4694ec9871850f8e8162b1.tar.gz chromium_src-07e0fa47f369da3e4f4694ec9871850f8e8162b1.tar.bz2 |
Reserve 1GB at the base address of linux nacl_helper for Native Client.
Use PathService instead of command line flag to obtain path for helper. Adds a nacl_helper_bootstrap executable that implements the actual space reservation.
BUG=nativeclient:480
TEST=manual for now
Review URL: http://codereview.chromium.org/7599011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97040 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/nacl.gypi')
-rw-r--r-- | chrome/nacl.gypi | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/chrome/nacl.gypi b/chrome/nacl.gypi index 9467359..b52ab0d 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,34 @@ ], }], ], + '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 + './out/Debug/nacl_helper.so', + ], + }, }, ], }], |