ldso: support DT_RELR relative relocation format
[musl] / include / elf.h
index 5834027..9e980a2 100644 (file)
@@ -105,6 +105,7 @@ typedef struct {
 #define ELFOSABI_HPUX          1
 #define ELFOSABI_NETBSD                2
 #define ELFOSABI_LINUX         3
+#define ELFOSABI_GNU           3
 #define ELFOSABI_SOLARIS       6
 #define ELFOSABI_AIX           7
 #define ELFOSABI_IRIX          8
@@ -208,10 +209,114 @@ 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_ARC_COMPACT 93
 #define EM_XTENSA      94
-#define EM_NUM         95
+#define EM_VIDEOCORE   95
+#define EM_TMM_GPP     96
+#define EM_NS32K       97
+#define EM_TPC         98
+#define EM_SNP1K       99
+#define EM_ST200       100
+#define EM_IP2K                101
+#define EM_MAX         102
+#define EM_CR          103
+#define EM_F2MC16      104
+#define EM_MSP430      105
+#define EM_BLACKFIN    106
+#define EM_SE_C33      107
+#define EM_SEP         108
+#define EM_ARCA                109
+#define EM_UNICORE     110
+#define EM_EXCESS      111
+#define EM_DXP         112
+#define EM_ALTERA_NIOS2 113
+#define EM_CRX         114
+#define EM_XGATE       115
+#define EM_C166                116
+#define EM_M16C                117
+#define EM_DSPIC30F    118
+#define EM_CE          119
+#define EM_M32C                120
+#define EM_TSK3000     131
+#define EM_RS08                132
+#define EM_SHARC       133
+#define EM_ECOG2       134
+#define EM_SCORE7      135
+#define EM_DSP24       136
+#define EM_VIDEOCORE3  137
+#define EM_LATTICEMICO32 138
+#define EM_SE_C17      139
+#define EM_TI_C6000    140
+#define EM_TI_C2000    141
+#define EM_TI_C5500    142
+#define EM_TI_ARP32    143
+#define EM_TI_PRU      144
+#define EM_MMDSP_PLUS  160
+#define EM_CYPRESS_M8C 161
+#define EM_R32C                162
+#define EM_TRIMEDIA    163
+#define EM_QDSP6       164
+#define EM_8051                165
+#define EM_STXP7X      166
+#define EM_NDS32       167
+#define EM_ECOG1X      168
+#define EM_MAXQ30      169
+#define EM_XIMO16      170
+#define EM_MANIK       171
+#define EM_CRAYNV2     172
+#define EM_RX          173
+#define EM_METAG       174
+#define EM_MCST_ELBRUS 175
+#define EM_ECOG16      176
+#define EM_CR16                177
+#define EM_ETPU                178
+#define EM_SLE9X       179
+#define EM_L10M                180
+#define EM_K10M                181
+#define EM_AARCH64     183
+#define EM_AVR32       185
+#define EM_STM8                186
+#define EM_TILE64      187
+#define EM_TILEPRO     188
+#define EM_MICROBLAZE  189
+#define EM_CUDA                190
+#define EM_TILEGX      191
+#define EM_CLOUDSHIELD 192
+#define EM_COREA_1ST   193
+#define EM_COREA_2ND   194
+#define EM_ARC_COMPACT2        195
+#define EM_OPEN8       196
+#define EM_RL78                197
+#define EM_VIDEOCORE5  198
+#define EM_78KOR       199
+#define EM_56800EX     200
+#define EM_BA1         201
+#define EM_BA2         202
+#define EM_XCORE       203
+#define EM_MCHP_PIC    204
+#define EM_KM32                210
+#define EM_KMX32       211
+#define EM_EMX16       212
+#define EM_EMX8                213
+#define EM_KVARC       214
+#define EM_CDP         215
+#define EM_COGE                216
+#define EM_COOL                217
+#define EM_NORC                218
+#define EM_CSR_KALIMBA 219
+#define EM_Z80         220
+#define EM_VISIUM      221
+#define EM_FT32                222
+#define EM_MOXIE       223
+#define EM_AMDGPU      224
+#define EM_RISCV       243
+#define EM_BPF         247
+#define EM_CSKY                252
+#define EM_NUM         253
+
 #define EM_ALPHA       0x9026
 
 #define EV_NONE                0
@@ -280,7 +385,8 @@ typedef struct {
 #define SHT_PREINIT_ARRAY 16
 #define SHT_GROUP        17
 #define SHT_SYMTAB_SHNDX  18
-#define        SHT_NUM           19
+#define SHT_RELR         19
+#define        SHT_NUM           20
 #define SHT_LOOS         0x60000000
 #define SHT_GNU_ATTRIBUTES 0x6ffffff5
 #define SHT_GNU_HASH     0x6ffffff6
@@ -311,10 +417,31 @@ typedef struct {
 
 #define SHF_GROUP           (1 << 9)
 #define SHF_TLS                     (1 << 10)
+#define SHF_COMPRESSED      (1 << 11)
 #define SHF_MASKOS          0x0ff00000
 #define SHF_MASKPROC        0xf0000000
 #define SHF_ORDERED         (1 << 30)
-#define SHF_EXCLUDE         (1 << 31)
+#define SHF_EXCLUDE         (1U << 31)
+
+typedef struct {
+  Elf32_Word   ch_type;
+  Elf32_Word   ch_size;
+  Elf32_Word   ch_addralign;
+} Elf32_Chdr;
+
+typedef struct {
+  Elf64_Word   ch_type;
+  Elf64_Word   ch_reserved;
+  Elf64_Xword  ch_size;
+  Elf64_Xword  ch_addralign;
+} Elf64_Chdr;
+
+#define ELFCOMPRESS_ZLIB       1
+#define ELFCOMPRESS_LOOS       0x60000000
+#define ELFCOMPRESS_HIOS       0x6fffffff
+#define ELFCOMPRESS_LOPROC     0x70000000
+#define ELFCOMPRESS_HIPROC     0x7fffffff
+
 
 #define GRP_COMDAT     0x1
 
@@ -404,8 +531,7 @@ typedef struct {
 
 
 
-typedef struct
-{
+typedef struct {
   Elf32_Addr   r_offset;
   Elf32_Word   r_info;
 } Elf32_Rel;
@@ -478,6 +604,7 @@ typedef struct {
 #define PT_GNU_EH_FRAME        0x6474e550
 #define PT_GNU_STACK   0x6474e551
 #define PT_GNU_RELRO   0x6474e552
+#define PT_GNU_PROPERTY        0x6474e553
 #define PT_LOSUNW      0x6ffffffa
 #define PT_SUNWBSS     0x6ffffffa
 #define PT_SUNWSTACK   0x6ffffffb
@@ -487,6 +614,8 @@ typedef struct {
 #define PT_HIPROC      0x7fffffff
 
 
+#define PN_XNUM 0xffff
+
 
 #define PF_X           (1 << 0)
 #define PF_W           (1 << 1)
@@ -497,6 +626,7 @@ typedef struct {
 
 
 #define NT_PRSTATUS    1
+#define NT_PRFPREG     2
 #define NT_FPREGSET    2
 #define NT_PRPSINFO    3
 #define NT_PRXREG      4
@@ -512,12 +642,61 @@ typedef struct {
 #define NT_LWPSTATUS   16
 #define NT_LWPSINFO    17
 #define NT_PRFPXREG    20
+#define NT_SIGINFO     0x53494749
+#define NT_FILE                0x46494c45
 #define NT_PRXFPREG    0x46e62b7f
 #define NT_PPC_VMX     0x100
 #define NT_PPC_SPE     0x101
 #define NT_PPC_VSX     0x102
+#define NT_PPC_TAR     0x103
+#define NT_PPC_PPR     0x104
+#define NT_PPC_DSCR    0x105
+#define NT_PPC_EBB     0x106
+#define NT_PPC_PMU     0x107
+#define NT_PPC_TM_CGPR 0x108
+#define NT_PPC_TM_CFPR 0x109
+#define NT_PPC_TM_CVMX 0x10a
+#define NT_PPC_TM_CVSX 0x10b
+#define NT_PPC_TM_SPR  0x10c
+#define NT_PPC_TM_CTAR 0x10d
+#define NT_PPC_TM_CPPR 0x10e
+#define NT_PPC_TM_CDSCR        0x10f
 #define NT_386_TLS     0x200
 #define NT_386_IOPERM  0x201
+#define NT_X86_XSTATE  0x202
+#define NT_S390_HIGH_GPRS      0x300
+#define NT_S390_TIMER  0x301
+#define NT_S390_TODCMP 0x302
+#define NT_S390_TODPREG        0x303
+#define NT_S390_CTRS   0x304
+#define NT_S390_PREFIX 0x305
+#define NT_S390_LAST_BREAK     0x306
+#define NT_S390_SYSTEM_CALL    0x307
+#define NT_S390_TDB    0x308
+#define NT_S390_VXRS_LOW       0x309
+#define NT_S390_VXRS_HIGH      0x30a
+#define NT_S390_GS_CB  0x30b
+#define NT_S390_GS_BC  0x30c
+#define NT_S390_RI_CB  0x30d
+#define NT_ARM_VFP     0x400
+#define NT_ARM_TLS     0x401
+#define NT_ARM_HW_BREAK        0x402
+#define NT_ARM_HW_WATCH        0x403
+#define NT_ARM_SYSTEM_CALL     0x404
+#define NT_ARM_SVE     0x405
+#define NT_ARM_PAC_MASK        0x406
+#define NT_ARM_PACA_KEYS       0x407
+#define NT_ARM_PACG_KEYS       0x408
+#define NT_ARM_TAGGED_ADDR_CTRL        0x409
+#define NT_ARM_PAC_ENABLED_KEYS        0x40a
+#define NT_METAG_CBUF  0x500
+#define NT_METAG_RPIPE 0x501
+#define NT_METAG_TLS   0x502
+#define NT_ARC_V2      0x600
+#define NT_VMCOREDD    0x700
+#define NT_MIPS_DSP    0x800
+#define NT_MIPS_FP_MODE        0x801
+#define NT_MIPS_MSA    0x802
 #define NT_VERSION     1
 
 
@@ -575,7 +754,11 @@ typedef struct {
 #define DT_ENCODING    32
 #define DT_PREINIT_ARRAY 32
 #define DT_PREINIT_ARRAYSZ 33
-#define        DT_NUM          34
+#define DT_SYMTAB_SHNDX        34
+#define DT_RELRSZ      35
+#define DT_RELR                36
+#define DT_RELRENT     37
+#define        DT_NUM          38
 #define DT_LOOS                0x6000000d
 #define DT_HIOS                0x6ffff000
 #define DT_LOPROC      0x70000000
@@ -666,7 +849,17 @@ typedef struct {
 #define DF_1_ENDFILTEE 0x00004000
 #define        DF_1_DISPRELDNE 0x00008000
 #define        DF_1_DISPRELPND 0x00010000
-
+#define        DF_1_NODIRECT   0x00020000
+#define        DF_1_IGNMULDEF  0x00040000
+#define        DF_1_NOKSYMS    0x00080000
+#define        DF_1_NOHDR      0x00100000
+#define        DF_1_EDITED     0x00200000
+#define        DF_1_NORELOC    0x00400000
+#define        DF_1_SYMINTPOSE 0x00800000
+#define        DF_1_GLOBAUDIT  0x01000000
+#define        DF_1_SINGLETON  0x02000000
+#define        DF_1_STUB       0x04000000
+#define        DF_1_PIE        0x08000000
 
 #define DTF_1_PARINIT  0x00000001
 #define DTF_1_CONFEXP  0x00000002
@@ -832,6 +1025,8 @@ typedef struct {
 
 #define AT_RANDOM      25
 
+#define AT_HWCAP2      26
+
 #define AT_EXECFN      31
 
 
@@ -846,7 +1041,16 @@ typedef struct {
 #define AT_L2_CACHESHAPE       36
 #define AT_L3_CACHESHAPE       37
 
+#define AT_L1I_CACHESIZE       40
+#define AT_L1I_CACHEGEOMETRY   41
+#define AT_L1D_CACHESIZE       42
+#define AT_L1D_CACHEGEOMETRY   43
+#define AT_L2_CACHESIZE                44
+#define AT_L2_CACHEGEOMETRY    45
+#define AT_L3_CACHESIZE                46
+#define AT_L3_CACHEGEOMETRY    47
 
+#define AT_MINSIGSTKSZ         51
 
 
 typedef struct {
@@ -888,6 +1092,7 @@ typedef struct {
 
 #define NT_GNU_BUILD_ID        3
 #define NT_GNU_GOLD_VERSION    4
+#define NT_GNU_PROPERTY_TYPE_0 5
 
 
 
@@ -941,7 +1146,25 @@ typedef struct {
 #define R_68K_GLOB_DAT 20
 #define R_68K_JMP_SLOT 21
 #define R_68K_RELATIVE 22
-#define R_68K_NUM      23
+#define R_68K_TLS_GD32 25
+#define R_68K_TLS_GD16 26
+#define R_68K_TLS_GD8  27
+#define R_68K_TLS_LDM32        28
+#define R_68K_TLS_LDM16        29
+#define R_68K_TLS_LDM8 30
+#define R_68K_TLS_LDO32        31
+#define R_68K_TLS_LDO16        32
+#define R_68K_TLS_LDO8 33
+#define R_68K_TLS_IE32 34
+#define R_68K_TLS_IE16 35
+#define R_68K_TLS_IE8  36
+#define R_68K_TLS_LE32 37
+#define R_68K_TLS_LE16 38
+#define R_68K_TLS_LE8  39
+#define R_68K_TLS_DTPMOD32     40
+#define R_68K_TLS_DTPREL32     41
+#define R_68K_TLS_TPREL32      42
+#define R_68K_NUM      43
 
 #define R_386_NONE        0
 #define R_386_32          1
@@ -979,11 +1202,13 @@ typedef struct {
 #define R_386_TLS_DTPMOD32 35
 #define R_386_TLS_DTPOFF32 36
 #define R_386_TLS_TPOFF32  37
+#define R_386_SIZE32       38
 #define R_386_TLS_GOTDESC  39
 #define R_386_TLS_DESC_CALL 40
 #define R_386_TLS_DESC     41
 #define R_386_IRELATIVE           42
-#define R_386_NUM         43
+#define R_386_GOT32X      43
+#define R_386_NUM         44
 
 
 
@@ -1109,20 +1334,6 @@ typedef struct {
 #define DT_SPARC_NUM   2
 
 
-
-#define HWCAP_SPARC_FLUSH      1
-#define HWCAP_SPARC_STBAR      2
-#define HWCAP_SPARC_SWAP       4
-#define HWCAP_SPARC_MULDIV     8
-#define HWCAP_SPARC_V9         16
-#define HWCAP_SPARC_ULTRA3     32
-#define HWCAP_SPARC_BLKINIT    64
-#define HWCAP_SPARC_N2         128
-
-
-
-
-
 #define EF_MIPS_NOREORDER   1
 #define EF_MIPS_PIC        2
 #define EF_MIPS_CPIC       4
@@ -1130,6 +1341,8 @@ typedef struct {
 #define EF_MIPS_64BIT_WHIRL 16
 #define EF_MIPS_ABI2       32
 #define EF_MIPS_ABI_ON32    64
+#define EF_MIPS_FP64       512
+#define EF_MIPS_NAN2008     1024
 #define EF_MIPS_ARCH       0xf0000000
 
 
@@ -1139,9 +1352,10 @@ typedef struct {
 #define EF_MIPS_ARCH_3     0x20000000
 #define EF_MIPS_ARCH_4     0x30000000
 #define EF_MIPS_ARCH_5     0x40000000
-#define EF_MIPS_ARCH_32            0x60000000
-#define EF_MIPS_ARCH_64            0x70000000
-
+#define EF_MIPS_ARCH_32     0x50000000
+#define EF_MIPS_ARCH_64     0x60000000
+#define EF_MIPS_ARCH_32R2   0x70000000
+#define EF_MIPS_ARCH_64R2   0x80000000
 
 
 #define E_MIPS_ARCH_1    0x00000000
@@ -1149,8 +1363,8 @@ typedef struct {
 #define E_MIPS_ARCH_3    0x20000000
 #define E_MIPS_ARCH_4    0x30000000
 #define E_MIPS_ARCH_5    0x40000000
-#define E_MIPS_ARCH_32   0x60000000
-#define E_MIPS_ARCH_64   0x70000000
+#define E_MIPS_ARCH_32   0x50000000
+#define E_MIPS_ARCH_64   0x60000000
 
 
 
@@ -1372,6 +1586,7 @@ typedef struct {
 #define PT_MIPS_REGINFO        0x70000000
 #define PT_MIPS_RTPROC  0x70000001
 #define PT_MIPS_OPTIONS 0x70000002
+#define PT_MIPS_ABIFLAGS 0x70000003
 
 
 
@@ -1435,7 +1650,8 @@ typedef struct {
 #define DT_MIPS_PLTGOT      0x70000032
 
 #define DT_MIPS_RWPLT        0x70000034
-#define DT_MIPS_NUM         0x35
+#define DT_MIPS_RLD_MAP_REL  0x70000035
+#define DT_MIPS_NUM         0x36
 
 
 
@@ -1458,8 +1674,7 @@ typedef struct {
 
 
 
-typedef struct
-{
+typedef struct {
   Elf32_Word l_name;
   Elf32_Word l_time_stamp;
   Elf32_Word l_checksum;
@@ -1467,8 +1682,7 @@ typedef struct
   Elf32_Word l_flags;
 } Elf32_Lib;
 
-typedef struct
-{
+typedef struct {
   Elf64_Word l_name;
   Elf64_Word l_time_stamp;
   Elf64_Word l_checksum;
@@ -1491,7 +1705,73 @@ typedef struct
 
 typedef Elf32_Addr Elf32_Conflict;
 
-
+typedef struct {
+  Elf32_Half version;
+  unsigned char isa_level;
+  unsigned char isa_rev;
+  unsigned char gpr_size;
+  unsigned char cpr1_size;
+  unsigned char cpr2_size;
+  unsigned char fp_abi;
+  Elf32_Word isa_ext;
+  Elf32_Word ases;
+  Elf32_Word flags1;
+  Elf32_Word flags2;
+} Elf_MIPS_ABIFlags_v0;
+
+#define MIPS_AFL_REG_NONE      0x00
+#define MIPS_AFL_REG_32                0x01
+#define MIPS_AFL_REG_64                0x02
+#define MIPS_AFL_REG_128       0x03
+
+#define MIPS_AFL_ASE_DSP       0x00000001
+#define MIPS_AFL_ASE_DSPR2     0x00000002
+#define MIPS_AFL_ASE_EVA       0x00000004
+#define MIPS_AFL_ASE_MCU       0x00000008
+#define MIPS_AFL_ASE_MDMX      0x00000010
+#define MIPS_AFL_ASE_MIPS3D    0x00000020
+#define MIPS_AFL_ASE_MT                0x00000040
+#define MIPS_AFL_ASE_SMARTMIPS 0x00000080
+#define MIPS_AFL_ASE_VIRT      0x00000100
+#define MIPS_AFL_ASE_MSA       0x00000200
+#define MIPS_AFL_ASE_MIPS16    0x00000400
+#define MIPS_AFL_ASE_MICROMIPS 0x00000800
+#define MIPS_AFL_ASE_XPA       0x00001000
+#define MIPS_AFL_ASE_MASK      0x00001fff
+
+#define MIPS_AFL_EXT_XLR         1
+#define MIPS_AFL_EXT_OCTEON2     2
+#define MIPS_AFL_EXT_OCTEONP     3
+#define MIPS_AFL_EXT_LOONGSON_3A  4
+#define MIPS_AFL_EXT_OCTEON      5
+#define MIPS_AFL_EXT_5900        6
+#define MIPS_AFL_EXT_4650        7
+#define MIPS_AFL_EXT_4010        8
+#define MIPS_AFL_EXT_4100        9
+#define MIPS_AFL_EXT_3900        10
+#define MIPS_AFL_EXT_10000       11
+#define MIPS_AFL_EXT_SB1         12
+#define MIPS_AFL_EXT_4111        13
+#define MIPS_AFL_EXT_4120        14
+#define MIPS_AFL_EXT_5400        15
+#define MIPS_AFL_EXT_5500        16
+#define MIPS_AFL_EXT_LOONGSON_2E  17
+#define MIPS_AFL_EXT_LOONGSON_2F  18
+
+#define MIPS_AFL_FLAGS1_ODDSPREG  1
+
+enum
+{
+  Val_GNU_MIPS_ABI_FP_ANY = 0,
+  Val_GNU_MIPS_ABI_FP_DOUBLE = 1,
+  Val_GNU_MIPS_ABI_FP_SINGLE = 2,
+  Val_GNU_MIPS_ABI_FP_SOFT = 3,
+  Val_GNU_MIPS_ABI_FP_OLD_64 = 4,
+  Val_GNU_MIPS_ABI_FP_XX = 5,
+  Val_GNU_MIPS_ABI_FP_64 = 6,
+  Val_GNU_MIPS_ABI_FP_64A = 7,
+  Val_GNU_MIPS_ABI_FP_MAX = 7
+};
 
 
 
@@ -1832,7 +2112,8 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_PPC_GOT_DTPREL16_LO  92
 #define R_PPC_GOT_DTPREL16_HI  93
 #define R_PPC_GOT_DTPREL16_HA  94
-
+#define R_PPC_TLSGD            95
+#define R_PPC_TLSLD            96
 
 
 #define R_PPC_EMB_NADDR32      101
@@ -1875,7 +2156,10 @@ typedef Elf32_Addr Elf32_Conflict;
 
 
 #define DT_PPC_GOT             (DT_LOPROC + 0)
-#define DT_PPC_NUM             1
+#define DT_PPC_OPT             (DT_LOPROC + 1)
+#define DT_PPC_NUM             2
+
+#define PPC_OPT_TLS            1
 
 
 #define R_PPC64_NONE           R_PPC_NONE
@@ -1988,6 +2272,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
@@ -1997,14 +2290,21 @@ 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 PPC64_OPT_LOCALENTRY   4
 
+#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
@@ -2020,7 +2320,8 @@ typedef Elf32_Addr Elf32_Conflict;
 #define EF_ARM_VFP_FLOAT       0x400
 #define EF_ARM_MAVERICK_FLOAT  0x800
 
-
+#define EF_ARM_ABI_FLOAT_SOFT  0x200
+#define EF_ARM_ABI_FLOAT_HARD  0x400
 
 
 #define EF_ARM_SYMSARESORTED   0x04
@@ -2063,7 +2364,141 @@ typedef Elf32_Addr Elf32_Conflict;
 #define SHT_ARM_PREEMPTMAP     (SHT_LOPROC + 2)
 #define SHT_ARM_ATTRIBUTES     (SHT_LOPROC + 3)
 
-
+#define R_AARCH64_NONE            0
+#define R_AARCH64_P32_ABS32    1
+#define R_AARCH64_P32_COPY     180
+#define R_AARCH64_P32_GLOB_DAT 181
+#define R_AARCH64_P32_JUMP_SLOT        182
+#define R_AARCH64_P32_RELATIVE 183
+#define R_AARCH64_P32_TLS_DTPMOD 184
+#define R_AARCH64_P32_TLS_DTPREL 185
+#define R_AARCH64_P32_TLS_TPREL        186
+#define R_AARCH64_P32_TLSDESC  187
+#define R_AARCH64_P32_IRELATIVE        188
+#define R_AARCH64_ABS64         257
+#define R_AARCH64_ABS32         258
+#define R_AARCH64_ABS16                259
+#define R_AARCH64_PREL64       260
+#define R_AARCH64_PREL32       261
+#define R_AARCH64_PREL16       262
+#define R_AARCH64_MOVW_UABS_G0 263
+#define R_AARCH64_MOVW_UABS_G0_NC 264
+#define R_AARCH64_MOVW_UABS_G1 265
+#define R_AARCH64_MOVW_UABS_G1_NC 266
+#define R_AARCH64_MOVW_UABS_G2 267
+#define R_AARCH64_MOVW_UABS_G2_NC 268
+#define R_AARCH64_MOVW_UABS_G3 269
+#define R_AARCH64_MOVW_SABS_G0 270
+#define R_AARCH64_MOVW_SABS_G1 271
+#define R_AARCH64_MOVW_SABS_G2 272
+#define R_AARCH64_LD_PREL_LO19 273
+#define R_AARCH64_ADR_PREL_LO21        274
+#define R_AARCH64_ADR_PREL_PG_HI21 275
+#define R_AARCH64_ADR_PREL_PG_HI21_NC 276
+#define R_AARCH64_ADD_ABS_LO12_NC 277
+#define R_AARCH64_LDST8_ABS_LO12_NC 278
+#define R_AARCH64_TSTBR14      279
+#define R_AARCH64_CONDBR19     280
+#define R_AARCH64_JUMP26       282
+#define R_AARCH64_CALL26       283
+#define R_AARCH64_LDST16_ABS_LO12_NC 284
+#define R_AARCH64_LDST32_ABS_LO12_NC 285
+#define R_AARCH64_LDST64_ABS_LO12_NC 286
+#define R_AARCH64_MOVW_PREL_G0 287
+#define R_AARCH64_MOVW_PREL_G0_NC 288
+#define R_AARCH64_MOVW_PREL_G1 289
+#define R_AARCH64_MOVW_PREL_G1_NC 290
+#define R_AARCH64_MOVW_PREL_G2 291
+#define R_AARCH64_MOVW_PREL_G2_NC 292
+#define R_AARCH64_MOVW_PREL_G3 293
+#define R_AARCH64_LDST128_ABS_LO12_NC 299
+#define R_AARCH64_MOVW_GOTOFF_G0 300
+#define R_AARCH64_MOVW_GOTOFF_G0_NC 301
+#define R_AARCH64_MOVW_GOTOFF_G1 302
+#define R_AARCH64_MOVW_GOTOFF_G1_NC 303
+#define R_AARCH64_MOVW_GOTOFF_G2 304
+#define R_AARCH64_MOVW_GOTOFF_G2_NC 305
+#define R_AARCH64_MOVW_GOTOFF_G3 306
+#define R_AARCH64_GOTREL64     307
+#define R_AARCH64_GOTREL32     308
+#define R_AARCH64_GOT_LD_PREL19        309
+#define R_AARCH64_LD64_GOTOFF_LO15 310
+#define R_AARCH64_ADR_GOT_PAGE 311
+#define R_AARCH64_LD64_GOT_LO12_NC 312
+#define R_AARCH64_LD64_GOTPAGE_LO15 313
+#define R_AARCH64_TLSGD_ADR_PREL21 512
+#define R_AARCH64_TLSGD_ADR_PAGE21 513
+#define R_AARCH64_TLSGD_ADD_LO12_NC 514
+#define R_AARCH64_TLSGD_MOVW_G1        515
+#define R_AARCH64_TLSGD_MOVW_G0_NC 516
+#define R_AARCH64_TLSLD_ADR_PREL21 517
+#define R_AARCH64_TLSLD_ADR_PAGE21 518
+#define R_AARCH64_TLSLD_ADD_LO12_NC 519
+#define R_AARCH64_TLSLD_MOVW_G1        520
+#define R_AARCH64_TLSLD_MOVW_G0_NC 521
+#define R_AARCH64_TLSLD_LD_PREL19 522
+#define R_AARCH64_TLSLD_MOVW_DTPREL_G2 523
+#define R_AARCH64_TLSLD_MOVW_DTPREL_G1 524
+#define R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC 525
+#define R_AARCH64_TLSLD_MOVW_DTPREL_G0 526
+#define R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC 527
+#define R_AARCH64_TLSLD_ADD_DTPREL_HI12 528
+#define R_AARCH64_TLSLD_ADD_DTPREL_LO12 529
+#define R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC 530
+#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12 531
+#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC 532
+#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12 533
+#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 534
+#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12 535
+#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 536
+#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12 537
+#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 538
+#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 539
+#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC 540
+#define R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 541
+#define R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 542
+#define R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 543
+#define R_AARCH64_TLSLE_MOVW_TPREL_G2 544
+#define R_AARCH64_TLSLE_MOVW_TPREL_G1 545
+#define R_AARCH64_TLSLE_MOVW_TPREL_G1_NC 546
+#define R_AARCH64_TLSLE_MOVW_TPREL_G0 547
+#define R_AARCH64_TLSLE_MOVW_TPREL_G0_NC 548
+#define R_AARCH64_TLSLE_ADD_TPREL_HI12 549
+#define R_AARCH64_TLSLE_ADD_TPREL_LO12 550
+#define R_AARCH64_TLSLE_ADD_TPREL_LO12_NC 551
+#define R_AARCH64_TLSLE_LDST8_TPREL_LO12 552
+#define R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC 553
+#define R_AARCH64_TLSLE_LDST16_TPREL_LO12 554
+#define R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC 555
+#define R_AARCH64_TLSLE_LDST32_TPREL_LO12 556
+#define R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC 557
+#define R_AARCH64_TLSLE_LDST64_TPREL_LO12 558
+#define R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC 559
+#define R_AARCH64_TLSDESC_LD_PREL19 560
+#define R_AARCH64_TLSDESC_ADR_PREL21 561
+#define R_AARCH64_TLSDESC_ADR_PAGE21 562
+#define R_AARCH64_TLSDESC_LD64_LO12 563
+#define R_AARCH64_TLSDESC_ADD_LO12 564
+#define R_AARCH64_TLSDESC_OFF_G1 565
+#define R_AARCH64_TLSDESC_OFF_G0_NC 566
+#define R_AARCH64_TLSDESC_LDR  567
+#define R_AARCH64_TLSDESC_ADD  568
+#define R_AARCH64_TLSDESC_CALL 569
+#define R_AARCH64_TLSLE_LDST128_TPREL_LO12 570
+#define R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 571
+#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12 572
+#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 573
+#define R_AARCH64_COPY         1024
+#define R_AARCH64_GLOB_DAT     1025
+#define R_AARCH64_JUMP_SLOT    1026
+#define R_AARCH64_RELATIVE     1027
+#define R_AARCH64_TLS_DTPMOD   1028
+#define R_AARCH64_TLS_DTPMOD64 1028
+#define R_AARCH64_TLS_DTPREL   1029
+#define R_AARCH64_TLS_DTPREL64 1029
+#define R_AARCH64_TLS_TPREL    1030
+#define R_AARCH64_TLS_TPREL64  1030
+#define R_AARCH64_TLSDESC      1031
 
 
 #define R_ARM_NONE             0
@@ -2079,7 +2514,7 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_ARM_THM_PC22         10
 #define R_ARM_THM_PC8          11
 #define R_ARM_AMP_VCALL9       12
-#define R_ARM_SWI24            13
+#define R_ARM_TLS_DESC         13
 #define R_ARM_THM_SWI8         14
 #define R_ARM_XPC25            15
 #define R_ARM_THM_XPC22                16
@@ -2094,12 +2529,78 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_ARM_GOTPC            25
 #define R_ARM_GOT32            26
 #define R_ARM_PLT32            27
+#define R_ARM_CALL             28
+#define R_ARM_JUMP24           29
+#define R_ARM_THM_JUMP24       30
+#define R_ARM_BASE_ABS         31
 #define R_ARM_ALU_PCREL_7_0    32
 #define R_ARM_ALU_PCREL_15_8   33
 #define R_ARM_ALU_PCREL_23_15  34
 #define R_ARM_LDR_SBREL_11_0   35
 #define R_ARM_ALU_SBREL_19_12  36
 #define R_ARM_ALU_SBREL_27_20  37
+#define R_ARM_TARGET1          38
+#define R_ARM_SBREL31          39
+#define R_ARM_V4BX             40
+#define R_ARM_TARGET2          41
+#define R_ARM_PREL31           42
+#define R_ARM_MOVW_ABS_NC      43
+#define R_ARM_MOVT_ABS         44
+#define R_ARM_MOVW_PREL_NC     45
+#define R_ARM_MOVT_PREL                46
+#define R_ARM_THM_MOVW_ABS_NC  47
+#define R_ARM_THM_MOVT_ABS     48
+#define R_ARM_THM_MOVW_PREL_NC 49
+#define R_ARM_THM_MOVT_PREL    50
+#define R_ARM_THM_JUMP19       51
+#define R_ARM_THM_JUMP6                52
+#define R_ARM_THM_ALU_PREL_11_0        53
+#define R_ARM_THM_PC12         54
+#define R_ARM_ABS32_NOI                55
+#define R_ARM_REL32_NOI                56
+#define R_ARM_ALU_PC_G0_NC     57
+#define R_ARM_ALU_PC_G0                58
+#define R_ARM_ALU_PC_G1_NC     59
+#define R_ARM_ALU_PC_G1                60
+#define R_ARM_ALU_PC_G2                61
+#define R_ARM_LDR_PC_G1                62
+#define R_ARM_LDR_PC_G2                63
+#define R_ARM_LDRS_PC_G0       64
+#define R_ARM_LDRS_PC_G1       65
+#define R_ARM_LDRS_PC_G2       66
+#define R_ARM_LDC_PC_G0                67
+#define R_ARM_LDC_PC_G1                68
+#define R_ARM_LDC_PC_G2                69
+#define R_ARM_ALU_SB_G0_NC     70
+#define R_ARM_ALU_SB_G0                71
+#define R_ARM_ALU_SB_G1_NC     72
+#define R_ARM_ALU_SB_G1                73
+#define R_ARM_ALU_SB_G2                74
+#define R_ARM_LDR_SB_G0                75
+#define R_ARM_LDR_SB_G1                76
+#define R_ARM_LDR_SB_G2                77
+#define R_ARM_LDRS_SB_G0       78
+#define R_ARM_LDRS_SB_G1       79
+#define R_ARM_LDRS_SB_G2       80
+#define R_ARM_LDC_SB_G0                81
+#define R_ARM_LDC_SB_G1                82
+#define R_ARM_LDC_SB_G2                83
+#define R_ARM_MOVW_BREL_NC     84
+#define R_ARM_MOVT_BREL                85
+#define R_ARM_MOVW_BREL                86
+#define R_ARM_THM_MOVW_BREL_NC 87
+#define R_ARM_THM_MOVT_BREL    88
+#define R_ARM_THM_MOVW_BREL    89
+#define R_ARM_TLS_GOTDESC      90
+#define R_ARM_TLS_CALL         91
+#define R_ARM_TLS_DESCSEQ      92
+#define R_ARM_THM_TLS_CALL     93
+#define R_ARM_PLT32_ABS                94
+#define R_ARM_GOT_ABS          95
+#define R_ARM_GOT_PREL         96
+#define R_ARM_GOT_BREL12       97
+#define R_ARM_GOTOFF12         98
+#define R_ARM_GOTRELAX         99
 #define R_ARM_GNU_VTENTRY      100
 #define R_ARM_GNU_VTINHERIT    101
 #define R_ARM_THM_PC11         102
@@ -2113,7 +2614,15 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_ARM_TLS_IE32         107
 
 #define R_ARM_TLS_LE32         108
-
+#define R_ARM_TLS_LDO12                109
+#define R_ARM_TLS_LE12         110
+#define R_ARM_TLS_IE12GP       111
+#define R_ARM_ME_TOO           128
+#define R_ARM_THM_TLS_DESCSEQ  129
+#define R_ARM_THM_TLS_DESCSEQ16        129
+#define R_ARM_THM_TLS_DESCSEQ32        130
+#define R_ARM_THM_GOT_BREL12   131
+#define R_ARM_IRELATIVE                160
 #define R_ARM_RXPC25           249
 #define R_ARM_RSBREL32         250
 #define R_ARM_THM_RPC22                251
@@ -2125,6 +2634,61 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_ARM_NUM              256
 
 
+#define R_CKCORE_NONE               0
+#define R_CKCORE_ADDR32             1
+#define R_CKCORE_PCRELIMM8BY4       2
+#define R_CKCORE_PCRELIMM11BY2      3
+#define R_CKCORE_PCREL32            5
+#define R_CKCORE_PCRELJSR_IMM11BY2  6
+#define R_CKCORE_RELATIVE           9
+#define R_CKCORE_COPY               10
+#define R_CKCORE_GLOB_DAT           11
+#define R_CKCORE_JUMP_SLOT          12
+#define R_CKCORE_GOTOFF             13
+#define R_CKCORE_GOTPC              14
+#define R_CKCORE_GOT32              15
+#define R_CKCORE_PLT32              16
+#define R_CKCORE_ADDRGOT            17
+#define R_CKCORE_ADDRPLT            18
+#define R_CKCORE_PCREL_IMM26BY2     19
+#define R_CKCORE_PCREL_IMM16BY2     20
+#define R_CKCORE_PCREL_IMM16BY4     21
+#define R_CKCORE_PCREL_IMM10BY2     22
+#define R_CKCORE_PCREL_IMM10BY4     23
+#define R_CKCORE_ADDR_HI16          24
+#define R_CKCORE_ADDR_LO16          25
+#define R_CKCORE_GOTPC_HI16         26
+#define R_CKCORE_GOTPC_LO16         27
+#define R_CKCORE_GOTOFF_HI16        28
+#define R_CKCORE_GOTOFF_LO16        29
+#define R_CKCORE_GOT12              30
+#define R_CKCORE_GOT_HI16           31
+#define R_CKCORE_GOT_LO16           32
+#define R_CKCORE_PLT12              33
+#define R_CKCORE_PLT_HI16           34
+#define R_CKCORE_PLT_LO16           35
+#define R_CKCORE_ADDRGOT_HI16       36
+#define R_CKCORE_ADDRGOT_LO16       37
+#define R_CKCORE_ADDRPLT_HI16       38
+#define R_CKCORE_ADDRPLT_LO16       39
+#define R_CKCORE_PCREL_JSR_IMM26BY2 40
+#define R_CKCORE_TOFFSET_LO16       41
+#define R_CKCORE_DOFFSET_LO16       42
+#define R_CKCORE_PCREL_IMM18BY2     43
+#define R_CKCORE_DOFFSET_IMM18      44
+#define R_CKCORE_DOFFSET_IMM18BY2   45
+#define R_CKCORE_DOFFSET_IMM18BY4   46
+#define R_CKCORE_GOT_IMM18BY4       48
+#define R_CKCORE_PLT_IMM18BY4       49
+#define R_CKCORE_PCREL_IMM7BY4      50
+#define R_CKCORE_TLS_LE32           51
+#define R_CKCORE_TLS_IE32           52
+#define R_CKCORE_TLS_GD32           53
+#define R_CKCORE_TLS_LDM32          54
+#define R_CKCORE_TLS_LDO32          55
+#define R_CKCORE_TLS_DTPMOD32       56
+#define R_CKCORE_TLS_DTPOFF32       57
+#define R_CKCORE_TLS_TPOFF32        58
 
 
 #define EF_IA_64_MASKOS                0x0000000f
@@ -2237,7 +2801,28 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_IA64_LTOFF_DTPREL22  0xba
 
 
-
+#define EF_SH_MACH_MASK                0x1f
+#define EF_SH_UNKNOWN          0x0
+#define EF_SH1                 0x1
+#define EF_SH2                 0x2
+#define EF_SH3                 0x3
+#define EF_SH_DSP              0x4
+#define EF_SH3_DSP             0x5
+#define EF_SH4AL_DSP           0x6
+#define EF_SH3E                        0x8
+#define EF_SH4                 0x9
+#define EF_SH2E                        0xb
+#define EF_SH4A                        0xc
+#define EF_SH2A                        0xd
+#define EF_SH4_NOFPU           0x10
+#define EF_SH4A_NOFPU          0x11
+#define EF_SH4_NOMMU_NOFPU     0x12
+#define EF_SH2A_NOFPU          0x13
+#define EF_SH3_NOMMU           0x14
+#define EF_SH2A_SH4_NOFPU      0x15
+#define EF_SH2A_SH3_NOFPU      0x16
+#define EF_SH2A_SH4            0x17
+#define EF_SH2A_SH3E           0x18
 
 #define        R_SH_NONE               0
 #define        R_SH_DIR32              1
@@ -2276,6 +2861,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
 
@@ -2421,15 +3014,23 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_X86_64_PC64          24
 #define R_X86_64_GOTOFF64      25
 #define R_X86_64_GOTPC32       26
-
+#define R_X86_64_GOT64         27
+#define R_X86_64_GOTPCREL64    28
+#define R_X86_64_GOTPC64       29
+#define R_X86_64_GOTPLT64      30
+#define R_X86_64_PLTOFF64      31
+#define R_X86_64_SIZE32                32
+#define R_X86_64_SIZE64                33
 
 #define R_X86_64_GOTPC32_TLSDESC 34
 #define R_X86_64_TLSDESC_CALL   35
 
 #define R_X86_64_TLSDESC        36
 #define R_X86_64_IRELATIVE     37
-
-#define R_X86_64_NUM           38
+#define R_X86_64_RELATIVE64    38
+#define R_X86_64_GOTPCRELX     41
+#define R_X86_64_REX_GOTPCRELX 42
+#define R_X86_64_NUM           43
 
 
 
@@ -2516,6 +3117,181 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_M32R_GOTOFF_LO       64
 #define R_M32R_NUM             256
 
+#define R_MICROBLAZE_NONE 0
+#define R_MICROBLAZE_32 1
+#define R_MICROBLAZE_32_PCREL 2
+#define R_MICROBLAZE_64_PCREL 3
+#define R_MICROBLAZE_32_PCREL_LO 4
+#define R_MICROBLAZE_64 5
+#define R_MICROBLAZE_32_LO 6
+#define R_MICROBLAZE_SRO32 7
+#define R_MICROBLAZE_SRW32 8
+#define R_MICROBLAZE_64_NONE 9
+#define R_MICROBLAZE_32_SYM_OP_SYM 10
+#define R_MICROBLAZE_GNU_VTINHERIT 11
+#define R_MICROBLAZE_GNU_VTENTRY 12
+#define R_MICROBLAZE_GOTPC_64 13
+#define R_MICROBLAZE_GOT_64 14
+#define R_MICROBLAZE_PLT_64 15
+#define R_MICROBLAZE_REL 16
+#define R_MICROBLAZE_JUMP_SLOT 17
+#define R_MICROBLAZE_GLOB_DAT 18
+#define R_MICROBLAZE_GOTOFF_64 19
+#define R_MICROBLAZE_GOTOFF_32 20
+#define R_MICROBLAZE_COPY 21
+#define R_MICROBLAZE_TLS 22
+#define R_MICROBLAZE_TLSGD 23
+#define R_MICROBLAZE_TLSLD 24
+#define R_MICROBLAZE_TLSDTPMOD32 25
+#define R_MICROBLAZE_TLSDTPREL32 26
+#define R_MICROBLAZE_TLSDTPREL64 27
+#define R_MICROBLAZE_TLSGOTTPREL32 28
+#define R_MICROBLAZE_TLSTPREL32         29
+
+#define DT_NIOS2_GP             0x70000002
+
+#define R_NIOS2_NONE           0
+#define R_NIOS2_S16            1
+#define R_NIOS2_U16            2
+#define R_NIOS2_PCREL16                3
+#define R_NIOS2_CALL26         4
+#define R_NIOS2_IMM5           5
+#define R_NIOS2_CACHE_OPX      6
+#define R_NIOS2_IMM6           7
+#define R_NIOS2_IMM8           8
+#define R_NIOS2_HI16           9
+#define R_NIOS2_LO16           10
+#define R_NIOS2_HIADJ16                11
+#define R_NIOS2_BFD_RELOC_32   12
+#define R_NIOS2_BFD_RELOC_16   13
+#define R_NIOS2_BFD_RELOC_8    14
+#define R_NIOS2_GPREL          15
+#define R_NIOS2_GNU_VTINHERIT  16
+#define R_NIOS2_GNU_VTENTRY    17
+#define R_NIOS2_UJMP           18
+#define R_NIOS2_CJMP           19
+#define R_NIOS2_CALLR          20
+#define R_NIOS2_ALIGN          21
+#define R_NIOS2_GOT16          22
+#define R_NIOS2_CALL16         23
+#define R_NIOS2_GOTOFF_LO      24
+#define R_NIOS2_GOTOFF_HA      25
+#define R_NIOS2_PCREL_LO       26
+#define R_NIOS2_PCREL_HA       27
+#define R_NIOS2_TLS_GD16       28
+#define R_NIOS2_TLS_LDM16      29
+#define R_NIOS2_TLS_LDO16      30
+#define R_NIOS2_TLS_IE16       31
+#define R_NIOS2_TLS_LE16       32
+#define R_NIOS2_TLS_DTPMOD     33
+#define R_NIOS2_TLS_DTPREL     34
+#define R_NIOS2_TLS_TPREL      35
+#define R_NIOS2_COPY           36
+#define R_NIOS2_GLOB_DAT       37
+#define R_NIOS2_JUMP_SLOT      38
+#define R_NIOS2_RELATIVE       39
+#define R_NIOS2_GOTOFF         40
+#define R_NIOS2_CALL26_NOAT    41
+#define R_NIOS2_GOT_LO         42
+#define R_NIOS2_GOT_HA         43
+#define R_NIOS2_CALL_LO                44
+#define R_NIOS2_CALL_HA                45
+
+#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
+
+#define R_BPF_NONE             0
+#define R_BPF_MAP_FD           1
+
+#define R_RISCV_NONE            0
+#define R_RISCV_32              1
+#define R_RISCV_64              2
+#define R_RISCV_RELATIVE        3
+#define R_RISCV_COPY            4
+#define R_RISCV_JUMP_SLOT       5
+#define R_RISCV_TLS_DTPMOD32    6
+#define R_RISCV_TLS_DTPMOD64    7
+#define R_RISCV_TLS_DTPREL32    8
+#define R_RISCV_TLS_DTPREL64    9
+#define R_RISCV_TLS_TPREL32     10
+#define R_RISCV_TLS_TPREL64     11
+
+#define R_RISCV_BRANCH          16
+#define R_RISCV_JAL             17
+#define R_RISCV_CALL            18
+#define R_RISCV_CALL_PLT        19
+#define R_RISCV_GOT_HI20        20
+#define R_RISCV_TLS_GOT_HI20    21
+#define R_RISCV_TLS_GD_HI20     22
+#define R_RISCV_PCREL_HI20      23
+#define R_RISCV_PCREL_LO12_I    24
+#define R_RISCV_PCREL_LO12_S    25
+#define R_RISCV_HI20            26
+#define R_RISCV_LO12_I          27
+#define R_RISCV_LO12_S          28
+#define R_RISCV_TPREL_HI20      29
+#define R_RISCV_TPREL_LO12_I    30
+#define R_RISCV_TPREL_LO12_S    31
+#define R_RISCV_TPREL_ADD       32
+#define R_RISCV_ADD8            33
+#define R_RISCV_ADD16           34
+#define R_RISCV_ADD32           35
+#define R_RISCV_ADD64           36
+#define R_RISCV_SUB8            37
+#define R_RISCV_SUB16           38
+#define R_RISCV_SUB32           39
+#define R_RISCV_SUB64           40
+#define R_RISCV_GNU_VTINHERIT   41
+#define R_RISCV_GNU_VTENTRY     42
+#define R_RISCV_ALIGN           43
+#define R_RISCV_RVC_BRANCH      44
+#define R_RISCV_RVC_JUMP        45
+#define R_RISCV_RVC_LUI         46
+#define R_RISCV_GPREL_I         47
+#define R_RISCV_GPREL_S         48
+#define R_RISCV_TPREL_I         49
+#define R_RISCV_TPREL_S         50
+#define R_RISCV_RELAX           51
+#define R_RISCV_SUB6            52
+#define R_RISCV_SET6            53
+#define R_RISCV_SET8            54
+#define R_RISCV_SET16           55
+#define R_RISCV_SET32           56
+#define R_RISCV_32_PCREL        57
+
 #ifdef __cplusplus
 }
 #endif