Home | History | Annotate | Download | only in ELFRelocs
      1 
      2 #ifndef ELF_RELOC
      3 #error "ELF_RELOC must be defined"
      4 #endif
      5 
      6 // Based on ABI release 1.1-beta, dated 6 November 2013. NB: The cover page of
      7 // this document, IHI0056C_beta_aaelf64.pdf, on infocenter.arm.com, still
      8 // labels this as release 1.0.
      9 ELF_RELOC(R_AARCH64_NONE,                                0)
     10 ELF_RELOC(R_AARCH64_ABS64,                           0x101)
     11 ELF_RELOC(R_AARCH64_ABS32,                           0x102)
     12 ELF_RELOC(R_AARCH64_ABS16,                           0x103)
     13 ELF_RELOC(R_AARCH64_PREL64,                          0x104)
     14 ELF_RELOC(R_AARCH64_PREL32,                          0x105)
     15 ELF_RELOC(R_AARCH64_PREL16,                          0x106)
     16 ELF_RELOC(R_AARCH64_MOVW_UABS_G0,                    0x107)
     17 ELF_RELOC(R_AARCH64_MOVW_UABS_G0_NC,                 0x108)
     18 ELF_RELOC(R_AARCH64_MOVW_UABS_G1,                    0x109)
     19 ELF_RELOC(R_AARCH64_MOVW_UABS_G1_NC,                 0x10a)
     20 ELF_RELOC(R_AARCH64_MOVW_UABS_G2,                    0x10b)
     21 ELF_RELOC(R_AARCH64_MOVW_UABS_G2_NC,                 0x10c)
     22 ELF_RELOC(R_AARCH64_MOVW_UABS_G3,                    0x10d)
     23 ELF_RELOC(R_AARCH64_MOVW_SABS_G0,                    0x10e)
     24 ELF_RELOC(R_AARCH64_MOVW_SABS_G1,                    0x10f)
     25 ELF_RELOC(R_AARCH64_MOVW_SABS_G2,                    0x110)
     26 ELF_RELOC(R_AARCH64_LD_PREL_LO19,                    0x111)
     27 ELF_RELOC(R_AARCH64_ADR_PREL_LO21,                   0x112)
     28 ELF_RELOC(R_AARCH64_ADR_PREL_PG_HI21,                0x113)
     29 ELF_RELOC(R_AARCH64_ADR_PREL_PG_HI21_NC,             0x114)
     30 ELF_RELOC(R_AARCH64_ADD_ABS_LO12_NC,                 0x115)
     31 ELF_RELOC(R_AARCH64_LDST8_ABS_LO12_NC,               0x116)
     32 ELF_RELOC(R_AARCH64_TSTBR14,                         0x117)
     33 ELF_RELOC(R_AARCH64_CONDBR19,                        0x118)
     34 ELF_RELOC(R_AARCH64_JUMP26,                          0x11a)
     35 ELF_RELOC(R_AARCH64_CALL26,                          0x11b)
     36 ELF_RELOC(R_AARCH64_LDST16_ABS_LO12_NC,              0x11c)
     37 ELF_RELOC(R_AARCH64_LDST32_ABS_LO12_NC,              0x11d)
     38 ELF_RELOC(R_AARCH64_LDST64_ABS_LO12_NC,              0x11e)
     39 ELF_RELOC(R_AARCH64_MOVW_PREL_G0,                    0x11f)
     40 ELF_RELOC(R_AARCH64_MOVW_PREL_G0_NC,                 0x120)
     41 ELF_RELOC(R_AARCH64_MOVW_PREL_G1,                    0x121)
     42 ELF_RELOC(R_AARCH64_MOVW_PREL_G1_NC,                 0x122)
     43 ELF_RELOC(R_AARCH64_MOVW_PREL_G2,                    0x123)
     44 ELF_RELOC(R_AARCH64_MOVW_PREL_G2_NC,                 0x124)
     45 ELF_RELOC(R_AARCH64_MOVW_PREL_G3,                    0x125)
     46 ELF_RELOC(R_AARCH64_LDST128_ABS_LO12_NC,             0x12b)
     47 ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G0,                  0x12c)
     48 ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G0_NC,               0x12d)
     49 ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G1,                  0x12e)
     50 ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G1_NC,               0x12f)
     51 ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G2,                  0x130)
     52 ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G2_NC,               0x131)
     53 ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G3,                  0x132)
     54 ELF_RELOC(R_AARCH64_GOTREL64,                        0x133)
     55 ELF_RELOC(R_AARCH64_GOTREL32,                        0x134)
     56 ELF_RELOC(R_AARCH64_GOT_LD_PREL19,                   0x135)
     57 ELF_RELOC(R_AARCH64_LD64_GOTOFF_LO15,                0x136)
     58 ELF_RELOC(R_AARCH64_ADR_GOT_PAGE,                    0x137)
     59 ELF_RELOC(R_AARCH64_LD64_GOT_LO12_NC,                0x138)
     60 ELF_RELOC(R_AARCH64_LD64_GOTPAGE_LO15,               0x139)
     61 ELF_RELOC(R_AARCH64_TLSGD_ADR_PREL21,                0x200)
     62 ELF_RELOC(R_AARCH64_TLSGD_ADR_PAGE21,                0x201)
     63 ELF_RELOC(R_AARCH64_TLSGD_ADD_LO12_NC,               0x202)
     64 ELF_RELOC(R_AARCH64_TLSGD_MOVW_G1,                   0x203)
     65 ELF_RELOC(R_AARCH64_TLSGD_MOVW_G0_NC,                0x204)
     66 ELF_RELOC(R_AARCH64_TLSLD_ADR_PREL21,                0x205)
     67 ELF_RELOC(R_AARCH64_TLSLD_ADR_PAGE21,                0x206)
     68 ELF_RELOC(R_AARCH64_TLSLD_ADD_LO12_NC,               0x207)
     69 ELF_RELOC(R_AARCH64_TLSLD_MOVW_G1,                   0x208)
     70 ELF_RELOC(R_AARCH64_TLSLD_MOVW_G0_NC,                0x209)
     71 ELF_RELOC(R_AARCH64_TLSLD_LD_PREL19,                 0x20a)
     72 ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G2,            0x20b)
     73 ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G1,            0x20c)
     74 ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,         0x20d)
     75 ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G0,            0x20e)
     76 ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,         0x20f)
     77 ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_HI12,           0x210)
     78 ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_LO12,           0x211)
     79 ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC,        0x212)
     80 ELF_RELOC(R_AARCH64_TLSLD_LDST8_DTPREL_LO12,         0x213)
     81 ELF_RELOC(R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC,      0x214)
     82 ELF_RELOC(R_AARCH64_TLSLD_LDST16_DTPREL_LO12,        0x215)
     83 ELF_RELOC(R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,     0x216)
     84 ELF_RELOC(R_AARCH64_TLSLD_LDST32_DTPREL_LO12,        0x217)
     85 ELF_RELOC(R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,     0x218)
     86 ELF_RELOC(R_AARCH64_TLSLD_LDST64_DTPREL_LO12,        0x219)
     87 ELF_RELOC(R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,     0x21a)
     88 ELF_RELOC(R_AARCH64_TLSIE_MOVW_GOTTPREL_G1,          0x21b)
     89 ELF_RELOC(R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC,       0x21c)
     90 ELF_RELOC(R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21,       0x21d)
     91 ELF_RELOC(R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC,     0x21e)
     92 ELF_RELOC(R_AARCH64_TLSIE_LD_GOTTPREL_PREL19,        0x21f)
     93 ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G2,             0x220)
     94 ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G1,             0x221)
     95 ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G1_NC,          0x222)
     96 ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G0,             0x223)
     97 ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G0_NC,          0x224)
     98 ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_HI12,            0x225)
     99 ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_LO12,            0x226)
    100 ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_LO12_NC,         0x227)
    101 ELF_RELOC(R_AARCH64_TLSLE_LDST8_TPREL_LO12,          0x228)
    102 ELF_RELOC(R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC,       0x229)
    103 ELF_RELOC(R_AARCH64_TLSLE_LDST16_TPREL_LO12,         0x22a)
    104 ELF_RELOC(R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,      0x22b)
    105 ELF_RELOC(R_AARCH64_TLSLE_LDST32_TPREL_LO12,         0x22c)
    106 ELF_RELOC(R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,      0x22d)
    107 ELF_RELOC(R_AARCH64_TLSLE_LDST64_TPREL_LO12,         0x22e)
    108 ELF_RELOC(R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,      0x22f)
    109 ELF_RELOC(R_AARCH64_TLSDESC_LD_PREL19,               0x230)
    110 ELF_RELOC(R_AARCH64_TLSDESC_ADR_PREL21,              0x231)
    111 ELF_RELOC(R_AARCH64_TLSDESC_ADR_PAGE21,              0x232)
    112 ELF_RELOC(R_AARCH64_TLSDESC_LD64_LO12_NC,            0x233)
    113 ELF_RELOC(R_AARCH64_TLSDESC_ADD_LO12_NC,             0x234)
    114 ELF_RELOC(R_AARCH64_TLSDESC_OFF_G1,                  0x235)
    115 ELF_RELOC(R_AARCH64_TLSDESC_OFF_G0_NC,               0x236)
    116 ELF_RELOC(R_AARCH64_TLSDESC_LDR,                     0x237)
    117 ELF_RELOC(R_AARCH64_TLSDESC_ADD,                     0x238)
    118 ELF_RELOC(R_AARCH64_TLSDESC_CALL,                    0x239)
    119 ELF_RELOC(R_AARCH64_TLSLE_LDST128_TPREL_LO12,        0x23a)
    120 ELF_RELOC(R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC,     0x23b)
    121 ELF_RELOC(R_AARCH64_TLSLD_LDST128_DTPREL_LO12,       0x23c)
    122 ELF_RELOC(R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC,    0x23d)
    123 ELF_RELOC(R_AARCH64_COPY,                            0x400)
    124 ELF_RELOC(R_AARCH64_GLOB_DAT,                        0x401)
    125 ELF_RELOC(R_AARCH64_JUMP_SLOT,                       0x402)
    126 ELF_RELOC(R_AARCH64_RELATIVE,                        0x403)
    127 ELF_RELOC(R_AARCH64_TLS_DTPREL64,                    0x404)
    128 ELF_RELOC(R_AARCH64_TLS_DTPMOD64,                    0x405)
    129 ELF_RELOC(R_AARCH64_TLS_TPREL64,                     0x406)
    130 ELF_RELOC(R_AARCH64_TLSDESC,                         0x407)
    131 ELF_RELOC(R_AARCH64_IRELATIVE,                       0x408)
    132 
    133 // ELF_RELOC(R_AARCH64_P32_NONE,                         0)
    134 ELF_RELOC(R_AARCH64_P32_ABS32,                       0x001)
    135 ELF_RELOC(R_AARCH64_P32_ABS16,                       0x002)
    136 ELF_RELOC(R_AARCH64_P32_PREL32,                      0x003)
    137 ELF_RELOC(R_AARCH64_P32_PREL16,                      0x004)
    138 ELF_RELOC(R_AARCH64_P32_MOVW_UABS_G0,                0x005)
    139 ELF_RELOC(R_AARCH64_P32_MOVW_UABS_G0_NC,             0x006)
    140 ELF_RELOC(R_AARCH64_P32_MOVW_UABS_G1,                0x007)
    141 ELF_RELOC(R_AARCH64_P32_MOVW_SABS_G0,                0x008)
    142 ELF_RELOC(R_AARCH64_P32_LD_PREL_LO19,                0x009)
    143 ELF_RELOC(R_AARCH64_P32_ADR_PREL_LO21,               0x00a)
    144 ELF_RELOC(R_AARCH64_P32_ADR_PREL_PG_HI21,            0x00b)
    145 ELF_RELOC(R_AARCH64_P32_ADD_ABS_LO12_NC,             0x00c)
    146 ELF_RELOC(R_AARCH64_P32_LDST8_ABS_LO12_NC,           0x00d)
    147 ELF_RELOC(R_AARCH64_P32_TSTBR14,                     0x012)
    148 ELF_RELOC(R_AARCH64_P32_CONDBR19,                    0x013)
    149 ELF_RELOC(R_AARCH64_P32_JUMP26,                      0x014)
    150 ELF_RELOC(R_AARCH64_P32_CALL26,                      0x015)
    151 ELF_RELOC(R_AARCH64_P32_LDST16_ABS_LO12_NC,          0x00e)
    152 ELF_RELOC(R_AARCH64_P32_LDST32_ABS_LO12_NC,          0x00f)
    153 ELF_RELOC(R_AARCH64_P32_LDST64_ABS_LO12_NC,          0x010)
    154 ELF_RELOC(R_AARCH64_P32_MOVW_PREL_G0,                0x016)
    155 ELF_RELOC(R_AARCH64_P32_MOVW_PREL_G0_NC,             0x017)
    156 ELF_RELOC(R_AARCH64_P32_MOVW_PREL_G1,                0x018)
    157 ELF_RELOC(R_AARCH64_P32_LDST128_ABS_LO12_NC,         0x011)
    158 ELF_RELOC(R_AARCH64_P32_GOT_LD_PREL19,               0x019)
    159 ELF_RELOC(R_AARCH64_P32_ADR_GOT_PAGE,                0x01a)
    160 ELF_RELOC(R_AARCH64_P32_LD64_GOT_LO12_NC,            0x01b)
    161 ELF_RELOC(R_AARCH64_P32_LD32_GOTPAGE_LO14,           0x01c)
    162 ELF_RELOC(R_AARCH64_P32_TLSLD_MOVW_DTPREL_G1,        0x057)
    163 ELF_RELOC(R_AARCH64_P32_TLSLD_MOVW_DTPREL_G0,        0x058)
    164 ELF_RELOC(R_AARCH64_P32_TLSLD_MOVW_DTPREL_G0_NC,     0x059)
    165 ELF_RELOC(R_AARCH64_P32_TLSLD_ADD_DTPREL_HI12,       0x05a)
    166 ELF_RELOC(R_AARCH64_P32_TLSLD_ADD_DTPREL_LO12,       0x05b)
    167 ELF_RELOC(R_AARCH64_P32_TLSLD_ADD_DTPREL_LO12_NC,    0x05c)
    168 ELF_RELOC(R_AARCH64_P32_TLSLD_LDST8_DTPREL_LO12,     0x05d)
    169 ELF_RELOC(R_AARCH64_P32_TLSLD_LDST8_DTPREL_LO12_NC,  0x05e)
    170 ELF_RELOC(R_AARCH64_P32_TLSLD_LDST16_DTPREL_LO12,    0x05f)
    171 ELF_RELOC(R_AARCH64_P32_TLSLD_LDST16_DTPREL_LO12_NC, 0x060)
    172 ELF_RELOC(R_AARCH64_P32_TLSLD_LDST32_DTPREL_LO12,    0x061)
    173 ELF_RELOC(R_AARCH64_P32_TLSLD_LDST32_DTPREL_LO12_NC, 0x062)
    174 ELF_RELOC(R_AARCH64_P32_TLSLD_LDST64_DTPREL_LO12,    0x063)
    175 ELF_RELOC(R_AARCH64_P32_TLSLD_LDST64_DTPREL_LO12_NC, 0x064)
    176 ELF_RELOC(R_AARCH64_P32_TLSIE_ADR_GOTTPREL_PAGE21,   0x067)
    177 ELF_RELOC(R_AARCH64_P32_TLSIE_LD32_GOTTPREL_LO12_NC, 0x068)
    178 ELF_RELOC(R_AARCH64_P32_TLSIE_LD_GOTTPREL_PREL19,    0x069)
    179 ELF_RELOC(R_AARCH64_P32_TLSLE_MOVW_TPREL_G1,         0x06a)
    180 ELF_RELOC(R_AARCH64_P32_TLSLE_MOVW_TPREL_G0,         0x06b)
    181 ELF_RELOC(R_AARCH64_P32_TLSLE_MOVW_TPREL_G0_NC,      0x06c)
    182 ELF_RELOC(R_AARCH64_P32_TLSLE_ADD_TPREL_HI12,        0x06d)
    183 ELF_RELOC(R_AARCH64_P32_TLSLE_ADD_TPREL_LO12,        0x06e)
    184 ELF_RELOC(R_AARCH64_P32_TLSLE_ADD_TPREL_LO12_NC,     0x06f)
    185 ELF_RELOC(R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12,      0x070)
    186 ELF_RELOC(R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12_NC,   0x071)
    187 ELF_RELOC(R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12,     0x072)
    188 ELF_RELOC(R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12_NC,  0x073)
    189 ELF_RELOC(R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12,     0x074)
    190 ELF_RELOC(R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12_NC,  0x075)
    191 ELF_RELOC(R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12,     0x076)
    192 ELF_RELOC(R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12_NC,  0x077)
    193 ELF_RELOC(R_AARCH64_P32_TLSDESC_ADR_PAGE21,          0x051)
    194 ELF_RELOC(R_AARCH64_P32_TLSDESC_LD32_LO12_NC,        0x07d)
    195 ELF_RELOC(R_AARCH64_P32_TLSDESC_ADD_LO12_NC,         0x034)
    196 ELF_RELOC(R_AARCH64_P32_TLSDESC_CALL,                0x07f)
    197 ELF_RELOC(R_AARCH64_P32_COPY,                        0x0b4)
    198 ELF_RELOC(R_AARCH64_P32_GLOB_DAT,                    0x0b5)
    199 ELF_RELOC(R_AARCH64_P32_JUMP_SLOT,                   0x0b6)
    200 ELF_RELOC(R_AARCH64_P32_RELATIVE,                    0x0b7)
    201 ELF_RELOC(R_AARCH64_P32_IRELATIVE,                   0x0bc)
    202