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