ARM: always enable AEABI for ARMv6+
authorRussell King <rmk+kernel@armlinux.org.uk>
Wed, 14 Jun 2017 09:25:18 +0000 (10:25 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Wed, 2 Aug 2017 13:15:04 +0000 (14:15 +0100)
Always enable AEABI for ARMv6+, as these use the double-word exclusives
which must be passed an even register to avoid errors such as:

/tmp/ccG2rCwe.s:905: Error: even register required -- `ldrexd r5,r6,[r7]'
/tmp/ccG2rCwe.s:909: Error: even register required -- `strexd sl,r3,r4,[r7]'

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/Kconfig

index a208bfe..1cd8541 100644 (file)
@@ -1531,7 +1531,6 @@ config THUMB2_KERNEL
        bool "Compile the kernel in Thumb-2 mode" if !CPU_THUMBONLY
        depends on (CPU_V7 || CPU_V7M) && !CPU_V6 && !CPU_V6K
        default y if CPU_THUMBONLY
-       select AEABI
        select ARM_ASM_UNIFIED
        select ARM_UNWIND
        help
@@ -1594,7 +1593,8 @@ config ARM_PATCH_IDIV
          code to do integer division.
 
 config AEABI
-       bool "Use the ARM EABI to compile the kernel"
+       bool "Use the ARM EABI to compile the kernel" if !CPU_V7 && !CPU_V7M && !CPU_V6 && !CPU_V6K
+       default CPU_V7 || CPU_V7M || CPU_V6 || CPU_V6K
        help
          This option allows for the kernel to be compiled using the latest
          ARM ABI (aka EABI).  This is only useful if you are using a user