Message ID | 20200410091032.64614-1-xypron.glpk@gmx.de |
---|---|
State | Accepted |
Commit | 0053d26bcc09fc4473572d51a9c754a409ffd562 |
Headers | show |
Series | [1/1] Makefile: ARMv7-M has no CPSR register | expand |
On Fri, Apr 10, 2020 at 11:10:32AM +0200, Heinrich Schuchardt wrote: > Compiling on ARMv7-M fails when trying to address the CPSR register which > is not available on this architecture. > > Atomic functions refer to the CPSR register if compiled with > arch/arm/include/asm/proc-armv/system.h. On ARMv7-M we should hence > use arch/arm/thumb1/include/asm/proc-armv/system.h instead. > > Cf. https://stackoverflow.com/questions/61097841/error-selected-processor-does-not-support-requested-special-purpose-register > > Reported-by: Sicris Rey Embay <sicris.embay at gmail.com> > Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de> Applied to u-boot/master, thanks!
diff --git a/Makefile b/Makefile index 8de5ff6d94..4690eb5b87 100644 --- a/Makefile +++ b/Makefile @@ -701,13 +701,15 @@ KBUILD_CFLAGS += $(KCFLAGS) # Use UBOOTINCLUDE when you must reference the include/ directory. # Needed to be compatible with the O= option UBOOTINCLUDE := \ - -Iinclude \ - $(if $(KBUILD_SRC), -I$(srctree)/include) \ - $(if $(CONFIG_$(SPL_)SYS_THUMB_BUILD), \ - $(if $(CONFIG_HAS_THUMB2),, \ - -I$(srctree)/arch/$(ARCH)/thumb1/include),) \ - -I$(srctree)/arch/$(ARCH)/include \ - -include $(srctree)/include/linux/kconfig.h + -Iinclude \ + $(if $(KBUILD_SRC), -I$(srctree)/include) \ + $(if $(CONFIG_$(SPL_)SYS_THUMB_BUILD), \ + $(if $(CONFIG_HAS_THUMB2), \ + $(if $(CONFIG_CPU_V7M), \ + -I$(srctree)/arch/arm/thumb1/include), \ + -I$(srctree)/arch/arm/thumb1/include)) \ + -I$(srctree)/arch/$(ARCH)/include \ + -include $(srctree)/include/linux/kconfig.h NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) CHECKFLAGS += $(NOSTDINC_FLAGS)
Compiling on ARMv7-M fails when trying to address the CPSR register which is not available on this architecture. Atomic functions refer to the CPSR register if compiled with arch/arm/include/asm/proc-armv/system.h. On ARMv7-M we should hence use arch/arm/thumb1/include/asm/proc-armv/system.h instead. Cf. https://stackoverflow.com/questions/61097841/error-selected-processor-does-not-support-requested-special-purpose-register Reported-by: Sicris Rey Embay <sicris.embay at gmail.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de> --- Makefile | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) -- 2.25.1