Problem with objdump -x on sparc32
Andreas Jaeger
aj@suse.de
Wed Aug 22 04:47:00 GMT 2001
HJ,
with binutils 2.11.90.0.27 on sparc32 I get the following running
objdump -x:
[...]
SYMBOL TABLE:
0000000000000000 l d .text 0000000000000000
0000000000000000 l d *ABS* 0000000000000000
[...]
RELOCATION RECORDS FOR [.text]:
OFFSET TYPE VALUE
00000018 R_SPARC_WDISP22 sun4c_fault
00000024 R_SPARC_WDISP22 bad_instruction
[...]
00000280 R_SPARC_32 .text+0x0001788c
00000284 R_SPARC_32 .text+0x000178b0
This means a symbol table output with 64 bit symbols but a relocation
table with 32 bits. This seems to have been caused by a recent patch
by you.
This breaks compilation of the sparc32 kernel. The btfixupprep.c
program (part of the Linux kernel in arch/sparc/boot/) expects that
both symbol table and offset have the same size. I can hack
btfixupprep.c but looking at the output I do wonder why we're not
consistent, it looks really broken now to me.
IMO we should use the same width for printing of both symbol table and
relocation records.
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
More information about the Binutils
mailing list