summaryrefslogtreecommitdiffstats
path: root/native_client_sdk/src/tools/lib/get_shared_deps.py
diff options
context:
space:
mode:
Diffstat (limited to 'native_client_sdk/src/tools/lib/get_shared_deps.py')
-rw-r--r--native_client_sdk/src/tools/lib/get_shared_deps.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/native_client_sdk/src/tools/lib/get_shared_deps.py b/native_client_sdk/src/tools/lib/get_shared_deps.py
index 5325df9..5a3a658 100644
--- a/native_client_sdk/src/tools/lib/get_shared_deps.py
+++ b/native_client_sdk/src/tools/lib/get_shared_deps.py
@@ -210,9 +210,16 @@ def _FindLibsInPath(name, lib_path):
files = []
for dirname in lib_path:
# The libc.so files in the the glibc toolchain is actually a linker
- # script which references libc.so.<SHA1>. This means the libc.so itself
- # does not end up in the NEEDED section for glibc.
- if name == 'libc.so':
+ # script which references libc.so.<SHA1>. This means the lib.so itself
+ # does not end up in the NEEDED section for glibc. However with bionic
+ # the SONAME is actually libc.so. If we pass glibc's libc.so to objdump
+ # if fails to parse it, os this filters out libc.so expept for within
+ # the bionic toolchain.
+ # TODO(bradnelson): Remove this once the SONAME in bionic is made to be
+ # unique in the same it is under glibc:
+ # https://code.google.com/p/nativeclient/issues/detail?id=3833
+ rel_dirname = os.path.relpath(dirname, SDK_DIR)
+ if name == 'libc.so' and 'bionic' not in rel_dirname:
continue
filename = os.path.join(dirname, name)
if os.path.exists(filename):