aarch64: override default elf .set handling in gas
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 25 Apr 2019 14:07:10 +0000 (15:07 +0100)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Fri, 24 May 2019 14:09:06 +0000 (15:09 +0100)
commit0b4eac57c44ec4c9e13f5201b40936c3b3e6c639
treecbb5471417b7fdd03b84a21c4f856f5c0c2ab2d6
parentf166ae0188dcb89c5ae925034260a708a254ab2f
aarch64: override default elf .set handling in gas

Allow st_other values such as STO_AARCH64_VARIANT_PCS to be set for alias
symbols independently.  This is needed for ifunc symbols which are
aliased to the resolver using .set and don't expect resolver attributes
to override the ifunc symbol attributes.  This means .variant_pcs must be
added explicitly to aliases.

gas/ChangeLog:

* config/tc-aarch64.c (aarch64_elf_copy_symbol_attributes): Define.
* config/tc-aarch64.h (aarch64_elf_copy_symbol_attributes): Declare.
(OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
* testsuite/gas/aarch64/symbol-variant_pcs-3.d: New test.
* testsuite/gas/aarch64/symbol-variant_pcs-3.s: New test.
gas/ChangeLog
gas/config/tc-aarch64.c
gas/config/tc-aarch64.h
gas/testsuite/gas/aarch64/symbol-variant_pcs-3.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/symbol-variant_pcs-3.s [new file with mode: 0644]