22.4.2010 1:35, Andreas Schwab kirjoitti:
Paolo Bonzini<bonz...@gnu.org> writes:
I'm not sure if "nm -g" would work under Linux, since
$ nm -g /usr/lib64/libsqlite3.so
nm: /usr/lib64/libsqlite3.so: no symbols
$ objdump -T /usr/lib64/libsqlite3.so|head -5
The equivalent of "objdump -T" is "nm -D".
Whatever the 'objdump -T' now tries to do during the
'gcc/configure', that it does with the wrong 'objdump',
that for the $target, not that for the $host !
Maybe there was some usual one-eyeness in implementation,
in a native GCC $host == $target, and it never was thought
that someone could make a cross GCC ?
This "feature" appeared when someone tried to build
gcc-4.5.0 for 'arm-elf' on a x86_64 machine, seemingly
the objdump made for arm-elf target and x86_64-linux-gnu
host doesn't grok 64-bit ELF binaries... Meanwhile on a
32-bit i686-linux-gnu host there is no problem :
[r...@dell gcc]# /usr/local/arm-elf/bin/objdump -T xgcc
xgcc: file format elf32-little
DYNAMIC SYMBOL TABLE:
00000000 DF *UND* 00000042 GLIBC_2.0 wait4
00000000 DF *UND* 00000059 GLIBC_2.0 ferror
00000000 DF *UND* 00000167 GLIBC_2.0 strchr
00000000 DF *UND* 000001b2 GLIBC_2.1 fdopen
08076300 g DO .bss 00000004 GLIBC_2.0 __ctype_tolower
00000000 DF *UND* 00000035 GLIBC_2.1 mempcpy