[PATCH binutils 1/4] aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS
Szabolcs Nagy
Szabolcs.Nagy@arm.com
Thu May 23 11:07:00 GMT 2019
The bottom 2 bits of st_other are used for visibility, the top 6 bits are
de facto reserved for processor specific use. This patch defines a
bits to mark function symbols that follow a variant procedure call standard
with different register usage convention.
A dynamic tag is also defined that marks modules with R_<CLS>_JUMP_SLOT
relocations referencing symbols marked with STO_AARCH64_VARIANT_PCS.
This can be used by dynamic linkers that support lazy binding to decide
what registers need to be preserved during symbol resolution.
binutils/ChangeLog:
2019-05-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
* readelf.c (get_aarch64_dynamic_type): Handle DT_AARCH64_VARIANT_PCS.
(get_aarch64_symbol_other): New, handles STO_AARCH64_VARIANT_PCS.
(get_symbol_other): Call get_aarch64_symbol_other.
include/ChangeLog:
2019-05-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
* elf/aarch64.h (DT_AARCH64_VARIANT_PCS): Define.
(STO_AARCH64_VARIANT_PCS): Define.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-aarch64-add-STO_AARCH64_VARIANT_PCS-and-DT_AARCH64_V.diff
Type: text/x-patch
Size: 1847 bytes
Desc: 0001-aarch64-add-STO_AARCH64_VARIANT_PCS-and-DT_AARCH64_V.diff
URL: <https://sourceware.org/pipermail/binutils/attachments/20190523/17fdd51a/attachment.bin>
More information about the Binutils
mailing list