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
#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_PPC_NONE
#undef R_PPC_ADDR32
#undef R_PPC_ADDR24
#undef R_PPC_ADDR16
#undef R_PPC_ADDR16_LO
#undef R_PPC_ADDR16_HI
#undef R_PPC_ADDR16_HA
#undef R_PPC_ADDR14
#undef R_PPC_ADDR14_BRTAKEN
#undef R_PPC_ADDR14_BRNTAKEN
#undef R_PPC_REL24
#undef R_PPC_REL14
#undef R_PPC_REL14_BRTAKEN
#undef R_PPC_REL14_BRNTAKEN
#undef R_PPC_GOT16
#undef R_PPC_GOT16_LO
#undef R_PPC_GOT16_HI
#undef R_PPC_GOT16_HA
#undef R_PPC_PLTREL24
#undef R_PPC_COPY
#undef R_PPC_GLOB_DAT
#undef R_PPC_JMP_SLOT
#undef R_PPC_RELATIVE
#undef R_PPC_LOCAL24PC
#undef R_PPC_UADDR32
#undef R_PPC_UADDR16
#undef R_PPC_REL32
#undef R_PPC_PLT32
#undef R_PPC_PLTREL32
#undef R_PPC_PLT16_LO
#undef R_PPC_PLT16_HI
#undef R_PPC_PLT16_HA
#undef R_PPC_SDAREL16
#undef R_PPC_SECTOFF
#undef R_PPC_SECTOFF_LO
#undef R_PPC_SECTOFF_HI
#undef R_PPC_SECTOFF_HA
#undef R_PPC_ADDR30
#undef R_PPC_TLS
#undef R_PPC_DTPMOD32
#undef R_PPC_TPREL16
#undef R_PPC_TPREL16_LO
#undef R_PPC_TPREL16_HI
#undef R_PPC_TPREL16_HA
#undef R_PPC_TPREL32
#undef R_PPC_DTPREL16
#undef R_PPC_DTPREL16_LO
#undef R_PPC_DTPREL16_HI
#undef R_PPC_DTPREL16_HA
#undef R_PPC_DTPREL32
#undef R_PPC_GOT_TLSGD16
#undef R_PPC_GOT_TLSGD16_LO
#undef R_PPC_GOT_TLSGD16_HI
#undef R_PPC_GOT_TLSGD16_HA
#undef R_PPC_GOT_TLSLD16
#undef R_PPC_GOT_TLSLD16_LO
#undef R_PPC_GOT_TLSLD16_HI
#undef R_PPC_GOT_TLSLD16_HA
#undef R_PPC_GOT_TPREL16
#undef R_PPC_GOT_TPREL16_LO
#undef R_PPC_GOT_TPREL16_HI
#undef R_PPC_GOT_TPREL16_HA
#undef R_PPC_GOT_DTPREL16
#undef R_PPC_GOT_DTPREL16_LO
#undef R_PPC_GOT_DTPREL16_HI
#undef R_PPC_GOT_DTPREL16_HA
#undef R_PPC_TLSGD
#undef R_PPC_TLSLD
#undef R_PPC_REL16
#undef R_PPC_REL16_LO
#undef R_PPC_REL16_HI
#undef R_PPC_REL16_HA

