[PATCH] test: fix RPATH in the test suite

Denys Vlasenko vda.linux at googlemail.com
Mon Feb 2 23:20:13 UTC 2009


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.

   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


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:./]



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:./]

So it is no more broken now than it was.
--
vda


More information about the uClibc mailing list