summaryrefslogtreecommitdiffstats
path: root/chrome/nacl.gypi
diff options
context:
space:
mode:
authorbradchen@google.com <bradchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-17 15:30:13 +0000
committerbradchen@google.com <bradchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-17 15:30:13 +0000
commit34169bda0e64aa826c113c0bed199f8469736f75 (patch)
tree9f12d961ac1416cc9fdb8a367856ea97340d4261 /chrome/nacl.gypi
parentb967a1b2bc8ae2c714a3c692cf086fdf7815e9eb (diff)
downloadchromium_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.gypi35
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)',
+ ],
+ },
},
],
}],