[PATCH RFC] ARM: use -marm unconditionally for THUMB2_KERNEL=n builds
Dave.Martin at arm.com
Thu May 28 03:48:50 PDT 2015
On Wed, May 27, 2015 at 11:42:07AM +0200, Uwe Kleine-König wrote:
> When using a toolchain that defaults to v7-m code generation using
> cc-option fails to add -marm because it conflicts with the default cpu
> $ echo > test.c
> $ arm-cortexm3-uclinuxeabi-gcc -marm -c test.c
> test.c:1:0: error: target CPU does not support ARM mode
> resulting in errors like
> Error: selected processor does not support Thumb mode `mrs r1,cpsr'
> Dropping the use of cc-option and using -marm unconditionally works fine
> for this compiler because it's only ever used together with $(arch-y)
> (e.g. -march=armv4).
cc-option passes the compiler flags already selected via KBUILD_CFLAGS,
so hoisting some of the append to KBUILD_CFLAGS earlier would probably
KBUILD_CFLAGS += $(CFLAGS_ABI) $(arch-y) $(tune-y)
CFLAGS_ISA := $(call cc-option,-marm,)
KBUILD_CFLAGS += $(CFLAGS_ISA)
That should remove any risk of toolchain incompatibility -- but I've
not tested it...
More information about the linux-arm-kernel