Re: binutils woes

From: Russell King
Date: Thu Jul 01 2004 - 13:09:05 EST


On Thu, Jul 01, 2004 at 10:47:31AM -0700, Tom Rini wrote:
> On Thu, Jul 01, 2004 at 05:52:31PM +0100, Russell King wrote:
>
> > Hi guys,
> >
> > On ARM, we appear to have somewhat of a problem with binutils. At
> > least the following binutils suffer from a problem whereby it is
> > possible to create programs which contain undefined symbols:
> [snip]
> > 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.
> >
> > Comments?
>
> Is there a version of binutils that really does get things right? If
> so, can't you Just Say No to older versions and force people to upgrade
> (with a simple testcase done upfront) ?

I've just tested:

GNU assembler 2.15.90 20040409
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
This assembler was configured for a target of `arm-linux'.

and it also is aflicted with the same problem. I guess the answer
to your question is that currently there are no recent versions which
work correctly.

Looking at the timescale of 2.13 through to present day, we're talking
potentially of 2 years of binutils versions with this problem, and even
if it was fixed tomorrow, I don't think it's acceptable to say "use the
latest binutils version."

Also, I have just received another report that somewhere in the kernel
is an undefined reference to another symbol - I_BIT, but where we have
no idea at present...

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core
-
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/