This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: testroot.pristine creation falls over copying dynamic linker
- From: Joseph Myers <joseph at codesourcery dot com>
- To: DJ Delorie <dj at redhat dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Wed, 31 Jul 2019 15:52:27 +0000
- Subject: Re: testroot.pristine creation falls over copying dynamic linker
- References: <xnftmoikor.fsf@greed.delorie.com>
On Mon, 29 Jul 2019, DJ Delorie wrote:
> Joseph Myers <joseph@codesourcery.com> writes:
> > /lib32/ld.so.1 => /scratch/jmyers/glibc/mbs/obj/glibc-8-0-mips64-linux-gnu-x86_64-linux-gnu/default/elf/ld.so.1 (0x7747b000)
>
> > - it must only copy the path on the right hand side of =>.
>
> There isn't always a path on the RHS of =>
>
> $ ldd hello.x86-64
> linux-vdso.so.1 => (0x00007ffc94dc8000)
> libc.so.6 => /lib64/libc.so.6 (0x00007f0ce3675000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f0ce3a42000)
>
> The Makefile would need to be smart enough to say "if there's a path
> after =>, use that" but... do we copy the RHS to RHS inside the
> testroot, or the expected LHS once it's inside the testroot?
>
> Maybe we need a filter like this? It just prefers the RHS path if there
> is on, else uses the first path available:
>
> - | grep / | sed 's/^[^/]*//' | sed 's/ .*//'` ;\
> + | grep / | sed 's@.*=> /@/@' | sed 's/^[^/]*//' | sed 's/ .*//'` ;\
I can confirm that doing that (for both Makefile lines with such a sed
command) allows the MIPS tests to run in cases where they previously fell
over because the path on the LHS does not exist in the root filesystem.
--
Joseph S. Myers
joseph@codesourcery.com