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.
This commit is contained in:
Richard Earnshaw 2024-06-04 12:56:23 +01:00
parent e8cf93739c
commit c27b73c525

View File

@ -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),