diff mbox series

[1/1] Makefile: ARMv7-M has no CPSR register

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

Commit Message

Heinrich Schuchardt April 10, 2020, 9:10 a.m. UTC
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

Comments

Tom Rini April 24, 2020, 5:11 p.m. UTC | #1
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 mbox series

Patch

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)