This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]