summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2015-08-25 17:02:34 -0700
committerSam Clegg <sbc@chromium.org>2015-08-26 00:04:07 +0000
commitdee98ed1c1c86594e60ab41540bfda7c4e0ff5aa (patch)
tree50215259c0953e10b0c0f22173ade3fa8f850d53
parenteddbadd44e45fa659ac2956482996924b0dcf8a0 (diff)
downloadchromium_src-dee98ed1c1c86594e60ab41540bfda7c4e0ff5aa.zip
chromium_src-dee98ed1c1c86594e60ab41540bfda7c4e0ff5aa.tar.gz
chromium_src-dee98ed1c1c86594e60ab41540bfda7c4e0ff5aa.tar.bz2
[NaCl SDK] Add elf_loader_arm.nexe to SDK
CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_nacl_sdk;tryserver.chromium.mac:mac_nacl_sdk;tryserver.chromium.win:win_nacl_sdk R=binji@chromium.org Review URL: https://codereview.chromium.org/1291893002 . Cr-Commit-Position: refs/heads/master@{#345491}
-rwxr-xr-xnative_client_sdk/src/build_tools/build_sdk.py2
-rw-r--r--native_client_sdk/src/build_tools/sdk_files.list1
-rwxr-xr-xnative_client_sdk/src/tools/sel_ldr.py24
3 files changed, 18 insertions, 9 deletions
diff --git a/native_client_sdk/src/build_tools/build_sdk.py b/native_client_sdk/src/build_tools/build_sdk.py
index 6bf3b22..0fa015d 100755
--- a/native_client_sdk/src/build_tools/build_sdk.py
+++ b/native_client_sdk/src/build_tools/build_sdk.py
@@ -438,7 +438,7 @@ def GypNinjaInstall(pepperdir, toolchains):
if platform == 'linux' and not options.no_arm_trusted:
arm_files = [
['irt_core_newlib_arm.nexe', 'irt_core_arm.nexe'],
- ['irt_core_newlib_arm.nexe', 'irt_core_arm.nexe'],
+ ['elf_loader_newlib_arm.nexe', 'elf_loader_arm.nexe'],
['nacl_helper_bootstrap', 'nacl_helper_bootstrap_arm'],
['nonsfi_loader_newlib_arm_nonsfi.nexe', 'nonsfi_loader_arm'],
['sel_ldr', 'sel_ldr_arm']
diff --git a/native_client_sdk/src/build_tools/sdk_files.list b/native_client_sdk/src/build_tools/sdk_files.list
index 3a321a8..d029a25 100644
--- a/native_client_sdk/src/build_tools/sdk_files.list
+++ b/native_client_sdk/src/build_tools/sdk_files.list
@@ -576,6 +576,7 @@ tools/create_html.py
tools/create_nmf.py
tools/decode_dump.py
[linux,mac]tools/dump_syms
+[linux]tools/elf_loader_arm.nexe
tools/fix_deps.py
tools/fix_manifest.py
tools/genhttpfs.py
diff --git a/native_client_sdk/src/tools/sel_ldr.py b/native_client_sdk/src/tools/sel_ldr.py
index c97abf8..3909b0c 100755
--- a/native_client_sdk/src/tools/sel_ldr.py
+++ b/native_client_sdk/src/tools/sel_ldr.py
@@ -165,8 +165,6 @@ def main(argv):
tcarch = 'arm'
tcsubarch = 'arm'
usr_arch = 'arm'
- # TODO(sbc): Remove this once we get elf_loader.nexe added to the SDK
- raise Error('Running arm/glibc binaries via sel_ldr.py is not supported')
elif elf_arch == 'x86-32':
lib_subdir = 'lib32'
tcarch = 'x86'
@@ -177,18 +175,28 @@ def main(argv):
toolchain = '%s_%s_glibc' % (osname, tcarch)
toolchain_dir = os.path.join(NACL_SDK_ROOT, 'toolchain', toolchain)
- lib_dir = os.path.join(toolchain_dir, tcsubarch + '-nacl', lib_subdir)
+ interp_prefix = os.path.join(toolchain_dir, tcsubarch + '-nacl')
+ lib_dir = os.path.join(interp_prefix, lib_subdir)
usr_lib_dir = os.path.join(toolchain_dir, usr_arch + '-nacl', 'usr', 'lib')
- ldso = os.path.join(lib_dir, 'runnable-ld.so')
- cmd.append(ldso)
- Log('LD.SO = %s' % ldso)
libpath = [usr_lib_dir, sdk_lib_dir, lib_dir]
if options.library_path:
libpath.extend([os.path.abspath(p) for p
in options.library_path.split(':')])
- cmd.append('--library-path')
- cmd.append(':'.join(libpath))
+ libpath = ':'.join(libpath)
+ if elf_arch == 'arm':
+ ldso = os.path.join(SCRIPT_DIR, 'elf_loader_arm.nexe')
+ cmd.append('-E')
+ cmd.append('LD_LIBRARY_PATH=%s' % libpath)
+ cmd.append(ldso)
+ cmd.append('--interp-prefix')
+ cmd.append(interp_prefix)
+ else:
+ ldso = os.path.join(lib_dir, 'runnable-ld.so')
+ cmd.append(ldso)
+ cmd.append('--library-path')
+ cmd.append(libpath)
+ Log('dynamic loader = %s' % ldso)
# Append arguments for the executable itself.