test-container: Avoid copying unintended system libraries
authorTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Mon, 22 Jul 2019 19:30:45 +0000 (16:30 -0300)
committerTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Tue, 23 Jul 2019 13:04:01 +0000 (10:04 -0300)
Some DSOs are distributed in hardware capability directories, e.g.
/usr/lib64/power7/libc.so.6
Whenever the processor is able to use one of these hardware-enabled
DSOs, testroot.pristine ends up with copies of glibc-provided libraries
from the system because it can't overwrite or remove them.

This patch avoids the unintended copies by executing ld.so with the same
arguments passed to each glibc test.

* Makefile (testroot.pristine/install.stamp): Execute ld.so with
the same arguments used in all tests.

ChangeLog
Makefile

index 8fc3ef3..8d4c898 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-07-23  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
+
+       * Makefile (testroot.pristine/install.stamp): Execute ld.so with
+       the same arguments used in all tests.
+
 2019-07-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
        * NEWS: Mention the AArch64 IFUNC resolver ABI change.
index dc5de7a..a4ed747 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -383,7 +383,7 @@ $(objpfx)testroot.pristine/install.stamp :
 ifeq ($(run-built-tests),yes)
        # Copy these DSOs first so we can overwrite them with our own.
        for dso in `$(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1  \
-               $(objpfx)elf/$(rtld-installed-name) \
+               $(rtld-prefix) \
                $(objpfx)testroot.pristine/bin/sh \
                | grep / | sed 's/^[^/]*//' | sed 's/ .*//'` ;\
          do \
@@ -392,7 +392,7 @@ ifeq ($(run-built-tests),yes)
            $(test-wrapper) cp $$dso $(objpfx)testroot.pristine$$dso ;\
          done
        for dso in `$(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1  \
-               $(objpfx)elf/$(rtld-installed-name) \
+               $(rtld-prefix) \
                $(objpfx)support/$(LINKS_DSO_PROGRAM) \
                | grep / | sed 's/^[^/]*//' | sed 's/ .*//'` ;\
          do \