update elf.h with powerpc64 elfv2 abi related macros
[musl] / include / elf.h
index 4d8c0c8..1bfe016 100644 (file)
@@ -209,6 +209,7 @@ typedef struct {
 #define EM_MN10300     89
 #define EM_MN10200     90
 #define EM_PJ          91
+#define EM_OR1K                92
 #define EM_OPENRISC    92
 #define EM_ARC_A5      93
 #define EM_XTENSA      94
@@ -319,7 +320,7 @@ typedef struct {
 #define SHF_MASKOS          0x0ff00000
 #define SHF_MASKPROC        0xf0000000
 #define SHF_ORDERED         (1 << 30)
-#define SHF_EXCLUDE         (1 << 31)
+#define SHF_EXCLUDE         (1U << 31)
 
 #define GRP_COMDAT     0x1
 
@@ -2013,6 +2014,15 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_PPC64_DTPREL16_HIGHERA 104
 #define R_PPC64_DTPREL16_HIGHEST 105
 #define R_PPC64_DTPREL16_HIGHESTA 106
+#define R_PPC64_TLSGD          107
+#define R_PPC64_TLSLD          108
+#define R_PPC64_TOCSAVE                109
+#define R_PPC64_ADDR16_HIGH    110
+#define R_PPC64_ADDR16_HIGHA   111
+#define R_PPC64_TPREL16_HIGH   112
+#define R_PPC64_TPREL16_HIGHA  113
+#define R_PPC64_DTPREL16_HIGH  114
+#define R_PPC64_DTPREL16_HIGHA 115
 
 
 #define R_PPC64_JMP_IREL       247
@@ -2022,14 +2032,20 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_PPC64_REL16_HI       251
 #define R_PPC64_REL16_HA       252
 
+#define EF_PPC64_ABI   3
 
 #define DT_PPC64_GLINK  (DT_LOPROC + 0)
 #define DT_PPC64_OPD   (DT_LOPROC + 1)
 #define DT_PPC64_OPDSZ (DT_LOPROC + 2)
-#define DT_PPC64_NUM    3
-
+#define DT_PPC64_OPT   (DT_LOPROC + 3)
+#define DT_PPC64_NUM   4
 
+#define PPC64_OPT_TLS          1
+#define PPC64_OPT_MULTI_TOC    2
 
+#define STO_PPC64_LOCAL_BIT    5
+#define STO_PPC64_LOCAL_MASK   0xe0
+#define PPC64_LOCAL_ENTRY_OFFSET(x) (1 << (((x)&0xe0)>>5) & 0xfc)
 
 
 #define EF_ARM_RELEXEC         0x01
@@ -2498,6 +2514,14 @@ typedef Elf32_Addr Elf32_Conflict;
 #define        R_SH_RELATIVE           165
 #define        R_SH_GOTOFF             166
 #define        R_SH_GOTPC              167
+#define        R_SH_GOT20              201
+#define        R_SH_GOTOFF20           202
+#define        R_SH_GOTFUNCDESC        203
+#define        R_SH_GOTFUNCDEST20      204
+#define        R_SH_GOTOFFFUNCDESC     205
+#define        R_SH_GOTOFFFUNCDEST20   206
+#define        R_SH_FUNCDESC           207
+#define        R_SH_FUNCDESC_VALUE     208
 
 #define        R_SH_NUM                256
 
@@ -2775,6 +2799,42 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_MICROBLAZE_TLSGOTTPREL32 28
 #define R_MICROBLAZE_TLSTPREL32         29
 
+#define R_OR1K_NONE            0
+#define R_OR1K_32              1
+#define R_OR1K_16              2
+#define R_OR1K_8               3
+#define R_OR1K_LO_16_IN_INSN   4
+#define R_OR1K_HI_16_IN_INSN   5
+#define R_OR1K_INSN_REL_26     6
+#define R_OR1K_GNU_VTENTRY     7
+#define R_OR1K_GNU_VTINHERIT   8
+#define R_OR1K_32_PCREL                9
+#define R_OR1K_16_PCREL                10
+#define R_OR1K_8_PCREL         11
+#define R_OR1K_GOTPC_HI16      12
+#define R_OR1K_GOTPC_LO16      13
+#define R_OR1K_GOT16           14
+#define R_OR1K_PLT26           15
+#define R_OR1K_GOTOFF_HI16     16
+#define R_OR1K_GOTOFF_LO16     17
+#define R_OR1K_COPY            18
+#define R_OR1K_GLOB_DAT                19
+#define R_OR1K_JMP_SLOT                20
+#define R_OR1K_RELATIVE                21
+#define R_OR1K_TLS_GD_HI16     22
+#define R_OR1K_TLS_GD_LO16     23
+#define R_OR1K_TLS_LDM_HI16    24
+#define R_OR1K_TLS_LDM_LO16    25
+#define R_OR1K_TLS_LDO_HI16    26
+#define R_OR1K_TLS_LDO_LO16    27
+#define R_OR1K_TLS_IE_HI16     28
+#define R_OR1K_TLS_IE_LO16     29
+#define R_OR1K_TLS_LE_HI16     30
+#define R_OR1K_TLS_LE_LO16     31
+#define R_OR1K_TLS_TPOFF       32
+#define R_OR1K_TLS_DTPOFF      33
+#define R_OR1K_TLS_DTPMOD      34
+
 #ifdef __cplusplus
 }
 #endif