]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 8723/2: always assume the "unified" syntax for assembly code
authorNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 29 Nov 2017 06:52:52 +0000 (07:52 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Sun, 17 Dec 2017 22:14:21 +0000 (22:14 +0000)
commita5ff3fc937fcfee157750937e8b096aad2b803f3
tree9e07e50f5b8992512603774358e0979906237a59
parentca19fd3f8f6d2f4f0698d2d62f6066521fc52099
ARM: 8723/2: always assume the "unified" syntax for assembly code

The GNU assembler has implemented the "unified syntax" parsing since
2005. This "unified" syntax is required when the kernel is built in
Thumb2 mode. However the "unified" syntax is a mixed bag of features,
including not requiring a `#' prefix with immediate operands. This leads
to situations where some code builds just fine in Thumb2 mode and fails
to build in ARM mode if that prefix is missing. This behavior
discrepancy makes build tests less valuable, forcing both ARM and Thumb2
builds for proper coverage.

Let's "fix" this issue by always using the "unified" syntax for both ARM
and Thumb2 mode. Given that the documented minimum binutils version that
properly builds the kernel is version 2.20 released in 2010, we can
assume that any toolchain capable of building the latest kernel is also
"unified syntax" capable.

Whith this, a bunch of macros used to mask some differences between both
syntaxes can be removed, with the side effect of making LTO easier.

Suggested-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/include/asm/unified.h