ELF_RELOC(R_PPC_NONE,                   0)      /* No relocation. */
ELF_RELOC(R_PPC_ADDR32,                 1)
ELF_RELOC(R_PPC_ADDR24,                 2)
ELF_RELOC(R_PPC_ADDR16,                 3)
ELF_RELOC(R_PPC_ADDR16_LO,              4)
ELF_RELOC(R_PPC_ADDR16_HI,              5)
ELF_RELOC(R_PPC_ADDR16_HA,              6)
ELF_RELOC(R_PPC_ADDR14,                 7)
ELF_RELOC(R_PPC_ADDR14_BRTAKEN,         8)
ELF_RELOC(R_PPC_ADDR14_BRNTAKEN,        9)
ELF_RELOC(R_PPC_REL24,                  10)
ELF_RELOC(R_PPC_REL14,                  11)
ELF_RELOC(R_PPC_REL14_BRTAKEN,          12)
ELF_RELOC(R_PPC_REL14_BRNTAKEN,         13)
ELF_RELOC(R_PPC_GOT16,                  14)
ELF_RELOC(R_PPC_GOT16_LO,               15)
ELF_RELOC(R_PPC_GOT16_HI,               16)
ELF_RELOC(R_PPC_GOT16_HA,               17)
ELF_RELOC(R_PPC_PLTREL24,               18)
ELF_RELOC(R_PPC_COPY,                   19)
ELF_RELOC(R_PPC_GLOB_DAT,               20)
ELF_RELOC(R_PPC_JMP_SLOT,               21)
ELF_RELOC(R_PPC_RELATIVE,               22)
ELF_RELOC(R_PPC_LOCAL24PC,              23)
ELF_RELOC(R_PPC_UADDR32,                24)
ELF_RELOC(R_PPC_UADDR16,                25)
ELF_RELOC(R_PPC_REL32,                  26)
ELF_RELOC(R_PPC_PLT32,                  27)
ELF_RELOC(R_PPC_PLTREL32,               28)
ELF_RELOC(R_PPC_PLT16_LO,               29)
ELF_RELOC(R_PPC_PLT16_HI,               30)
ELF_RELOC(R_PPC_PLT16_HA,               31)
ELF_RELOC(R_PPC_SDAREL16,               32)
ELF_RELOC(R_PPC_SECTOFF,                33)
ELF_RELOC(R_PPC_SECTOFF_LO,             34)
ELF_RELOC(R_PPC_SECTOFF_HI,             35)
ELF_RELOC(R_PPC_SECTOFF_HA,             36)
ELF_RELOC(R_PPC_ADDR30,                 37)
ELF_RELOC(R_PPC_TLS,                    67)
ELF_RELOC(R_PPC_DTPMOD32,               68)
ELF_RELOC(R_PPC_TPREL16,                69)
ELF_RELOC(R_PPC_TPREL16_LO,             70)
ELF_RELOC(R_PPC_TPREL16_HI,             71)
ELF_RELOC(R_PPC_TPREL16_HA,             72)
ELF_RELOC(R_PPC_TPREL32,                73)
ELF_RELOC(R_PPC_DTPREL16,               74)
ELF_RELOC(R_PPC_DTPREL16_LO,            75)
ELF_RELOC(R_PPC_DTPREL16_HI,            76)
ELF_RELOC(R_PPC_DTPREL16_HA,            77)
ELF_RELOC(R_PPC_DTPREL32,               78)
ELF_RELOC(R_PPC_GOT_TLSGD16,            79)
ELF_RELOC(R_PPC_GOT_TLSGD16_LO,         80)
ELF_RELOC(R_PPC_GOT_TLSGD16_HI,         81)
ELF_RELOC(R_PPC_GOT_TLSGD16_HA,         82)
ELF_RELOC(R_PPC_GOT_TLSLD16,            83)
ELF_RELOC(R_PPC_GOT_TLSLD16_LO,         84)
ELF_RELOC(R_PPC_GOT_TLSLD16_HI,         85)
ELF_RELOC(R_PPC_GOT_TLSLD16_HA,         86)
ELF_RELOC(R_PPC_GOT_TPREL16,            87)
ELF_RELOC(R_PPC_GOT_TPREL16_LO,         88)
ELF_RELOC(R_PPC_GOT_TPREL16_HI,         89)
ELF_RELOC(R_PPC_GOT_TPREL16_HA,         90)
ELF_RELOC(R_PPC_GOT_DTPREL16,           91)
ELF_RELOC(R_PPC_GOT_DTPREL16_LO,        92)
ELF_RELOC(R_PPC_GOT_DTPREL16_HI,        93)
ELF_RELOC(R_PPC_GOT_DTPREL16_HA,        94)
ELF_RELOC(R_PPC_TLSGD,                  95)
ELF_RELOC(R_PPC_TLSLD,                  96)
ELF_RELOC(R_PPC_IRELATIVE,              248)
ELF_RELOC(R_PPC_REL16,                  249)
ELF_RELOC(R_PPC_REL16_LO,               250)
ELF_RELOC(R_PPC_REL16_HI,               251)
ELF_RELOC(R_PPC_REL16_HA,               252)