aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2024-06-04 12:56:23 +0100
committerRichard Earnshaw <rearnsha@arm.com>2024-06-05 17:45:45 +0100
commitc27b73c52510eb47e86fa22281904dd6b48b66f4 (patch)
tree88e842b87ce725ba2ccc6dc311527ee9c3fdb933 /gas
parente8cf93739c9a62daa8371a68af52c736d245f8b9 (diff)
downloadfsf-binutils-gdb-c27b73c52510eb47e86fa22281904dd6b48b66f4.zip
fsf-binutils-gdb-c27b73c52510eb47e86fa22281904dd6b48b66f4.tar.gz
fsf-binutils-gdb-c27b73c52510eb47e86fa22281904dd6b48b66f4.tar.bz2
arm: change default FPUs from FPA to none
Change the cases where the default FPU was FPA to none. This should ensure that any code that used settings to pick the floating-point order will not silently produce a different output. The options that explicitly set the FPA remain for the moment.
Diffstat (limited to 'gas')
-rw-r--r--gas/config/tc-arm.c125
1 files changed, 63 insertions, 62 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 1ba7bb3..12610fd 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -118,19 +118,20 @@ static bool out_of_range_p (offsetT value, offsetT bits)
#ifndef FPU_DEFAULT
# ifdef TE_LINUX
-# define FPU_DEFAULT FPU_ARCH_FPA
+# define FPU_DEFAULT FPU_NONE
# elif defined (TE_NetBSD)
# ifdef OBJ_ELF
# define FPU_DEFAULT FPU_ARCH_SOFTVFP /* Soft-float, but VFP order. */
# else
/* Legacy a.out format. */
-# define FPU_DEFAULT FPU_ARCH_FPA /* Soft-float, but FPA order. */
+# define FPU_DEFAULT FPU_NONE /* Soft-float, no FPU. */
# endif
# elif defined (TE_VXWORKS)
# define FPU_DEFAULT FPU_ARCH_SOFTVFP /* Soft-float, VFP order. */
# else
- /* For backwards compatibility, default to FPA. */
-# define FPU_DEFAULT FPU_ARCH_FPA
+ /* For backwards compatibility, default to no-fpu so that we don't
+ get silent code changes of FP literal data. */
+# define FPU_DEFAULT FPU_NONE
# endif
#endif /* ifndef FPU_DEFAULT */
@@ -31247,142 +31248,142 @@ static const struct arm_cpu_option_table arm_cpus[] =
{
ARM_CPU_OPT ("all", NULL, ARM_ANY,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm1", NULL, ARM_ARCH_V1,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm2", NULL, ARM_ARCH_V2,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm250", NULL, ARM_ARCH_V2S,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm3", NULL, ARM_ARCH_V2S,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm6", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm60", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm600", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm610", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm620", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7m", NULL, ARM_ARCH_V3M,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7d", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7dm", NULL, ARM_ARCH_V3M,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7di", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7dmi", NULL, ARM_ARCH_V3M,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm70", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm700", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm700i", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm710", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm710t", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm720", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm720t", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm740t", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm710c", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7100", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7500", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7500fe", NULL, ARM_ARCH_V3,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7t", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7tdmi", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm7tdmi-s", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm8", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm810", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("strongarm", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("strongarm1", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("strongarm110", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("strongarm1100", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("strongarm1110", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm9", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm920", "ARM920T", ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm920t", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm922t", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm940t", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("arm9tdmi", NULL, ARM_ARCH_V4T,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("fa526", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
ARM_CPU_OPT ("fa626", NULL, ARM_ARCH_V4,
ARM_ARCH_NONE,
- FPU_ARCH_FPA),
+ FPU_NONE),
/* For V5 or later processors we default to using VFP; but the user
should really set the FPU type explicitly. */
@@ -31654,7 +31655,7 @@ static const struct arm_cpu_option_table arm_cpus[] =
/* Maverick extensions are no-longer supported, but we can still
recognize the CPU name and treat it like an Arm920T. */
ARM_CPU_OPT ("ep9312", "ARM920T", ARM_ARCH_V4T,
- ARM_ARCH_NONE, FPU_ARCH_FPA),
+ ARM_ARCH_NONE, FPU_NONE),
/* Marvell processors. */
ARM_CPU_OPT ("marvell-pj4", NULL, ARM_ARCH_V7A,
@@ -31963,17 +31964,17 @@ static const struct arm_ext_table armv8r_ext_table[] =
static const struct arm_arch_option_table arm_archs[] =
{
- ARM_ARCH_OPT ("all", ARM_ANY, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv1", ARM_ARCH_V1, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv2", ARM_ARCH_V2, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv2a", ARM_ARCH_V2S, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv2s", ARM_ARCH_V2S, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv3", ARM_ARCH_V3, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv3m", ARM_ARCH_V3M, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv4", ARM_ARCH_V4, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv4xm", ARM_ARCH_V4xM, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv4t", ARM_ARCH_V4T, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv4txm", ARM_ARCH_V4TxM, FPU_ARCH_FPA),
+ ARM_ARCH_OPT ("all", ARM_ANY, FPU_NONE),
+ ARM_ARCH_OPT ("armv1", ARM_ARCH_V1, FPU_NONE),
+ ARM_ARCH_OPT ("armv2", ARM_ARCH_V2, FPU_NONE),
+ ARM_ARCH_OPT ("armv2a", ARM_ARCH_V2S, FPU_NONE),
+ ARM_ARCH_OPT ("armv2s", ARM_ARCH_V2S, FPU_NONE),
+ ARM_ARCH_OPT ("armv3", ARM_ARCH_V3, FPU_NONE),
+ ARM_ARCH_OPT ("armv3m", ARM_ARCH_V3M, FPU_NONE),
+ ARM_ARCH_OPT ("armv4", ARM_ARCH_V4, FPU_NONE),
+ ARM_ARCH_OPT ("armv4xm", ARM_ARCH_V4xM, FPU_NONE),
+ ARM_ARCH_OPT ("armv4t", ARM_ARCH_V4T, FPU_NONE),
+ ARM_ARCH_OPT ("armv4txm", ARM_ARCH_V4TxM, FPU_NONE),
ARM_ARCH_OPT ("armv5", ARM_ARCH_V5, FPU_ARCH_SOFTVFP),
ARM_ARCH_OPT ("armv5t", ARM_ARCH_V5T, FPU_ARCH_SOFTVFP),
ARM_ARCH_OPT ("armv5txm", ARM_ARCH_V5TxM, FPU_ARCH_SOFTVFP),