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

Reply via email to