Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(695)

Unified Diff: native_client_sdk/src/tools/lib/get_shared_deps.py

Issue 227813003: [NaCl SDK] Teach create_nmf about ARM shared libraries. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « native_client_sdk/src/tools/create_nmf.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: native_client_sdk/src/tools/lib/get_shared_deps.py
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 3287474080eb59d44c498f7f0991984c0ec1848b..99a5884bdd26b66a32634cc9da9df343a5d6d895 100644
--- a/native_client_sdk/src/tools/lib/get_shared_deps.py
+++ b/native_client_sdk/src/tools/lib/get_shared_deps.py
@@ -39,6 +39,7 @@ OBJDUMP_ARCH_MAP = {
'elf64-x86-64-nacl': 'x86-64',
'elf32-x86-64-nacl': 'x86-64',
'elf32-i386-nacl': 'x86-32',
+ 'elf32-littlearm-nacl': 'arm',
}
# The proper name of the dynamic linker, as kept in the IRT. This is
@@ -201,6 +202,17 @@ def _FindLibsInPath(name, lib_path):
A list of system paths that match the given name within the 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 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(noelallen): 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
+ if name == 'libc.so' and 'bionic' not in dirname:
+ continue
filename = os.path.join(dirname, name)
if os.path.exists(filename):
files.append(filename)
« no previous file with comments | « native_client_sdk/src/tools/create_nmf.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698