reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
  148
  149
  150
  151
  152
  153
  154
  155
  156
  157
  158
  159
  160
  161
  162
  163
  164
  165
  166
  167
  168
  169
  170
  171
  172
  173
  174
  175
  176
  177
  178
  179
  180
  181
  182
  183
  184
  185
  186
  187
  188
  189
  190
  191
  192
  193
  194
  195
#ifndef ELF_RELOC
#error "ELF_RELOC must be defined"
#endif

// glibc's PowerPC asm/sigcontext.h, when compiling for PPC64, has the
// unfortunate behavior of including asm/elf.h, which defines R_PPC_NONE, etc.
// to their corresponding integer values. As a result, we need to undef them
// here before continuing.

#undef R_PPC64_NONE
#undef R_PPC64_ADDR32
#undef R_PPC64_ADDR24
#undef R_PPC64_ADDR16
#undef R_PPC64_ADDR16_LO
#undef R_PPC64_ADDR16_HI
#undef R_PPC64_ADDR16_HA
#undef R_PPC64_ADDR14
#undef R_PPC64_ADDR14_BRTAKEN
#undef R_PPC64_ADDR14_BRNTAKEN
#undef R_PPC64_REL24
#undef R_PPC64_REL14
#undef R_PPC64_REL14_BRTAKEN
#undef R_PPC64_REL14_BRNTAKEN
#undef R_PPC64_GOT16
#undef R_PPC64_GOT16_LO
#undef R_PPC64_GOT16_HI
#undef R_PPC64_GOT16_HA
#undef R_PPC64_GLOB_DAT
#undef R_PPC64_JMP_SLOT
#undef R_PPC64_RELATIVE
#undef R_PPC64_REL32
#undef R_PPC64_ADDR64
#undef R_PPC64_ADDR16_HIGHER
#undef R_PPC64_ADDR16_HIGHERA
#undef R_PPC64_ADDR16_HIGHEST
#undef R_PPC64_ADDR16_HIGHESTA
#undef R_PPC64_REL64
#undef R_PPC64_TOC16
#undef R_PPC64_TOC16_LO
#undef R_PPC64_TOC16_HI
#undef R_PPC64_TOC16_HA
#undef R_PPC64_TOC
#undef R_PPC64_ADDR16_DS
#undef R_PPC64_ADDR16_LO_DS
#undef R_PPC64_GOT16_DS
#undef R_PPC64_GOT16_LO_DS
#undef R_PPC64_TOC16_DS
#undef R_PPC64_TOC16_LO_DS
#undef R_PPC64_TLS
#undef R_PPC64_DTPMOD64
#undef R_PPC64_TPREL16
#undef R_PPC64_TPREL16_LO
#undef R_PPC64_TPREL16_HI
#undef R_PPC64_TPREL16_HA
#undef R_PPC64_TPREL64
#undef R_PPC64_DTPREL16
#undef R_PPC64_DTPREL16_LO
#undef R_PPC64_DTPREL16_HI
#undef R_PPC64_DTPREL16_HA
#undef R_PPC64_DTPREL64
#undef R_PPC64_GOT_TLSGD16
#undef R_PPC64_GOT_TLSGD16_LO
#undef R_PPC64_GOT_TLSGD16_HI
#undef R_PPC64_GOT_TLSGD16_HA
#undef R_PPC64_GOT_TLSLD16
#undef R_PPC64_GOT_TLSLD16_LO
#undef R_PPC64_GOT_TLSLD16_HI
#undef R_PPC64_GOT_TLSLD16_HA
#undef R_PPC64_GOT_TPREL16_DS
#undef R_PPC64_GOT_TPREL16_LO_DS
#undef R_PPC64_GOT_TPREL16_HI
#undef R_PPC64_GOT_TPREL16_HA
#undef R_PPC64_GOT_DTPREL16_DS
#undef R_PPC64_GOT_DTPREL16_LO_DS
#undef R_PPC64_GOT_DTPREL16_HI
#undef R_PPC64_GOT_DTPREL16_HA
#undef R_PPC64_TPREL16_DS
#undef R_PPC64_TPREL16_LO_DS
#undef R_PPC64_TPREL16_HIGHER
#undef R_PPC64_TPREL16_HIGHERA
#undef R_PPC64_TPREL16_HIGHEST
#undef R_PPC64_TPREL16_HIGHESTA
#undef R_PPC64_DTPREL16_DS
#undef R_PPC64_DTPREL16_LO_DS
#undef R_PPC64_DTPREL16_HIGHER
#undef R_PPC64_DTPREL16_HIGHERA
#undef R_PPC64_DTPREL16_HIGHEST
#undef R_PPC64_DTPREL16_HIGHESTA
#undef R_PPC64_TLSGD
#undef R_PPC64_TLSLD
#undef R_PPC64_ADDR16_HIGH
#undef R_PPC64_ADDR16_HIGHA
#undef R_PPC64_TPREL16_HIGH
#undef R_PPC64_TPREL16_HIGHA
#undef R_PPC64_DTPREL16_HIGH
#undef R_PPC64_DTPREL16_HIGHA
#undef R_PPC64_IRELATIVE
#undef R_PPC64_REL16
#undef R_PPC64_REL16_LO
#undef R_PPC64_REL16_HI
#undef R_PPC64_REL16_HA

