aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2017-12-20 10:30:00 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2017-12-20 10:30:00 +0000
commit87fd6bde4c3a6772dca6920c6bd2f849442eea2f (patch)
treeea1be43e13cae7ddbb54a32e70ac9e455c37b2ed
parent0e0cefc62e713f0b419bca0c8a931c9c912e214e (diff)
downloadgcc-87fd6bde4c3a6772dca6920c6bd2f849442eea2f.zip
gcc-87fd6bde4c3a6772dca6920c6bd2f849442eea2f.tar.gz
gcc-87fd6bde4c3a6772dca6920c6bd2f849442eea2f.tar.bz2
[arm] PR target/83105: Minor change of default CPU for arm-linux-gnueabi
When GCC for ARM/linux is configured with --with-float=hard, or --with-float=softfp the compiler will now die when trying to build the support libraries because the baseline architecture is too old to support VFP (older versions of GCC just emitted the VFP instructions anyway, even though they wouldn't run on that version of the architecture; but we're now more prickly about it). This patch fixed the problem by raising the default architecture (actually the default CPU) to ARMv5te (ARM10e) when we need to generate HW floating-point code. PR target/83105 * config.gcc (arm*-*-linux*): When configured with --with-float=hard or --with-float=softfp, set the default CPU to arm10e. From-SVN: r255858
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config.gcc7
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3fac117..3982478 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-12-20 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/83105
+ * config.gcc (arm*-*-linux*): When configured with --with-float=hard
+ or --with-float=softfp, set the default CPU to arm10e.
+
2017-12-20 Eric Botcazou <ebotcazou@adacore.com>
* config/visium/constraints.md (J, K, L): Use IN_RANGE macro.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 4c2b382..1a0d676 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1134,7 +1134,12 @@ arm*-*-linux-*) # ARM GNU/Linux with ELF
esac
tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
- target_cpu_cname="arm10tdmi"
+ # Generation of floating-point instructions requires at least ARMv5te.
+ if [ "$with_float" = "hard" -o "$with_float" = "softfp" ] ; then
+ target_cpu_cname="arm10e"
+ else
+ target_cpu_cname="arm10tdmi"
+ fi
# Define multilib configuration for arm-linux-androideabi.
case ${target} in
*-androideabi)