This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH binutils 0/4] aarch64: Add STO_AARCH64_VARIANT_PCS support
- From: Szabolcs Nagy <Szabolcs dot Nagy at arm dot com>
- To: Binutils <binutils at sourceware dot org>
- Cc: nd <nd at arm dot com>
- Date: Thu, 23 May 2019 11:04:35 +0000
- Subject: [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