Re: [PATCH v4 1/2] ARM: use arch_extension directive instead of arch argument
From: Olof Johansson
Date: Wed Jun 19 2019 - 13:40:14 EST
On Tue, May 28, 2019 at 12:40:50AM +0200, Stefan Agner wrote:
> The LLVM Target parser currently does not allow to specify the security
> extension as part of -march (see also LLVM Bug 40186 [0]). When trying
> to use Clang with LLVM's integrated assembler, this leads to build
> errors such as this:
> clang-8: error: the clang compiler does not support '-Wa,-march=armv7-a+sec'
>
> Use ".arch_extension sec" to enable the security extension in a more
> portable fasion. Also make sure to use ".arch armv7-a" in case a v6/v7
> multi-platform kernel is being built.
>
> Note that this is technically not exactly the same as the old code
> checked for availabilty of the security extension by calling as-instr.
> However, there are already other sites which use ".arch_extension sec"
> unconditionally, hence de-facto we need an assembler capable of
> ".arch_extension sec" already today (arch/arm/mm/proc-v7.S). The
> arch extension "sec" is available since binutils 2.21 according to
> its documentation [1].
>
> [0] https://bugs.llvm.org/show_bug.cgi?id=40186
> [1] https://sourceware.org/binutils/docs-2.21/as/ARM-Options.html
>
> Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
> Acked-by: Mans Rullgard <mans@xxxxxxxxx>
> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
> Acked-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> ---
> Changes since v1:
> - Explicitly specify assembler architecture as armv7-a to avoid
> build issues when bulding v6/v7 multi arch kernel.
>
> Changes since v2:
> - Add armv7-a also in mach-tango
> - Move .arch armv7-a outside of ifdef'ed area in sleep44xx.S
> to make the kernel compile also without CONFIG_SMP/PM.
>
> Changes since v3:
> - Rebase on top of v5.2-rc2
Thanks, applied to arm/soc.
-Olof