d8307d
commit bd598da9f454bc1091b4ebe0303b07e6f96ca130
d8307d
Author: Joseph Myers <joseph@codesourcery.com>
d8307d
Date:   Tue Dec 4 16:52:39 2018 +0000
d8307d
d8307d
    Stop test-in-container trying to run other-OS binaries.
d8307d
    
d8307d
    I noticed that, now that build-many-glibcs.py no longer copies glibc
d8307d
    sources, I was getting core dumps in my glibc source directories.  The
d8307d
    cause appears to be, from the i686-gnu build:
d8307d
    
d8307d
    for dso in ` env LD_TRACE_LOADED_OBJECTS=1  \
d8307d
            /scratch/jmyers/glibc-bot/build/glibcs/i686-gnu/glibc/elf/ld.so.1 \
d8307d
            /scratch/jmyers/glibc-bot/build/glibcs/i686-gnu/glibc/testroot.pristine/bin/sh \
d8307d
    [...]
d8307d
    Segmentation fault (core dumped)
d8307d
    
d8307d
    In this case, the x86 architecture means the binary executes, but
d8307d
    dumps core rather than actually working.
d8307d
    
d8307d
    Anything involving running the newly built glibc should only be done
d8307d
    ifeq ($(run-built-tests),yes).  This patch conditions the relevant
d8307d
    part of the testroot setup accordingly.
d8307d
    
d8307d
    Tested for x86_64, and with build-many-glibcs.py for i686-gnu.
d8307d
    
d8307d
    	* Makefile ($(objpfx)testroot.pristine/install.stamp): Do not run
d8307d
    	dynamic linker unless [$(run-built-tests) = yes].
d8307d
d8307d
diff --git a/Makefile b/Makefile
d8307d
index b4703e4..fd73d9b 100644
d8307d
--- a/Makefile
d8307d
+++ b/Makefile
d8307d
@@ -374,6 +374,7 @@ $(objpfx)testroot.pristine/install.stamp :
d8307d
 	cp $(objpfx)support/shell-container $(objpfx)testroot.pristine/bin/sh
d8307d
 	cp $(objpfx)support/echo-container $(objpfx)testroot.pristine/bin/echo
d8307d
 	cp $(objpfx)support/true-container $(objpfx)testroot.pristine/bin/true
d8307d
+ifeq ($(run-built-tests),yes)
d8307d
 	# Copy these DSOs first so we can overwrite them with our own.
d8307d
 	for dso in `$(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1  \
d8307d
 		$(objpfx)elf/$(rtld-installed-name) \
d8307d
@@ -393,6 +394,7 @@ $(objpfx)testroot.pristine/install.stamp :
d8307d
 	      mkdir -p `dirname $(objpfx)testroot.pristine$$dso` ;\
d8307d
 	    $(test-wrapper) cp $$dso $(objpfx)testroot.pristine$$dso ;\
d8307d
 	  done
d8307d
+endif
d8307d
 	$(MAKE) install DESTDIR=$(objpfx)testroot.pristine
d8307d
 	touch $(objpfx)testroot.pristine/install.stamp
d8307d