diff options
author | bradnelson <bradnelson@google.com> | 2015-06-18 16:57:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-18 23:58:50 +0000 |
commit | f507f59aec16b2e3e57b9abc5d03680473d310e9 (patch) | |
tree | 0f2bffdb4e7d0ae15caf990ad4a9ee267db1e359 /native_client_sdk | |
parent | 45f51520dfef8f1f7a6e77b1b3701077d33cf6f2 (diff) | |
download | chromium_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-x | native_client_sdk/src/tools/sel_ldr.py | 27 |
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. |