HI Carmelo,

> >> I'm trying to trace a segfault in ldso when running a PIE compiled
> >> binary under uclibc.
> >>
> >>   
> > Hello,
> > recently there have been some fixes into the ld.so to cope with 
> > problems in PIE applications.
> > I suggest you to see if latest SVN release works fine for you.
> >
> > Cheers,
> > Carmelo
> >
> The change that should fix this is at the following URL
> http://www.uclibc.org/cgi-bin/viewcvs.cgi/trunk/uClibc/ldso/ldso/ldso.c?rev=20438&r1=18293&r2=20438&diff_format=h
> 

It gets much further now, but still bombs out ..., anything I can do to
track this further?

argc=1 argv=0xbfc400f4 envp=0xbfc400fc
ELF header=0xb7f95000
First Dynamic section entry=0xb7fa0ef8
Scanning DYNAMIC section
Done scanning DYNAMIC section
About to do library loader relocations
Done relocating ldso; we can now use globals and make function calls!
_dl_get_ready_to_run:172: Cool, ldso survived making function calls
_dl_get_ready_to_run:264: Position Independent Executable:
app_tpnt->loadaddr=0x80000000
_dl_malloc:921: mmapping more memory
_dl_get_ready_to_run:354: Lib Loader: (0xb7f95000) /lib/ld-uClibc.so.0
_dl_get_ready_to_run:292: calling mprotect on the application program
_dl_get_ready_to_run:621: Loading: (0xb7f05000) /usr/lib/librpm-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7db3000) /usr/lib/librpmdb-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7cff000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7cf7000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:621: Loading: (0xb7cdc000) /usr/lib/libelf.so.0
_dl_get_ready_to_run:621: Loading:
(0xb7ca7000) /usr/lib/libbeecrypt.so.6
_dl_get_ready_to_run:621: Loading: (0xb7c92000) /usr/lib/libneon.so.25
_dl_get_ready_to_run:621: Loading: (0xb7c71000) /usr/lib/libexpat.so.1
_dl_get_ready_to_run:621: Loading: (0xb7c60000) /lib/libm.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c5b000) /lib/libdl.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c45000) /usr/lib/libz.so.1
_dl_get_ready_to_run:621: Loading: (0xb7c2f000) /lib/libpthread.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7db3000) /usr/lib/librpmdb-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7cff000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7cf7000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7cff000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7cf7000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:621: Loading: (0xb7cdc000) /usr/lib/libelf.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c2f000) /lib/libpthread.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading:
(0xb7ca7000) /usr/lib/libbeecrypt.so.6
_dl_get_ready_to_run:621: Loading: (0xb7c92000) /usr/lib/libneon.so.25
_dl_get_ready_to_run:621: Loading: (0xb7c60000) /lib/libm.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c5b000) /lib/libdl.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c45000) /usr/lib/libz.so.1
_dl_get_ready_to_run:621: Loading: (0xb7c2f000) /lib/libpthread.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c2f000) /lib/libpthread.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c5b000) /lib/libdl.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c45000) /usr/lib/libz.so.1
_dl_get_ready_to_run:621: Loading: (0xb7c71000) /usr/lib/libexpat.so.1
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bd0000) /lib/libc.so.0
_dl_malloc:921: mmapping more memory
_dl_get_ready_to_run:748: Beginning relocation fixups
Segmentation fault
$ 



Here is an LDD

