You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.3 KiB
36 lines
1.3 KiB
2 years ago
|
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
|
||
|
--- a/elf/elf.h
|
||
|
+++ b/elf/elf.h
|
||
|
@@ -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 */
|