* Re: [PATCH] ARM: omap1: fix building with clang IAS
[not found] <20210308153430.2530616-1-arnd@kernel.org>
@ 2021-03-09 9:57 ` Tony Lindgren
0 siblings, 0 replies; only message in thread
From: Tony Lindgren @ 2021-03-09 9:57 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Aaro Koskinen, soc, Arnd Bergmann, Nathan Chancellor,
Nick Desaulniers, linux-omap, linux-arm-kernel, linux-kernel,
clang-built-linux
* Arnd Bergmann <arnd@kernel.org> [210308 15:35]:
> From: Arnd Bergmann <arnd@arndb.de>
>
> The clang integrated assembler fails to build one file with
> a complex asm instruction:
>
> arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: error: invalid instruction, any one of the following would fix this:
> mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit
> ^
> arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: note: instruction requires: armv6t2
> mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit
> ^
> arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: note: instruction requires: thumb2
> mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit
> ^
>
> The problem is that 'NR_IRQS_LEGACY' is not defined here. Apparently
> gas does not care because we first add and then subtract this number,
> leading to the immediate value to be the same regardless of the
> specific definition of NR_IRQS_LEGACY.
>
> Neither the way that 'gas' just silently builds this file, nor the
> way that clang IAS makes nonsensical suggestions for how to fix it
> is great. Fortunately there is an easy fix, which is to #include
> the header that contains the definition.
Acked-by: Tony Lindgren <tony@atomide.com>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-03-09 9:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20210308153430.2530616-1-arnd@kernel.org>
2021-03-09 9:57 ` [PATCH] ARM: omap1: fix building with clang IAS Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox