public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
To: Simon Chopin <simon.chopin@canonical.com>, libc-alpha@sourceware.org
Subject: Re: [PATCH] test-container: disable ld.so system cache on DSO detection
Date: Tue, 17 Oct 2023 11:48:55 -0300	[thread overview]
Message-ID: <b41082dc-f307-4916-8f72-8518dc48d87a@linaro.org> (raw)
In-Reply-To: <20231005125431.3958485-1-simon.chopin@canonical.com>



On 05/10/23 09:54, Simon Chopin wrote:
> When building the testroot, the script runs the newly built ld.so on a
> couple of binaries in order to copy over any additional libararies

s/libararies/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

It makes sense to inhibit cache on testroot creation, although default
system dirs will always be used.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  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 \
> 
> base-commit: 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa

  reply	other threads:[~2023-10-17 14:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-05 12:54 Simon Chopin
2023-10-17 14:48 ` Adhemerval Zanella Netto [this message]
2023-10-23 10:11   ` Simon Chopin
2023-10-23 14:08     ` Adhemerval Zanella Netto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b41082dc-f307-4916-8f72-8518dc48d87a@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=libc-alpha@sourceware.org \
    --cc=simon.chopin@canonical.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).