summaryrefslogtreecommitdiffstats
path: root/native_client_sdk
diff options
context:
space:
mode:
authorbradnelson <bradnelson@google.com>2015-06-18 16:57:16 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-18 23:58:50 +0000
commitf507f59aec16b2e3e57b9abc5d03680473d310e9 (patch)
tree0f2bffdb4e7d0ae15caf990ad4a9ee267db1e359 /native_client_sdk
parent45f51520dfef8f1f7a6e77b1b3701077d33cf6f2 (diff)
downloadchromium_src-f507f59aec16b2e3e57b9abc5d03680473d310e9.zip
chromium_src-f507f59aec16b2e3e57b9abc5d03680473d310e9.tar.gz
chromium_src-f507f59aec16b2e3e57b9abc5d03680473d310e9.tar.bz2
Add an option for additional library directories to sel_ldr.py
sel_ldr.py can run glibc dynamically linked executables, but does not currently support the case where the shared libaries originating from somewhere other than the toolchain are needed. Adding an option to allow additional library paths. Adding toolchain usr/lib directories to the default library paths. (Patch from gauravashish07@gmail.com) BUG=None TEST=trybots + local R=sbc@chromium.org,gauravashish07@gmail.com Review URL: https://codereview.chromium.org/1192693002 Cr-Commit-Position: refs/heads/master@{#335165}
Diffstat (limited to 'native_client_sdk')
-rwxr-xr-xnative_client_sdk/src/tools/sel_ldr.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/native_client_sdk/src/tools/sel_ldr.py b/native_client_sdk/src/tools/sel_ldr.py
index e8d487f..30be7d2 100755
--- a/native_client_sdk/src/tools/sel_ldr.py
+++ b/native_client_sdk/src/tools/sel_ldr.py
@@ -64,6 +64,8 @@ def main(argv):
'libraries rather then release')
parser.add_argument('executable', help='executable (.nexe) to run')
parser.add_argument('args', nargs='*', help='argument to pass to exectuable')
+ parser.add_argument('--library-path',
+ help='Pass extra library paths')
# To enable bash completion for this command first install optcomplete
# and then add this line to your .bashrc:
@@ -139,24 +141,29 @@ def main(argv):
if dynamic:
if options.debug_libs:
- libpath = os.path.join(NACL_SDK_ROOT, 'lib',
- 'glibc_%s' % arch_suffix, 'Debug')
+ sdk_lib_dir = os.path.join(NACL_SDK_ROOT, 'lib',
+ 'glibc_%s' % arch_suffix, 'Debug')
else:
- libpath = os.path.join(NACL_SDK_ROOT, 'lib',
- 'glibc_%s' % arch_suffix, 'Release')
+ sdk_lib_dir = os.path.join(NACL_SDK_ROOT, 'lib',
+ 'glibc_%s' % arch_suffix, 'Release')
toolchain = '%s_x86_glibc' % osname
- sdk_lib_dir = os.path.join(NACL_SDK_ROOT, 'toolchain',
- toolchain, 'x86_64-nacl')
+ toolchain_dir = os.path.join(NACL_SDK_ROOT, 'toolchain', toolchain)
+ sdk_lib_dir = os.path.join(toolchain_dir, 'x86_64-nacl')
if arch == 'x86-64':
- sdk_lib_dir = os.path.join(sdk_lib_dir, 'lib')
+ lib_dir = os.path.join(sdk_lib_dir, 'lib')
+ usr_lib_dir = os.path.join(toolchain_dir, 'x86_64-nacl', 'usr', 'lib')
else:
- sdk_lib_dir = os.path.join(sdk_lib_dir, 'lib32')
+ lib_dir = os.path.join(sdk_lib_dir, 'lib32')
+ usr_lib_dir = os.path.join(toolchain_dir, 'i686-nacl', 'usr', 'lib')
ldso = os.path.join(sdk_lib_dir, 'runnable-ld.so')
cmd.append(ldso)
Log('LD.SO = %s' % ldso)
- libpath += ':' + sdk_lib_dir
+ 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(libpath)
+ cmd.append(':'.join(libpath))
# Append arguments for the executable itself.