Re: linux-next: Tree for March 8 (BROKEN: arch/x86/kernel/entry_32.S?Debian's binutils/as?)

From: H.J. Lu
Date: Wed Mar 09 2011 - 14:05:02 EST


On Wed, Mar 9, 2011 at 8:02 AM, Ingo Molnar <mingo@xxxxxxx> wrote:
>
>> > This binutils change is breaking numerous upstream kernel builds (and is making
>> > bisection with new binutils impossible) for no particular good reason: binutils
>> > was capable to figure out the symbol name before this change.
>>
>> That is totally false. The old assembler just generates incorrect size and It
>> couldn't read the programmer's mind to find the correct symbol name.
>
> Still it didnt make the kernel not build and it did not make the kernel not boot. It
> at most confused some ELF symbol table - which the kernel does not need.
>
> So all i'm trying to point out to you is that you appear to be seeing the world in a
> very binary way: 'broken' versus 'correct' and that it can be rather harmful if you
> project that binary view on the real world that in reality is not binary but is
> shades of grey.
>
> You are turning a benign ELF symbol table detail (that does not affect the kernel's
> ability to boot/work) into a hard build breakage and bisection barrier, covering
> hundreds of commits.

The original assembler change didn't mention the bogus symbol name
in error message, which is very unhelpful. I changed the assembler to
print out the bogus symbol name in error message. It should be very
trivial to identify the bogus kernel assembly codes.

> I'm not denying that it's buggy code - I'm just asking you to *PLEASE* at minimum
> acknowledge that surprise flag days that turn a before-benign condition into a fatal
> build failure suck to everyone else outside your own little universe.
>

There is no way for assembler to know if a bug in input source code is
"benign" or
not. For assembler, a bug in input is a bug in input. Assembly programmers
should appreciate this assembler change for helping him/her catch such bugs
in his/her codes.


--
H.J.
--
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/