[PATCH RFC] ARM: use -marm unconditionally for THUMB2_KERNEL=n builds

Dave Martin 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
> type:
> 	$ 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,)



That should remove any risk of toolchain incompatibility -- but I've
not tested it...



More information about the linux-arm-kernel mailing list