public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] test-container: disable ld.so system cache on DSO detection
@ 2023-10-23 16:44 Adhemerval Zanella
  0 siblings, 0 replies; only message in thread
From: Adhemerval Zanella @ 2023-10-23 16:44 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=97290559c3b497fb9012c3f6248cb30afb26da7c

commit 97290559c3b497fb9012c3f6248cb30afb26da7c
Author: Simon Chopin <simon.chopin@canonical.com>
Date:   Thu Oct 5 14:54:31 2023 +0200

    test-container: disable ld.so system cache on DSO detection
    
    When building the testroot, the script runs the newly built ld.so on a
    couple of binaries in order to copy over any additional libraries
    needed. However, if the dependencies are found in the system cache, it
    will be copied over using that path.
    
    This is problematic if the system ld.so and the one built don't have the
    exact same search configuration. We encountered this in Ubuntu, where we
    build a variant of libc with -fno-omit-frame-pointer for accurate
    performance profiling.
    
    This variant is built using a non-standard slibdir to be able to be
    co-installed with the default library (e.g. slibdir = /lib/libc6-prof).
    Since we have /lib pointing to /usr/lib, any additional dependency
    should still be reachable via /usr. However, resolving via the cache
    might result in the additional DSOs being copied into $testroot/lib, out
    of the search path in the container.
    
    The problem has been triggered by 1d5024f4f052c12e404d42d3b5bfe9c3e9fd27c4
    ("support: Build with exceptions and asynchronous unwind tables [BZ #30587]")
    which introduced a dependency on libgcc_s.so.1 under some circumstances.
    
    Downstream bug: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/2031495
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

Diff:
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index c6d4817a9e..b938721166 100644
--- a/Makefile
+++ b/Makefile
@@ -624,7 +624,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  \
-		$(rtld-prefix) \
+		$(rtld-prefix) --inhibit-cache \
 		$(objpfx)testroot.pristine/bin/sh \
 	        | sed -n '/\//{s@.*=> /@/@;s/^[^/]*//;s/ .*//p;}'` ;\
 	  do \
@@ -633,7 +633,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  \
-		$(rtld-prefix) \
+		$(rtld-prefix) --inhibit-cache \
 		$(objpfx)support/$(LINKS_DSO_PROGRAM) \
 	        | sed -n '/\//{s@.*=> /@/@;s/^[^/]*//;s/ .*//p;}'` ;\
 	  do \

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-10-23 16:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-23 16:44 [glibc] test-container: disable ld.so system cache on DSO detection Adhemerval Zanella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).