[uClibc] ld-uClibc-0.9.26.so segfaults in arm/dl-startup.h PERFORM_BOOTSTRAP_RELOC()
David Poole
daveml at mbuf.com
Thu May 6 23:23:05 UTC 2004
> SEND_STDERR("R_ARM_PC24 9\n"); // davep 5-may-04
> SEND_ADDRESS_STDERR(reloc_addr,1);
> SEND_STDERR("R_ARM_PC24 10\n"); // davep 5-may-04
> SEND_ADDRESS_STDERR(symbol_addr,1);
> *reloc_addr = symbol_addr; <---------assuming dies
> here (next debugging message not seen)
> SEND_STDERR("R_ARM_PC24 break\n"); // davep 5-may-04
> SEND_ADDRESS_STDERR(reloc_addr,1);
Could someone correct me if any of this is wrong.
*reloc_addr is 0xebfffffe
reloc_addr is 0x40000e88
symbol_addr is 0xeb00006c
arm-linux-gdb ld-uClibc-0.9.26.so
...
gdb> info file
[snip]
0x00000e70 - 0x00007404 is .text
[snip]
...
gdb> disassemble 0xe88
0x00000e88 <_dl_linux_resolve+24>: bl 0xe88
<_dl_linux_resolve+24>
Is PERFORM_BOOTSTRAP_RELOC() trying to poke 0x0xeb00006c into
dl_linux_resolve to modify the branch instruction?
Could this be segfaulting because the text segment isn't writable?
--
David Poole <dpoole at mobl.com>
Mobility Electronics, Idaho http://www.mobl.com
960 Broadway Avenue, Suite 300
Boise, ID 83706
208-395-1300 x241
More information about the uClibc
mailing list