From 68015a6e9d3eefb2969bcb1d0e504084711ec065 Mon Sep 17 00:00:00 2001 From: Stefan Kalkowski Date: Mon, 30 Apr 2018 14:57:40 +0200 Subject: [PATCH] base: remove cortex* compiler flags (fix #2787) --- .../base-hw/lib/mk/spec/arndale/bootstrap-hw.mk | 6 ++++++ repos/base-hw/lib/mk/spec/arndale/core-hw.mk | 6 ++++++ repos/base-hw/lib/mk/spec/panda/bootstrap-hw.mk | 2 ++ repos/base-hw/lib/mk/spec/panda/core-hw.mk | 2 ++ repos/base/mk/spec/arm_v6.mk | 6 ++---- repos/base/mk/spec/arm_v7.mk | 3 +-- repos/base/mk/spec/arm_v7a.mk | 7 ++----- repos/base/mk/spec/cortex_a15.mk | 17 ----------------- repos/base/mk/spec/cortex_a8.mk | 7 ------- repos/base/mk/spec/cortex_a9.mk | 8 -------- repos/base/mk/spec/exynos5.mk | 4 ++-- repos/base/mk/spec/imx53.mk | 4 ++-- repos/base/mk/spec/imx6.mk | 5 ++--- repos/base/mk/spec/odroid_x2.mk | 4 ++-- repos/base/mk/spec/panda.mk | 3 +-- repos/base/mk/spec/pbxa9.mk | 4 ++-- repos/base/mk/spec/zynq.mk | 4 ++-- repos/os/src/server/vmm/test/kernel/target.mk | 5 +++-- 18 files changed, 37 insertions(+), 60 deletions(-) delete mode 100644 repos/base/mk/spec/cortex_a15.mk delete mode 100644 repos/base/mk/spec/cortex_a8.mk delete mode 100644 repos/base/mk/spec/cortex_a9.mk diff --git a/repos/base-hw/lib/mk/spec/arndale/bootstrap-hw.mk b/repos/base-hw/lib/mk/spec/arndale/bootstrap-hw.mk index b39b09cc7..cab6b296b 100644 --- a/repos/base-hw/lib/mk/spec/arndale/bootstrap-hw.mk +++ b/repos/base-hw/lib/mk/spec/arndale/bootstrap-hw.mk @@ -9,4 +9,10 @@ SRC_S += bootstrap/spec/arm/crt0.s NR_OF_CPUS = 2 +# +# we need more specific compiler hints for some 'special' assembly code +# override -march=armv7-a because it conflicts with -mcpu=cortex-a15 +# +CC_MARCH = -mcpu=cortex-a15 + include $(REP_DIR)/lib/mk/bootstrap-hw.inc diff --git a/repos/base-hw/lib/mk/spec/arndale/core-hw.mk b/repos/base-hw/lib/mk/spec/arndale/core-hw.mk index f1b3b2cdb..6d143f9ca 100644 --- a/repos/base-hw/lib/mk/spec/arndale/core-hw.mk +++ b/repos/base-hw/lib/mk/spec/arndale/core-hw.mk @@ -21,5 +21,11 @@ SRC_S += spec/arm_v7/virtualization/exception_vector.s NR_OF_CPUS = 2 +# +# we need more specific compiler hints for some 'special' assembly code +# override -march=armv7-a because it conflicts with -mcpu=cortex-a15 +# +CC_MARCH = -mcpu=cortex-a15 + # include less specific configuration include $(REP_DIR)/lib/mk/spec/exynos5/core-hw.inc diff --git a/repos/base-hw/lib/mk/spec/panda/bootstrap-hw.mk b/repos/base-hw/lib/mk/spec/panda/bootstrap-hw.mk index b4fafa440..ad70c610d 100644 --- a/repos/base-hw/lib/mk/spec/panda/bootstrap-hw.mk +++ b/repos/base-hw/lib/mk/spec/panda/bootstrap-hw.mk @@ -9,4 +9,6 @@ SRC_CC += hw/spec/arm/arm_v7_cpu.cc SRC_CC += hw/spec/32bit/memory_map.cc SRC_S += bootstrap/spec/arm/crt0.s +CC_MARCH = -mcpu=cortex-a9 + include $(BASE_DIR)/../base-hw/lib/mk/bootstrap-hw.inc diff --git a/repos/base-hw/lib/mk/spec/panda/core-hw.mk b/repos/base-hw/lib/mk/spec/panda/core-hw.mk index 783e035cd..0996879a2 100644 --- a/repos/base-hw/lib/mk/spec/panda/core-hw.mk +++ b/repos/base-hw/lib/mk/spec/panda/core-hw.mk @@ -13,5 +13,7 @@ SRC_CC += platform_services.cc NR_OF_CPUS += 2 +CC_MARCH = -mcpu=cortex-a9 + # include less specific configuration include $(REP_DIR)/lib/mk/spec/cortex_a9/core-hw.inc diff --git a/repos/base/mk/spec/arm_v6.mk b/repos/base/mk/spec/arm_v6.mk index a749b57f9..2c6bcd9c8 100644 --- a/repos/base/mk/spec/arm_v6.mk +++ b/repos/base/mk/spec/arm_v6.mk @@ -1,8 +1,6 @@ -SPECS += arm - -CC_MARCH += -march=armv6k - +SPECS += arm REP_INC_DIR += include/spec/arm_v6 +CC_MARCH ?= -march=armv6k include $(BASE_DIR)/mk/spec/arm.mk diff --git a/repos/base/mk/spec/arm_v7.mk b/repos/base/mk/spec/arm_v7.mk index 315f0e4a0..10dddaaaa 100644 --- a/repos/base/mk/spec/arm_v7.mk +++ b/repos/base/mk/spec/arm_v7.mk @@ -1,5 +1,4 @@ -SPECS += arm - +SPECS += arm REP_INC_DIR += include/spec/arm_v7 include $(BASE_DIR)/mk/spec/arm.mk diff --git a/repos/base/mk/spec/arm_v7a.mk b/repos/base/mk/spec/arm_v7a.mk index f113d3966..f7c2496fd 100644 --- a/repos/base/mk/spec/arm_v7a.mk +++ b/repos/base/mk/spec/arm_v7a.mk @@ -1,8 +1,5 @@ -SPECS += arm_v7 - -REP_INC_DIR += include/spec/arm_v7a - -CC_MARCH += -march=armv7-a +SPECS += arm_v7 +CC_MARCH ?= -march=armv7-a include $(BASE_DIR)/mk/spec/arm_v7.mk diff --git a/repos/base/mk/spec/cortex_a15.mk b/repos/base/mk/spec/cortex_a15.mk deleted file mode 100644 index 9fa217b1b..000000000 --- a/repos/base/mk/spec/cortex_a15.mk +++ /dev/null @@ -1,17 +0,0 @@ -SPECS += arm_v7a - -REP_INC_DIR += include/spec/cortex_a15 - -include $(BASE_DIR)/mk/spec/arm_v7a.mk - -# configure compiler -# -# GCC versions up to 4.7.3 complain about conflicting command-line switches: -# -# warning: switch -mcpu=cortex-a15 conflicts with -march=armv7-a switch [enabled by default] -# -# Therefore, we override the 'CC_MARCH' of the included 'arm_v7a.mk'. -# -# Reference: https://github.com/genodelabs/genode/issues/810 -# -CC_MARCH := -march=armv7ve -mcpu=cortex-a15 diff --git a/repos/base/mk/spec/cortex_a8.mk b/repos/base/mk/spec/cortex_a8.mk deleted file mode 100644 index cc42f950a..000000000 --- a/repos/base/mk/spec/cortex_a8.mk +++ /dev/null @@ -1,7 +0,0 @@ -SPECS += arm_v7a - -REP_INC_DIR += include/spec/cortex_a8 - -CC_MARCH += -march=armv7-a -mcpu=cortex-a8 - -include $(BASE_DIR)/mk/spec/arm_v7a.mk diff --git a/repos/base/mk/spec/cortex_a9.mk b/repos/base/mk/spec/cortex_a9.mk deleted file mode 100644 index 3cd544663..000000000 --- a/repos/base/mk/spec/cortex_a9.mk +++ /dev/null @@ -1,8 +0,0 @@ -SPECS += arm_v7a - -REP_INC_DIR += include/spec/cortex_a9 - -CC_MARCH += -mcpu=cortex-a9 - -include $(BASE_DIR)/mk/spec/arm_v7a.mk - diff --git a/repos/base/mk/spec/exynos5.mk b/repos/base/mk/spec/exynos5.mk index a1c15a92f..c21c62ce7 100644 --- a/repos/base/mk/spec/exynos5.mk +++ b/repos/base/mk/spec/exynos5.mk @@ -1,5 +1,5 @@ -SPECS += cortex_a15 framebuffer usb +SPECS += arm_v7a framebuffer usb REP_INC_DIR += include/spec/exynos5 -include $(BASE_DIR)/mk/spec/cortex_a15.mk +include $(BASE_DIR)/mk/spec/arm_v7a.mk diff --git a/repos/base/mk/spec/imx53.mk b/repos/base/mk/spec/imx53.mk index 5d768be18..7669134d3 100644 --- a/repos/base/mk/spec/imx53.mk +++ b/repos/base/mk/spec/imx53.mk @@ -1,6 +1,6 @@ -SPECS += cortex_a8 gpio framebuffer +SPECS += arm_v7a gpio framebuffer REP_INC_DIR += include/spec/imx53 -include $(BASE_DIR)/mk/spec/cortex_a8.mk +include $(BASE_DIR)/mk/spec/arm_v7a.mk diff --git a/repos/base/mk/spec/imx6.mk b/repos/base/mk/spec/imx6.mk index a2a7bbf35..159e7bcbc 100644 --- a/repos/base/mk/spec/imx6.mk +++ b/repos/base/mk/spec/imx6.mk @@ -1,6 +1,5 @@ -SPECS += cortex_a9 gpio +SPECS += arm_v7a gpio REP_INC_DIR += include/spec/imx6 -include $(BASE_DIR)/mk/spec/cortex_a9.mk - +include $(BASE_DIR)/mk/spec/arm_v7a.mk diff --git a/repos/base/mk/spec/odroid_x2.mk b/repos/base/mk/spec/odroid_x2.mk index b9288e4b0..5be74790c 100644 --- a/repos/base/mk/spec/odroid_x2.mk +++ b/repos/base/mk/spec/odroid_x2.mk @@ -1,6 +1,6 @@ -SPECS += exynos4 cortex_a9 usb framebuffer gpio +SPECS += arm_v7a exynos4 usb framebuffer gpio REP_INC_DIR += include/spec/odroid_x2 REP_INC_DIR += include/spec/exynos4 -include $(BASE_DIR)/mk/spec/cortex_a9.mk +include $(BASE_DIR)/mk/spec/arm_v7a.mk diff --git a/repos/base/mk/spec/panda.mk b/repos/base/mk/spec/panda.mk index ab98946ce..8d7e9d35c 100644 --- a/repos/base/mk/spec/panda.mk +++ b/repos/base/mk/spec/panda.mk @@ -1,7 +1,7 @@ # # Enable peripherals of the platform # -SPECS += omap4 usb cortex_a9 panda gpio framebuffer +SPECS += omap4 usb panda gpio framebuffer # # Pull in CPU specifics @@ -13,5 +13,4 @@ SPECS += arm_v7a # REP_INC_DIR += include/spec/panda -include $(BASE_DIR)/mk/spec/cortex_a9.mk include $(BASE_DIR)/mk/spec/arm_v7a.mk diff --git a/repos/base/mk/spec/pbxa9.mk b/repos/base/mk/spec/pbxa9.mk index 4fa3ee9c5..e05c9c764 100644 --- a/repos/base/mk/spec/pbxa9.mk +++ b/repos/base/mk/spec/pbxa9.mk @@ -6,11 +6,11 @@ SPECS += pl050 pl11x ps2 pl180 lan9118 framebuffer # # Pull in CPU specifics # -SPECS += cortex_a9 +SPECS += arm_v7a # # Add device parameters to include search path # REP_INC_DIR += include/spec/pbxa9 -include $(BASE_DIR)/mk/spec/cortex_a9.mk +include $(BASE_DIR)/mk/spec/arm_v7a.mk diff --git a/repos/base/mk/spec/zynq.mk b/repos/base/mk/spec/zynq.mk index f8861c57a..e7e1ccfa1 100644 --- a/repos/base/mk/spec/zynq.mk +++ b/repos/base/mk/spec/zynq.mk @@ -1,8 +1,8 @@ # # Pull in CPU specifics # -SPECS += cortex_a9 arm_v7a +SPECS += arm_v7a REP_INC_DIR += include/spec/zynq -include $(BASE_DIR)/mk/spec/cortex_a9.mk +include $(BASE_DIR)/mk/spec/arm_v7a.mk diff --git a/repos/os/src/server/vmm/test/kernel/target.mk b/repos/os/src/server/vmm/test/kernel/target.mk index 884e62808..cb8af1bb7 100644 --- a/repos/os/src/server/vmm/test/kernel/target.mk +++ b/repos/os/src/server/vmm/test/kernel/target.mk @@ -1,3 +1,4 @@ -TARGET = test-kernel -REQUIRES = hw_arndale +TARGET = vmm-test-kernel +REQUIRES = arm_v7 SRC_S = main.s +CC_MARCH = -mcpu=cortex-a15