Still trying to get g++ and helloworld.c to work
Jim Pick <jim@jimpick.com> writes:
> I'll recompile egcs, and tell you all if it worked.
Well, at least I can get my "helloworld.c" to compile with g++. So I
think I fixed the "exception virtual table" problem.
$ g++ helloworld.c -lpthread
(no errors)
But...
$ ./a.out
BUG IN DYNAMIC LINKER ld.so: ../sysdeps/arm/dl-machine.h: 450: elf_machine_rel: Assertion `! "unexpected dynamic reloc type"' failed!
What the heck is that?
$ LD_DEBUG="bindings" ./a.out
.
.
(lots of debug output)
.
.
17844: binding file /lib/libm.so.6 to /lib/libm.so.6: symbol `__exp_deltatable'
17844: binding file /lib/libm.so.6 to /lib/libc.so.6: symbol `stderr'
17844: binding file /lib/libm.so.6 to /lib/libm.so.6: symbol `signgam'
17844: binding file /usr/lib/libstdc++-libc6.1-1.so.2 to /lib/libpthread.so.0: symbol `_IO_flockfile'
BUG IN DYNAMIC LINKER ld.so: ../sysdeps/arm/dl-machine.h: 450: elf_machine_rel: Assertion `! "unexpected dynamic reloc type"' failed!
$ objdump --dynamic-reloc /lib/libpthread.so.0 | grep flock
(nothing)
$ objdump --dynamic-syms /lib/libpthread.so.0 | grep flock
000081ec g DF .text 00000018 __flockfile
000081ec g DF .text 00000018 _IO_flockfile
000081ec w DF .text 00000018 flockfile
Actually, that symbol appears to be the first symbol out of
/usr/lib/libstdc++-libc6.1-1.so.2 that it attempted to bind.
At this point, I'm a bit confused.
$ objdump --dynamic-reloc --demangle /usr/lib/libstdc++-libc6.1-1.so.2 | grep flock
00018dc8 R_ARM_PC24 _IO_flockfile
00018f6c R_ARM_PC24 _IO_flockfile
0001cc54 R_ARM_PC24 _IO_flockfile
.
.
.
and so on
I'm guessing that we don't want R_ARM_PC24, right?
Any idea on how I might have ended up with those?
Cheers,
- Jim
Reply to: