Re: [PATCH] Partially revert patch that encloses asm-offset.hnumbers in brackets

From: Ingo Molnar
Date: Mon Oct 25 2010 - 10:43:25 EST



* Jan Beulich <JBeulich@xxxxxxxxxx> wrote:

> >>> On 25.10.10 at 16:02, David Howells <dhowells@xxxxxxxxxx> wrote:
> > Partially revert patch:
> >
> > commit 3234282f33b29d349bcada40204fc7c8fda7fe72
> > Author: Jan Beulich <JBeulich@xxxxxxxxxx>
> > Date: Tue Oct 19 14:52:26 2010 +0100
> > x86, asm: Fix CFI macro invocations to deal with shortcomings in gas
>
> No, that's not going to work for x86. You're removing the parentheses again, which
> were added intentionally.

But that's not a valid argument - MN10300 worked before and we broke it => that's a
regression.

> > This breaks MN10300 arch as this changes many instances of instructions similar
> > to the following:
> >
> > MOV number,D0
> >
> > which represents an immediate value load into:
> >
> > MOV (number),D0
> >
> > which the assembler then interprets as a load from absolute address.
> >
> > arch/mn10300/kernel/entry.S:64: Error: Invalid opcode/operands
> > arch/mn10300/kernel/entry.S:65: Error: junk at end of line, first
> > unrecognized character is `0'
> > arch/mn10300/kernel/entry.S:74: Error: Invalid opcode/operands
> > arch/mn10300/kernel/entry.S:74: Error: junk at end of line, first
> > unrecognized character is `1'
> > arch/mn10300/kernel/entry.S:75: Error: Invalid opcode/operands
> > arch/mn10300/kernel/entry.S:76: Error: junk at end of line, first
> > unrecognized character is `0'
>
> Isn't this a gas bug then? Anywhere you use a plain number you should also be
> permitted to use an expression.

This argument is not valid either - we added this change to fix a GAS bug to begin
with ...

> > "/^->/{s:->#\(.*\):/* \1 */:; \
> > - s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 (\2) /* \3 */:; \
> > + s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
>
> This basically gets us back to the way things were before, thus
> reverting to the state we had before the patch that changed this.

Correct - we should apply David's partial revert and then we'll need to solve our
x86 quirk differently: for example by using a x86 and broken-GAS specific quirk.

Thanks,

Ingo
--
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/