Denys Vlasenko wrote: > On Monday 02 February 2009 23:02, Bernhard Reutner-Fischer wrote: >> On Wed, Jan 28, 2009 at 04:39:35PM +0100, Carmelo AMOROSO wrote: >>> -----BEGIN PGP SIGNED MESSAGE----- >>> Hash: SHA1 >>> >>> Folks, >>> while reviewing test suite, found an issue in setting RPATH >>> when TEST_INSTALLED_UCLIBC is not set. >>> The attached patch should fix it. >> Denys touched this in the meantime, i think? > > Nothing has changed since 0.9.30 AFAICS. > Diff between readelf of test/args/arg_test test binary: > > @@ -53,11 +53,11 @@ > Program Headers: > Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align > PHDR 0x000034 0x08048034 0x08048034 0x000c0 0x000c0 R E 0x4 > - INTERP 0x0000f4 0x080480f4 0x080480f4 0x0004d 0x0004d R 0x1 > - [Requesting program interpreter: > /.1/usr/srcdevel/uclibc/fix/uClibc-0.9.30/test/args/../../lib/ld-uClibc.so.0] > - LOAD 0x000000 0x08048000 0x08048000 0x004a0 0x004a0 R E 0x1000 > - LOAD 0x0004a0 0x080494a0 0x080494a0 0x000ec 0x00110 RW 0x1000 > - DYNAMIC 0x0004b4 0x080494b4 0x080494b4 0x000b8 0x000b8 RW 0x4 > + INTERP 0x0000f4 0x080480f4 0x080480f4 0x00049 0x00049 R 0x1 > + [Requesting program interpreter: > /.1/usr/srcdevel/uclibc/fix/uClibc.t1/test/args/../../lib/ld-uClibc.so.0] > + LOAD 0x000000 0x08048000 0x08048000 0x00490 0x00490 R E 0x1000 > + LOAD 0x000490 0x08049490 0x08049490 0x000ec 0x00114 RW 0x1000 > + DYNAMIC 0x0004a4 0x080494a4 0x080494a4 0x000b8 0x000b8 RW 0x4 > GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 > > INTERP was, and is still set to full path of lib/* subdir > with newly built uclibc libs. Correct, because you want to use the fresh build.
> > PHDR 0x000034 0x08048034 0x08048034 0x000c0 0x000c0 R E 0x4 > INTERP 0x0000f4 0x080480f4 0x080480f4 0x0001b 0x0001b R 0x1 > [Requesting program interpreter: /uclibc/lib/ld-uClibc.so.0] > - LOAD 0x000000 0x08048000 0x08048000 0x0046c 0x0046c R E 0x1000 > - LOAD 0x00046c 0x0804946c 0x0804946c 0x000ec 0x00110 RW 0x1000 > - DYNAMIC 0x000480 0x08049480 0x08049480 0x000b8 0x000b8 RW 0x4 > + LOAD 0x000000 0x08048000 0x08048000 0x00460 0x00460 R E 0x1000 > + LOAD 0x000460 0x08049460 0x08049460 0x000ec 0x00114 RW 0x1000 > + DYNAMIC 0x000474 0x08049474 0x08049474 0x000b8 0x000b8 RW 0x4 > GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 > Correct, because you want to install uclibc in some folder on your root filesystem, and use it. > > RPATH is the same too: > > -Dynamic section at offset 0x480 contains 18 entries: > +Dynamic section at offset 0x474 contains 18 entries: > Tag Type Name/Value > 0x00000001 (NEEDED) Shared library: [libc.so.0] > 0x0000000f (RPATH) Library rpath: [../../lib:./] > > This is correct, you want ../../lib take precedence over /usr/lib > > With TEST_INSTALLED_UCLIBC=1, INTERP and RPATH: > > INTERP 0x0000f4 0x080480f4 0x080480f4 0x0001b 0x0001b R 0x1 > [Requesting program interpreter: /uclibc/lib/ld-uClibc.so.0] > > Dynamic section at offset 0x474 contains 18 entries: > Tag Type Name/Value > 0x00000001 (NEEDED) Shared library: [libc.so.0] > 0x0000000f (RPATH) Library rpath: [../../lib:./] > ../../lib is pointless. In this case you want to use default path or dynamic linker's installation path (/uclibc/lib) > So it is no more broken now than it was. > -- > vda > ______________________________________ Yes, I know your changes did not touch this. Carmelo _________ > uClibc mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/uclibc > _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
