diff options
author | Sam Clegg <sbc@chromium.org> | 2015-08-25 17:02:34 -0700 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2015-08-26 00:04:07 +0000 |
commit | dee98ed1c1c86594e60ab41540bfda7c4e0ff5aa (patch) | |
tree | 50215259c0953e10b0c0f22173ade3fa8f850d53 | |
parent | eddbadd44e45fa659ac2956482996924b0dcf8a0 (diff) | |
download | chromium_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-x | native_client_sdk/src/build_tools/build_sdk.py | 2 | ||||
-rw-r--r-- | native_client_sdk/src/build_tools/sdk_files.list | 1 | ||||
-rwxr-xr-x | native_client_sdk/src/tools/sel_ldr.py | 24 |
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. |