cros_setup_toolchain: Do not create wrapper for glibc.
We do not want to have another wrapper over libc and this causes
the standalone toolchain fails to link a simple program.
BUG=chromium:766827
TEST=create toolchain tarball and unpack it outside chroot.
./bin/x86_64-cros-linux-gnu-clang -shared -o foo.so -lm a.c
works
Change-Id: Ie7cb08bc47cfb9c4e8d104c6db5c40eb16211c79
Reviewed-on: https://chromium-review.googlesource.com/675574
Commit-Ready: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/cros_setup_toolchains.py b/scripts/cros_setup_toolchains.py
index b54313b..638b64b 100644
--- a/scripts/cros_setup_toolchains.py
+++ b/scripts/cros_setup_toolchains.py
@@ -939,10 +939,12 @@
libdir = os.path.join(output_dir, 'lib')
osutils.SafeMakedirs(libdir)
donelibs = set()
+ glibc_re = re.compile(r'/libc-[0-9.]+\.so$')
for elf in elfs:
e = lddtree.ParseELF(elf, root=root, ldpaths=ldpaths)
interp = e['interp']
- if interp:
+ # Do not create wrapper for libc. crbug.com/766827
+ if interp and not glibc_re.search(elf):
# Generate a wrapper if it is executable.
interp = os.path.join('/lib', os.path.basename(interp))
lddtree.GenerateLdsoWrapper(output_dir, path_rewrite_func(elf), interp,