| commit 55f82d328d2dd1c7c13c1992f4b9bf9c95b57551 |
| Author: Szabolcs Nagy <szabolcs.nagy@arm.com> |
| Date: Thu Apr 25 15:35:35 2019 +0100 |
| |
| aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS |
| |
| STO_AARCH64_VARIANT_PCS is a non-visibility st_other flag for marking |
| symbols that reference functions that may follow a variant PCS with |
| different register usage convention from the base PCS. |
| |
| DT_AARCH64_VARIANT_PCS is a dynamic tag that marks ELF modules that |
| have R_*_JUMP_SLOT relocations for symbols marked with |
| STO_AARCH64_VARIANT_PCS (i.e. have variant PCS calls via a PLT). |
| |
| * elf/elf.h (STO_AARCH64_VARIANT_PCS): Define. |
| (DT_AARCH64_VARIANT_PCS): Define. |
| |
| diff --git a/elf/elf.h b/elf/elf.h |
| index 7e2b072a7f75451c..74f7f479ce817040 100644 |
| |
| |
| @@ -2847,6 +2847,13 @@ enum |
| #define R_AARCH64_TLSDESC 1031 /* TLS Descriptor. */ |
| #define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */ |
| |
| +/* AArch64 specific values for the Dyn d_tag field. */ |
| +#define DT_AARCH64_VARIANT_PCS (DT_LOPROC + 5) |
| +#define DT_AARCH64_NUM 6 |
| + |
| +/* AArch64 specific values for the st_other field. */ |
| +#define STO_AARCH64_VARIANT_PCS 0x80 |
| + |
| /* ARM relocs. */ |
| |
| #define R_ARM_NONE 0 /* No reloc */ |