[Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries
Peter Seiderer
ps.report at gmx.net
Mon Mar 2 09:19:25 UTC 2020
Add BR2_GCC_TARGET_ARCH entries, determined by (gcc-9.2.0)
$ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) --help=target | grep march
Or (for cortex-m3/cortex-m4/cortex-m7):
$ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) -mthumb --help=target | grep march
Or (where indicated):
$ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) -msoft-float --help=target | grep march
The soft/hard float flags could be determined from
the arch/Config.in.arm processor definitions or the given
isa_bit_... flags from build/host-gcc-final-9.2.0/build/gcc/arm-cpu-cdata.h.
Signed-off-by: Peter Seiderer <ps.report at gmx.net>
---
Notes:
- Fix ToDo's for unknown cpus
- Add BR2_GCC_TARGET_ARCH for other archs?
Changes v1 -> v2:
- new patch
---
arch/Config.in.arm | 72 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index 4c0910e4f8..24f550287d 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -898,6 +898,78 @@ config BR2_GCC_TARGET_CPU
# armv8.4a
default "saphira" if BR2_saphira
+config BR2_GCC_TARGET_ARCH
+ # armv4
+ default "armv4t" if BR2_arm920t
+ default "armv4t" if BR2_arm922t
+ default "armv4" if BR2_fa526
+ default "armv4" if BR2_strongarm
+ # armv5
+ default "armv5tej+fp" if BR2_arm926t
+ default "iwmmxt" if BR2_iwmmxt
+ default "armv5te" if BR2_xscale # -msoft-float
+ # armv6
+ default "armv6j" if BR2_arm1136j_s # -msoft-float
+ default "armv6j+fp" if BR2_arm1136jf_s
+ default "armv6kz" if BR2_arm1176jz_s # -msoft-float
+ default "armv6kz+fp" if BR2_arm1176jzf_s
+ default "armv6k+fp" if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2
+ default "armv6k" if BR2_arm11mpcore # -msoft-float
+ # armv7a
+ default "armv7-a+mp+sec+fp" if BR2_cortex_a5
+ default "armv7ve+vfpv3-d16" if BR2_cortex_a7
+ default "armv7-a+sec+fp" if BR2_cortex_a8
+ default "armv7-a+mp+sec+fp" if BR2_cortex_a9
+ default "armv7ve+vfpv3-d16" if BR2_cortex_a12
+ default "armv7ve+vfpv3-d16" if BR2_cortex_a15
+ default "armv7ve+vfpv3-d16" if BR2_cortex_a15_a7
+ default "armv7ve+vfpv3-d16" if BR2_cortex_a17
+ default "armv7ve+vfpv3-d16" if BR2_cortex_a17_a7
+ default "armv7-a+mp+sec+fp" if BR2_pj4
+ # armv7m
+ default "armv7-m" if BR2_cortex_m3
+ default "armv7e-m+fp.dp" if BR2_cortex_m4
+ default "armv7e-m+fp.dp" if BR2_cortex_m7
+ # armv8a
+ default "armv8-a+crc+simd" if BR2_cortex_a32
+ default "armv8-a+crc+simd" if BR2_cortex_a35
+ default "armv8-a+crc+simd" if BR2_cortex_a53
+ default "armv8-a+crc+simd" if BR2_cortex_a57
+ default "armv8-a+crc+simd" if BR2_cortex_a57_a53
+ default "armv8-a+crc+simd" if BR2_cortex_a72
+ default "armv8-a+crc+simd" if BR2_cortex_a72_a53
+ default "armv8-a+crc+simd" if BR2_cortex_a73
+ default "armv8-a+crc+simd" if BR2_cortex_a73_a35
+ default "armv8-a+crc+simd" if BR2_cortex_a73_a53
+ default "armv8-a+crc+simd" if BR2_emag # ToDo: error: unrecognized -mcpu target: emag
+ default "armv8-a+crc+simd" if BR2_exynos_m1
+ default "armv8-a" if BR2_falkor # ToDo: error: unrecognized -mcpu target: falkor
+ default "armv8-a" if BR2_phecda # ToDo: error: unrecognized -mcpu target: phecda
+ default "armv8-a" if BR2_qdf24xx # ToDo: error: unrecognized -mcpu target: qdf24xx
+ default "armv8-a" if BR2_thunderx && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderx
+ default "armv8-a" if BR2_thunderx && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx
+ default "armv8-a" if BR2_thunderxt81 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderxt81
+ default "armv8-a" if BR2_thunderxt81 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx81
+ default "armv8-a" if BR2_thunderxt83 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderxt83
+ default "armv8-a" if BR2_thunderxt83 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx83
+ default "armv8-a" if BR2_thunderxt88 # ToDo: error: unrecognized -mcpu target: thunderxt88
+ default "armv8-a" if BR2_thunderxt88p1 # ToDo: error: unrecognized -mcpu target: thunderxt88p1
+ default "armv8-a+simd" if BR2_xgene1
+ # armv8.1a
+ default "armv8.1-a" if BR2_thunderx2t99 # ToDo: error: unrecognized -mcpu target: thunderx2t99
+ default "armv8.1-a" if BR2_thunderx2t99p1 # ToDo: error: unrecognized -mcpu target: thunderx2t99p1
+ default "armv8.1-a" if BR2_vulcan # ToDo: error: unrecognized -mcpu target: vulcan
+ # armv8.2a
+ default "armv8.2-a+simd" if BR2_cortex_a55
+ default "armv8.2-a+simd" if BR2_cortex_a75
+ default "armv8.2-a+simd" if BR2_cortex_a75_a55
+ default "armv8.2-a+simd" if BR2_cortex_a76
+ default "armv8.2-a+simd" if BR2_cortex_a76_a55
+ default "armv8.2-a+simd" if BR2_neoverse_n1
+ default "armv8.2-a" if BR2_tsv110 # ToDo: error: unrecognized -mcpu target: tsv110
+ # armv8.4a
+ default "armv8.4-a" if BR2_saphira # ToDo: error: unrecognized -mcpu target: saphira
+
config BR2_GCC_TARGET_ABI
default "aapcs-linux" if BR2_arm || BR2_armeb
default "lp64" if BR2_aarch64 || BR2_aarch64_be
--
2.25.1
More information about the buildroot
mailing list