[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <28460.1492509473@warthog.procyon.org.uk>
Date: Tue, 18 Apr 2017 10:57:53 +0100
From: David Howells <dhowells@...hat.com>
To: Masahiro Yamada <yamada.masahiro@...ionext.com>
Cc: dhowells@...hat.com, linux-kbuild@...r.kernel.org,
Matthias Kaehlcke <mka@...omium.org>,
Michael Davidson <md@...gle.com>,
Michal Marek <mmarek@...e.com>,
Jan Beulich <JBeulich@...ell.com>,
Alexander van Heukelum <heukelum@...tmail.fm>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] kbuild: consolidate redundant sed script ASM offset generation
Masahiro Yamada <yamada.masahiro@...ionext.com> wrote:
> This part ended up in redundant code after touched by multiple
> people.
>
> [1] Commit 3234282f33b2 ("x86, asm: Fix CFI macro invocations to
> deal with shortcomings in gas") added parentheses for defined
> expressions to support old gas for x86.
>
> [2] Commit a22dcdb0032c ("x86, asm: Fix ancient-GAS workaround")
> split the pattern into two to avoid parentheses for non-numeric
> expressions.
>
> [3] Commit 95a2f6f72d37 ("Partially revert patch that encloses
> asm-offset.h numbers in brackets") removed parentheses from numeric
> expressions as well because parentheses in MN10300 assembly have a
> special meaning (pointer access).
>
> Apparently, there is a conflict between [1] and [3]. After all,
> [3] took precedence, and a long time has passed since then.
There's a conflict between [1] and various assembly code formats. Some
formats define, say,
mov 4,r1
to move the number 4 into register r1, and:
mov (4),r1
to move the contents of the memory at address 4 into r1. Therefore, you
cannot simply wrap numeric operands in brackets. What might work is adding a
'+' on the front, e.g.:
mov +(4),r1
David
Powered by blists - more mailing lists