aboutsummaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@bootlin.com>2020-11-14 11:48:07 +0100
committerGravatar Peter Korsgaard <peter@korsgaard.com>2020-11-16 16:05:34 +0100
commit5c0d2b5cd3b626e27f0a164a8feee4c5ec13cde0 (patch)
treecfc1b353ae13091b3eb6288ddfdcf3491c94b7fd /toolchain
parent20d3a17f64cb0e018512b736009cf7ae82e8b7fb (diff)
downloadbuildroot-5c0d2b5cd3b626e27f0a164a8feee4c5ec13cde0.tar.gz
buildroot-5c0d2b5cd3b626e27f0a164a8feee4c5ec13cde0.tar.bz2
toolchain/toolchain-external/toolchain-external-arm-arm: add dependency on NEON
While testing Buildroot on a Cortex-A5 that doesn't provide NEON, we found out that a system generated with the ARM toolchain from Arm didn't boot. It turns out that this ARM toolchain is built with: --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-mode=thumb So, it uses NEON as its FPU, which means it can only work on CPU cores that have NEON support. This commit adds the appropriate dependency to the toolchain-external-arm-arm package, and adjusts the Config.in help text accordingly. While at it, it also drops the part of the Config.in help text that says the code is tuned for Cortex-A9, as it is not the case: it was the case for the Linaro toolchain (built with --with-tune=cortex-a9), but not for the ARM toolchain, for which no specific --with-tune is passed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> Cc: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> (cherry picked from commit 8477c41244c1d55b6496195c3a69f261b546dc8e) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/toolchain-external/toolchain-external-arm-arm/Config.in13
1 files changed, 7 insertions, 6 deletions
diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
index 4748ab53ae..29509635a3 100644
--- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
@@ -1,12 +1,13 @@
-comment "Arm toolchains available for Cortex-A + EABIhf"
+comment "Arm toolchains available for Cortex-A with NEON + EABIhf"
depends on BR2_arm
- depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
+ depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF || !BR2_ARM_CPU_HAS_NEON
depends on !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
bool "Arm ARM 2019.12"
depends on BR2_arm
depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_CPU_HAS_NEON
depends on BR2_HOSTARCH = "x86_64"
depends on BR2_ARM_EABIHF
depends on !BR2_STATIC_LIBS
@@ -20,10 +21,10 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
select BR2_TOOLCHAIN_HAS_OPENMP
help
Arm toolchain for the ARM architecture. It uses GCC 9.2.1,
- GDB 8.3.0, glibc 2.30, Binutils 2.33.1. It generates code that
- runs on all Cortex-A profile devices, but tuned for the
- Cortex-A9. The code generated uses the hard floating point
- calling convention, and uses the VFPv3-D16 FPU instructions.
+ GDB 8.3.0, glibc 2.30, Binutils 2.33.1. It generates code
+ that runs on all Cortex-A profile devices. The code
+ generated uses the hard floating point calling convention,
+ and uses the NEON FPU instructions.
This is the same toolchain that was previously distributed by
Linaro.