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

From: Jan Beulich
Date: Mon Oct 25 2010 - 10:34:53 EST


>>> 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.

> 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.

> cc: Jan Beulich <jbeulich@xxxxxxxxxx>
> cc: Alexander van Heukelum <heukelum@xxxxxxxxxxx>
> cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
> cc: Ingo Molnar <mingo@xxxxxxx>
> Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
> ---
>
> Kbuild | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>
> diff --git a/Kbuild b/Kbuild
> index 431f7ca..b00037a 100644
> --- a/Kbuild
> +++ b/Kbuild
> @@ -53,7 +53,7 @@ targets += arch/$(SRCARCH)/kernel/asm-offsets.s
> # Default sed regexp - multiline due to syntax constraints
> define sed-y
> "/^->/{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.

> s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
> s:->::; p;}"
> endef

Jan

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