Re: binutils woes

From: Russell King
Date: Sun Jul 11 2004 - 06:33:16 EST


On Thu, Jul 01, 2004 at 05:52:31PM +0100, Russell King wrote:
> I think the only way we can ensure kernel correctness is to add a
> subsequent stage to kbuild such that whenever we generate a final
> program, we grep the 'nm' output for undefined symbols.
...

BTW, binutils 2.15 on ARM has other issues, which I've reported to
Nick Clifton/binutils-bug. The assembler seems to produce extra
symbolic information in the form of symbols starting with '$', eg:

c0067860 T __fput
c0067860 t $a
c0067954 t $d
c0067958 T fget
c0067958 t $a

Not only do these symbols interfere with ld's error reporting, but
they also interfere with kallsyms - the backtrace information from
such a kernel is not very useful when it reports function names of
'$a':

drivers/built-in.o(.text+0x6042c): In function `$a':
: relocation truncated to fit: R_ARM_PC24 .exit.text

Obviously not useful to anyone.

This seems to only affect binutils 2.15, so I think we should hang
fire on any work-arounds until the binutils folk have commented.

--
Russell King
... who dearly wishes that the kernel build was still compatible
with the good old stable binutils 2.11 versions.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/