]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 25 Apr 2019 14:35:35 +0000 (15:35 +0100)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Fri, 12 Jul 2019 09:50:12 +0000 (10:50 +0100)
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.

ChangeLog
elf/elf.h

index fff671fd434e3d0966d32415d8f79117b16f39fd..55dde7df0c11abae2696ff8742435978a645d4ff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-06-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * elf/elf.h (STO_AARCH64_VARIANT_PCS): Define.
+       (DT_AARCH64_VARIANT_PCS): Define.
+
 2019-05-22  Wilco Dijkstra  <wdijkstr@arm.com>
 
        [BZ #24531]
index 3900b4c9f0cad606a7beb2511c0bb6d603e885ee..f80506c56253aabf103bf5c8a47d199e446312e4 100644 (file)
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -2759,6 +2759,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 */