[PATCH binutils 0/4] aarch64: Add STO_AARCH64_VARIANT_PCS support

Szabolcs Nagy Szabolcs.Nagy@arm.com
Thu May 23 11:04:00 GMT 2019


Adds support for a new aarch64 specific st_other flag that
is used for marking function symbols that follow different
register usage convention from the base PCS. It is required
for lazy binding support for vector PCS calls.

The ELF ABI draft and detailed description is at
https://sourceware.org/ml/binutils/2019-05/msg00294.html

Szabolcs Nagy (4):
  aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS
  aarch64: handle .variant_pcs directive in gas
  aarch64: override default elf .set handling in gas
  aarch64: handle STO_AARCH64_VARIANT_PCS in bfd

 bfd/elfnn-aarch64.c                           | 41 +++++++++++
 binutils/readelf.c                            | 20 ++++++
 gas/config/tc-aarch64.c                       | 55 +++++++++++++++
 gas/config/tc-aarch64.h                       |  6 ++
 gas/doc/c-aarch64.texi                        |  6 ++
 .../gas/aarch64/symbol-variant_pcs-1.d        | 10 +++
 .../gas/aarch64/symbol-variant_pcs-1.s        |  8 +++
 .../gas/aarch64/symbol-variant_pcs-2.d        |  9 +++
 .../gas/aarch64/symbol-variant_pcs-2.s        |  4 ++
 .../gas/aarch64/symbol-variant_pcs-3.d        | 12 ++++
 .../gas/aarch64/symbol-variant_pcs-3.s        | 20 ++++++
 include/elf/aarch64.h                         |  5 ++
 ld/testsuite/ld-aarch64/aarch64-elf.exp       |  4 ++
 ld/testsuite/ld-aarch64/variant_pcs-1.s       | 59 ++++++++++++++++
 ld/testsuite/ld-aarch64/variant_pcs-2.s       | 47 +++++++++++++
 ld/testsuite/ld-aarch64/variant_pcs-now.d     | 68 +++++++++++++++++++
 ld/testsuite/ld-aarch64/variant_pcs-r.d       | 60 ++++++++++++++++
 ld/testsuite/ld-aarch64/variant_pcs-shared.d  | 68 +++++++++++++++++++
 ld/testsuite/ld-aarch64/variant_pcs.ld        | 23 +++++++
 19 files changed, 525 insertions(+)
 create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-1.d
 create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-1.s
 create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-2.d
 create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-2.s
 create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-3.d
 create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-3.s
 create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-1.s
 create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-2.s
 create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-now.d
 create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-r.d
 create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-shared.d
 create mode 100644 ld/testsuite/ld-aarch64/variant_pcs.ld

-- 
2.17.1


More information about the Binutils mailing list