$ ldd bin/rpm
argc=2 argv=0xbf842ce4 envp=0xbf842cf0
ELF header=0xb7f08000
First Dynamic section entry=0xb7f13ef8
Scanning DYNAMIC section
Done scanning DYNAMIC section
About to do library loader relocations
Done relocating ldso; we can now use globals and make function calls!
_dl_get_ready_to_run:172: Cool, ldso survived making function calls
_dl_malloc:921: mmapping more memory
_dl_get_ready_to_run:354: Lib Loader: (0xb7f08000) /lib/ld-uClibc.so.0
_dl_get_ready_to_run:292: calling mprotect on the application program
_dl_get_ready_to_run:621: Loading: (0xb7ea5000) /lib/libc.so.0
_dl_get_ready_to_run:748: Beginning relocation fixups
transfering control to application @ 0x8048838
argc=1 argv=0xbfaad194 envp=0xbfaad19c
ELF header=0xb7f46000
First Dynamic section entry=0xb7f51ef8
Scanning DYNAMIC section
Done scanning DYNAMIC section
About to do library loader relocations
Done relocating ldso; we can now use globals and make function calls!
_dl_get_ready_to_run:172: Cool, ldso survived making function calls
_dl_get_ready_to_run:264: Position Independent Executable:
app_tpnt->loadaddr=0x80000000
_dl_malloc:921: mmapping more memory
_dl_get_ready_to_run:354: Lib Loader: (0xb7f46000) /lib/ld-uClibc.so.0
_dl_get_ready_to_run:292: calling mprotect on the application program
_dl_get_ready_to_run:621: Loading: (0xb7eb6000) /usr/lib/librpm-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7d64000) /usr/lib/librpmdb-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7cb0000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7ca8000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c8d000) /usr/lib/libelf.so.0
_dl_get_ready_to_run:621: Loading:
(0xb7c58000) /usr/lib/libbeecrypt.so.6
_dl_get_ready_to_run:621: Loading: (0xb7c43000) /usr/lib/libneon.so.25
_dl_get_ready_to_run:621: Loading: (0xb7c22000) /usr/lib/libexpat.so.1
_dl_get_ready_to_run:621: Loading: (0xb7c11000) /lib/libm.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c0c000) /lib/libdl.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bf6000) /usr/lib/libz.so.1
_dl_get_ready_to_run:621: Loading: (0xb7be0000) /lib/libpthread.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7d64000) /usr/lib/librpmdb-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7cb0000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7ca8000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7cb0000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:621: Loading: (0xb7ca8000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c8d000) /usr/lib/libelf.so.0
_dl_get_ready_to_run:621: Loading: (0xb7be0000) /lib/libpthread.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading:
(0xb7c58000) /usr/lib/libbeecrypt.so.6
_dl_get_ready_to_run:621: Loading: (0xb7c43000) /usr/lib/libneon.so.25
_dl_get_ready_to_run:621: Loading: (0xb7c11000) /lib/libm.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c0c000) /lib/libdl.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bf6000) /usr/lib/libz.so.1
_dl_get_ready_to_run:621: Loading: (0xb7be0000) /lib/libpthread.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7be0000) /lib/libpthread.so.0
_dl_get_ready_to_run:621: Loading: (0xb7c0c000) /lib/libdl.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7bf6000) /usr/lib/libz.so.1
_dl_get_ready_to_run:621: Loading: (0xb7c22000) /usr/lib/libexpat.so.1
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_get_ready_to_run:621: Loading: (0xb7b81000) /lib/libc.so.0
_dl_malloc:921: mmapping more memory
_dl_get_ready_to_run:748: Beginning relocation fixups
checking sub-depends for '/usr/lib/librpm-4.4.so'
checking sub-depends for '/usr/lib/librpmdb-4.4.so'
checking sub-depends for '/usr/lib/librpmio-4.4.so'
checking sub-depends for '/usr/lib/libpopt.so.0'
checking sub-depends for '/usr/lib/libelf.so.0'
checking sub-depends for '/usr/lib/libbeecrypt.so.6'
checking sub-depends for '/usr/lib/libneon.so.25'
checking sub-depends for '/usr/lib/libexpat.so.1'
checking sub-depends for '/lib/libm.so.0'
checking sub-depends for '/lib/libdl.so.0'
checking sub-depends for '/usr/lib/libz.so.1'
checking sub-depends for '/lib/libpthread.so.0'
checking sub-depends for '/lib/libc.so.0'
        librpm-4.4.so => /usr/lib/librpm-4.4.so (0x00000000)
        librpmdb-4.4.so => /usr/lib/librpmdb-4.4.so (0x00000000)
        librpmio-4.4.so => /usr/lib/librpmio-4.4.so (0x00000000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0x00000000)
        libelf.so.0 => /usr/lib/libelf.so.0 (0x00000000)
        libbeecrypt.so.6 => /usr/lib/libbeecrypt.so.6 (0x00000000)
        libneon.so.25 => /usr/lib/libneon.so.25 (0x00000000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00000000)
        libm.so.0 => /lib/libm.so.0 (0x00000000)
        libdl.so.0 => /lib/libdl.so.0 (0x00000000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00000000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00000000)
        libc.so.0 => /lib/libc.so.0 (0x00000000)
        /lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)
$


Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://busybox.net/cgi-bin/mailman/listinfo/uclibc

Reply via email to