ELF_RELOC(R_PPC64_NONE,                 0)
ELF_RELOC(R_PPC64_ADDR32,               1)
ELF_RELOC(R_PPC64_ADDR24,               2)
ELF_RELOC(R_PPC64_ADDR16,               3)
ELF_RELOC(R_PPC64_ADDR16_LO,            4)
ELF_RELOC(R_PPC64_ADDR16_HI,            5)
ELF_RELOC(R_PPC64_ADDR16_HA,            6)
ELF_RELOC(R_PPC64_ADDR14,               7)
ELF_RELOC(R_PPC64_ADDR14_BRTAKEN,       8)
ELF_RELOC(R_PPC64_ADDR14_BRNTAKEN,      9)
ELF_RELOC(R_PPC64_REL24,                10)
ELF_RELOC(R_PPC64_REL14,                11)
ELF_RELOC(R_PPC64_REL14_BRTAKEN,        12)
ELF_RELOC(R_PPC64_REL14_BRNTAKEN,       13)
ELF_RELOC(R_PPC64_GOT16,                14)
ELF_RELOC(R_PPC64_GOT16_LO,             15)
ELF_RELOC(R_PPC64_GOT16_HI,             16)
ELF_RELOC(R_PPC64_GOT16_HA,             17)
ELF_RELOC(R_PPC64_GLOB_DAT,             20)
ELF_RELOC(R_PPC64_JMP_SLOT,             21)
ELF_RELOC(R_PPC64_RELATIVE,             22)
ELF_RELOC(R_PPC64_REL32,                26)
ELF_RELOC(R_PPC64_ADDR64,               38)
ELF_RELOC(R_PPC64_ADDR16_HIGHER,        39)
ELF_RELOC(R_PPC64_ADDR16_HIGHERA,       40)
ELF_RELOC(R_PPC64_ADDR16_HIGHEST,       41)
ELF_RELOC(R_PPC64_ADDR16_HIGHESTA,      42)
ELF_RELOC(R_PPC64_REL64,                44)
ELF_RELOC(R_PPC64_TOC16,                47)
ELF_RELOC(R_PPC64_TOC16_LO,             48)
ELF_RELOC(R_PPC64_TOC16_HI,             49)
ELF_RELOC(R_PPC64_TOC16_HA,             50)
ELF_RELOC(R_PPC64_TOC,                  51)
ELF_RELOC(R_PPC64_ADDR16_DS,            56)
ELF_RELOC(R_PPC64_ADDR16_LO_DS,         57)
ELF_RELOC(R_PPC64_GOT16_DS,             58)
ELF_RELOC(R_PPC64_GOT16_LO_DS,          59)
ELF_RELOC(R_PPC64_TOC16_DS,             63)
ELF_RELOC(R_PPC64_TOC16_LO_DS,          64)
ELF_RELOC(R_PPC64_TLS,                  67)
ELF_RELOC(R_PPC64_DTPMOD64,             68)
ELF_RELOC(R_PPC64_TPREL16,              69)
ELF_RELOC(R_PPC64_TPREL16_LO,           70)
ELF_RELOC(R_PPC64_TPREL16_HI,           71)
ELF_RELOC(R_PPC64_TPREL16_HA,           72)
ELF_RELOC(R_PPC64_TPREL64,              73)
ELF_RELOC(R_PPC64_DTPREL16,             74)
ELF_RELOC(R_PPC64_DTPREL16_LO,          75)
ELF_RELOC(R_PPC64_DTPREL16_HI,          76)
ELF_RELOC(R_PPC64_DTPREL16_HA,          77)
ELF_RELOC(R_PPC64_DTPREL64,             78)
ELF_RELOC(R_PPC64_GOT_TLSGD16,          79)
ELF_RELOC(R_PPC64_GOT_TLSGD16_LO,       80)
ELF_RELOC(R_PPC64_GOT_TLSGD16_HI,       81)
ELF_RELOC(R_PPC64_GOT_TLSGD16_HA,       82)
ELF_RELOC(R_PPC64_GOT_TLSLD16,          83)
ELF_RELOC(R_PPC64_GOT_TLSLD16_LO,       84)
ELF_RELOC(R_PPC64_GOT_TLSLD16_HI,       85)
ELF_RELOC(R_PPC64_GOT_TLSLD16_HA,       86)
ELF_RELOC(R_PPC64_GOT_TPREL16_DS,       87)
ELF_RELOC(R_PPC64_GOT_TPREL16_LO_DS,    88)
ELF_RELOC(R_PPC64_GOT_TPREL16_HI,       89)
ELF_RELOC(R_PPC64_GOT_TPREL16_HA,       90)
ELF_RELOC(R_PPC64_GOT_DTPREL16_DS,      91)
ELF_RELOC(R_PPC64_GOT_DTPREL16_LO_DS,   92)
ELF_RELOC(R_PPC64_GOT_DTPREL16_HI,      93)
ELF_RELOC(R_PPC64_GOT_DTPREL16_HA,      94)
ELF_RELOC(R_PPC64_TPREL16_DS,           95)
ELF_RELOC(R_PPC64_TPREL16_LO_DS,        96)
ELF_RELOC(R_PPC64_TPREL16_HIGHER,       97)
ELF_RELOC(R_PPC64_TPREL16_HIGHERA,      98)
ELF_RELOC(R_PPC64_TPREL16_HIGHEST,      99)
ELF_RELOC(R_PPC64_TPREL16_HIGHESTA,     100)
ELF_RELOC(R_PPC64_DTPREL16_DS,          101)
ELF_RELOC(R_PPC64_DTPREL16_LO_DS,       102)
ELF_RELOC(R_PPC64_DTPREL16_HIGHER,      103)
ELF_RELOC(R_PPC64_DTPREL16_HIGHERA,     104)
ELF_RELOC(R_PPC64_DTPREL16_HIGHEST,     105)
ELF_RELOC(R_PPC64_DTPREL16_HIGHESTA,    106)
ELF_RELOC(R_PPC64_TLSGD,                107)
ELF_RELOC(R_PPC64_TLSLD,                108)
ELF_RELOC(R_PPC64_ADDR16_HIGH,          110)
ELF_RELOC(R_PPC64_ADDR16_HIGHA,         111)
ELF_RELOC(R_PPC64_TPREL16_HIGH,         112)
ELF_RELOC(R_PPC64_TPREL16_HIGHA,        113)
ELF_RELOC(R_PPC64_DTPREL16_HIGH,        114)
ELF_RELOC(R_PPC64_DTPREL16_HIGHA,       115)
ELF_RELOC(R_PPC64_IRELATIVE,            248)
ELF_RELOC(R_PPC64_REL16,                249)
ELF_RELOC(R_PPC64_REL16_LO,             250)
ELF_RELOC(R_PPC64_REL16_HI,             251)
ELF_RELOC(R_PPC64_REL16_HA,             252)