[00/11] arm: Remove FPA support from gas/binutils

Message ID 20240603114912.4065598-1-rearnsha@arm.com
Headers
Series arm: Remove FPA support from gas/binutils |

Message

Richard Earnshaw June 3, 2024, 11:49 a.m. UTC
  As trailed when removing the support for the Maverick co-processor
(https://sourceware.org/pipermail/binutils/2024-May/133947.html), this
patch series removes support for the FPA co-processor as well.
Support for both co-processors was removed from GCC about 12 years
ago.

This patch set is slightly more involved than the one for Maverick
though as it affects the default behaviour of the tools in a few
cases, especially on coff-based targets where we do not default a
default floating point format and pick the default up from the
selected CPU.  To avoid silent code changes I've opted to set the
default for those cases such that they generate an error if the output
might have changed when no FPA instructions were generated; this
affects certain directives such as .float or .double, since the FPA
had a different format for floating-point values.


Richard Earnshaw (11):
  arm: remove FPA related tests
  arm: rename FPU_ARCH_VFP to FPU_ARCH_SOFTVFP
  arm: default to softvfp on armv6 or later cores
  arm: adjust FPU selection logic
  arm: redirect fp constant data directives through a wrapper
  arm: change default FPUs from FPA to none
  arm: remove options to select the FPA
  arm: remove FPA instructions from assembler
  arm: remove disassembly support for the FPA co-processor
  arm: minor documentation cleanup given removal of FPA
  NEWS: arm: note that FPA support has been removed

 binutils/NEWS                                 |    4 +
 gas/config/tc-arm.c                           | 1056 +++--------------
 gas/config/te-armeabi.h                       |    2 +-
 gas/config/te-armfbsdvfp.h                    |    2 +-
 gas/config/te-armlinuxeabi.h                  |    2 +-
 gas/config/te-nacl.h                          |    2 +-
 gas/doc/c-arm.texi                            |   12 +-
 gas/testsuite/gas/all/gas.exp                 |    2 +
 gas/testsuite/gas/arm/attr-mfpu-arm7500fe.d   |   11 -
 gas/testsuite/gas/arm/attr-mfpu-fpa.d         |   11 -
 gas/testsuite/gas/arm/attr-mfpu-fpa10.d       |   11 -
 gas/testsuite/gas/arm/attr-mfpu-fpa11.d       |   11 -
 gas/testsuite/gas/arm/attr-mfpu-fpe.d         |   11 -
 gas/testsuite/gas/arm/attr-mfpu-fpe2.d        |   11 -
 gas/testsuite/gas/arm/attr-mfpu-fpe3.d        |   11 -
 gas/testsuite/gas/arm/attr-mfpu-softfpa.d     |   11 -
 gas/testsuite/gas/arm/attr-override-mcpu.s    |    2 +-
 gas/testsuite/gas/arm/bfloat16-directive-be.d |    2 +-
 gas/testsuite/gas/arm/bfloat16-directive-le.d |    2 +-
 .../gas/arm/copro-arm_v2plus-arm_v2.d         |    6 +-
 .../arm/copro-thumb_v6t2plus-thumb_v6t2-1.d   |    6 +-
 gas/testsuite/gas/arm/float.d                 |  131 --
 gas/testsuite/gas/arm/float.s                 |  163 ---
 gas/testsuite/gas/arm/float16-bad.d           |    1 +
 gas/testsuite/gas/arm/float16-be.d            |    2 +-
 .../gas/arm/float16-format-opt-bad.d          |    2 +-
 gas/testsuite/gas/arm/float16-le.d            |    2 +-
 gas/testsuite/gas/arm/fp-directive-bad.d      |    4 +
 gas/testsuite/gas/arm/fp-directive-bad.l      |    7 +
 gas/testsuite/gas/arm/fp-directive.d          |    9 +
 gas/testsuite/gas/arm/fp-directive.s          |    7 +
 gas/testsuite/gas/arm/fp-save.d               |    9 -
 gas/testsuite/gas/arm/fp-save.s               |    4 -
 gas/testsuite/gas/arm/fpa-dyadic.d            |  166 ---
 gas/testsuite/gas/arm/fpa-dyadic.s            |  172 ---
 gas/testsuite/gas/arm/fpa-mem.d               |   34 -
 gas/testsuite/gas/arm/fpa-mem.s               |   32 -
 gas/testsuite/gas/arm/fpa-monadic.d           |  202 ----
 gas/testsuite/gas/arm/fpa-monadic.s           |  210 ----
 .../gas/arm/group-reloc-ldc-encoding-bad.l    |  192 ---
 .../gas/arm/group-reloc-ldc-encoding-bad.s    |   72 +-
 .../gas/arm/group-reloc-ldc-parsing-bad.l     |   80 --
 .../gas/arm/group-reloc-ldc-parsing-bad.s     |   20 +-
 gas/testsuite/gas/arm/group-reloc-ldc.d       |  336 ++----
 gas/testsuite/gas/arm/group-reloc-ldc.s       |   45 -
 gas/testsuite/gas/arm/le-fpconst.d            |   11 -
 gas/testsuite/gas/arm/le-fpconst.s            |    8 -
 include/opcode/arm.h                          |   12 +-
 opcodes/arm-dis.c                             |  197 +--
 49 files changed, 369 insertions(+), 2949 deletions(-)
 delete mode 100644 gas/testsuite/gas/arm/attr-mfpu-arm7500fe.d
 delete mode 100644 gas/testsuite/gas/arm/attr-mfpu-fpa.d
 delete mode 100644 gas/testsuite/gas/arm/attr-mfpu-fpa10.d
 delete mode 100644 gas/testsuite/gas/arm/attr-mfpu-fpa11.d
 delete mode 100644 gas/testsuite/gas/arm/attr-mfpu-fpe.d
 delete mode 100644 gas/testsuite/gas/arm/attr-mfpu-fpe2.d
 delete mode 100644 gas/testsuite/gas/arm/attr-mfpu-fpe3.d
 delete mode 100644 gas/testsuite/gas/arm/attr-mfpu-softfpa.d
 delete mode 100644 gas/testsuite/gas/arm/float.d
 delete mode 100644 gas/testsuite/gas/arm/float.s
 create mode 100644 gas/testsuite/gas/arm/fp-directive-bad.d
 create mode 100644 gas/testsuite/gas/arm/fp-directive-bad.l
 create mode 100644 gas/testsuite/gas/arm/fp-directive.d
 create mode 100644 gas/testsuite/gas/arm/fp-directive.s
 delete mode 100644 gas/testsuite/gas/arm/fp-save.d
 delete mode 100644 gas/testsuite/gas/arm/fp-save.s
 delete mode 100644 gas/testsuite/gas/arm/fpa-dyadic.d
 delete mode 100644 gas/testsuite/gas/arm/fpa-dyadic.s
 delete mode 100644 gas/testsuite/gas/arm/fpa-mem.d
 delete mode 100644 gas/testsuite/gas/arm/fpa-mem.s
 delete mode 100644 gas/testsuite/gas/arm/fpa-monadic.d
 delete mode 100644 gas/testsuite/gas/arm/fpa-monadic.s
 delete mode 100644 gas/testsuite/gas/arm/le-fpconst.d
 delete mode 100644 gas/testsuite/gas/arm/le-fpconst.s