uclibc segfault in ldso
Nigel Kukard
nkukard at lbsd.net
Thu Mar 27 10:56:42 PDT 2008
> >
> > > hmm, should not func address change when loadaddr change?
> >
> > Not sure if its a func address or a string, i just outputted %s ;)
>
> It is a address, print tpnt->loadaddr, tpnt->dynamic_info[DT_INIT] and dl_elf_func.
> dl_elf_func should be tpnt->loadaddr + tpnt->dynamic_info[DT_INIT]
>
> >
> >
> > -N
Ok, here is a vanilla uClibc from SVN.... its x86 architecture.
i386/pentium-mmx .
$ rpm
argc=1 argv=0xbfbe8094 envp=0xbfbe809c
ELF header=0xb7fbf000
First Dynamic section entry=0xb7fcaef8
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:926: mmapping more memory
_dl_get_ready_to_run:354: Lib Loader: (0xb7fbf000) /lib/ld-uClibc.so.0
_dl_get_ready_to_run:292: calling mprotect on the application program
_dl_get_ready_to_run:599: file='librpm-4.4.so'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7f2f000) /usr/lib/librpm-4.4.so
_dl_get_ready_to_run:599: file='librpmdb-4.4.so'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7ddd000) /usr/lib/librpmdb-4.4.so
_dl_get_ready_to_run:599: file='librpmio-4.4.so'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7d29000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:599: file='libpopt.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7d21000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:599: file='libelf.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7d06000) /usr/lib/libelf.so.0
_dl_get_ready_to_run:599: file='libbeecrypt.so.6'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading:
(0xb7cd1000) /usr/lib/libbeecrypt.so.6
_dl_get_ready_to_run:599: file='libneon.so.25'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7cbc000) /usr/lib/libneon.so.25
_dl_get_ready_to_run:599: file='libexpat.so.1'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c9b000) /usr/lib/libexpat.so.1
_dl_get_ready_to_run:599: file='libm.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c8a000) /lib/libm.so.0
_dl_get_ready_to_run:599: file='libdl.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c85000) /lib/libdl.so.0
_dl_get_ready_to_run:599: file='libz.so.1'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c6f000) /usr/lib/libz.so.1
_dl_get_ready_to_run:599: file='libpthread.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c59000) /lib/libpthread.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='librpmdb-4.4.so'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7ddd000) /usr/lib/librpmdb-4.4.so
_dl_get_ready_to_run:599: file='librpmio-4.4.so'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7d29000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:599: file='libpopt.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7d21000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='librpmio-4.4.so'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7d29000) /usr/lib/librpmio-4.4.so
_dl_get_ready_to_run:599: file='libpopt.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7d21000) /usr/lib/libpopt.so.0
_dl_get_ready_to_run:599: file='libelf.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7d06000) /usr/lib/libelf.so.0
_dl_get_ready_to_run:599: file='libpthread.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c59000) /lib/libpthread.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libbeecrypt.so.6'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading:
(0xb7cd1000) /usr/lib/libbeecrypt.so.6
_dl_get_ready_to_run:599: file='libneon.so.25'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7cbc000) /usr/lib/libneon.so.25
_dl_get_ready_to_run:599: file='libm.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c8a000) /lib/libm.so.0
_dl_get_ready_to_run:599: file='libdl.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c85000) /lib/libdl.so.0
_dl_get_ready_to_run:599: file='libz.so.1'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c6f000) /usr/lib/libz.so.1
_dl_get_ready_to_run:599: file='libpthread.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c59000) /lib/libpthread.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libpthread.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c59000) /lib/libpthread.so.0
_dl_get_ready_to_run:599: file='libdl.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c85000) /lib/libdl.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libz.so.1'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c6f000) /usr/lib/libz.so.1
_dl_get_ready_to_run:599: file='libexpat.so.1'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7c9b000) /usr/lib/libexpat.so.1
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_get_ready_to_run:599: file='libc.so.0'; needed by 'rpm'
_dl_get_ready_to_run:621: Loading: (0xb7bfa000) /lib/libc.so.0
_dl_malloc:926: mmapping more memory
_dl_get_ready_to_run:748: Beginning relocation fixups
_dl_get_ready_to_run:831: calling INIT: /lib/libc.so.0, tpnt->loadaddr =
0xb7bfa000, tpnt->dynamic_info[DT_INIT] = 0x54c7f, dl_elf_func =
0xb7c4ec7f
Segmentation fault
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://busybox.net/lists/uclibc/attachments/20080327/2d466c7e/attachment.pgp
More information about the uClibc
mailing list