[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