Line data Source code
1 :
2 : #ifndef ELF_RELOC
3 : #error "ELF_RELOC must be defined"
4 : #endif
5 :
6 : // glibc's PowerPC asm/sigcontext.h, when compiling for PPC64, has the
7 : // unfortunate behavior of including asm/elf.h, which defines R_PPC_NONE, etc.
8 : // to their corresponding integer values. As a result, we need to undef them
9 : // here before continuing.
10 :
11 : #undef R_PPC_NONE
12 : #undef R_PPC_ADDR32
13 : #undef R_PPC_ADDR24
14 : #undef R_PPC_ADDR16
15 : #undef R_PPC_ADDR16_LO
16 : #undef R_PPC_ADDR16_HI
17 : #undef R_PPC_ADDR16_HA
18 : #undef R_PPC_ADDR14
19 : #undef R_PPC_ADDR14_BRTAKEN
20 : #undef R_PPC_ADDR14_BRNTAKEN
21 : #undef R_PPC_REL24
22 : #undef R_PPC_REL14
23 : #undef R_PPC_REL14_BRTAKEN
24 : #undef R_PPC_REL14_BRNTAKEN
25 : #undef R_PPC_GOT16
26 : #undef R_PPC_GOT16_LO
27 : #undef R_PPC_GOT16_HI
28 : #undef R_PPC_GOT16_HA
29 : #undef R_PPC_PLTREL24
30 : #undef R_PPC_JMP_SLOT
31 : #undef R_PPC_LOCAL24PC
32 : #undef R_PPC_REL32
33 : #undef R_PPC_TLS
34 : #undef R_PPC_DTPMOD32
35 : #undef R_PPC_TPREL16
36 : #undef R_PPC_TPREL16_LO
37 : #undef R_PPC_TPREL16_HI
38 : #undef R_PPC_TPREL16_HA
39 : #undef R_PPC_TPREL32
40 : #undef R_PPC_DTPREL16
41 : #undef R_PPC_DTPREL16_LO
42 : #undef R_PPC_DTPREL16_HI
43 : #undef R_PPC_DTPREL16_HA
44 : #undef R_PPC_DTPREL32
45 : #undef R_PPC_GOT_TLSGD16
46 : #undef R_PPC_GOT_TLSGD16_LO
47 : #undef R_PPC_GOT_TLSGD16_HI
48 : #undef R_PPC_GOT_TLSGD16_HA
49 : #undef R_PPC_GOT_TLSLD16
50 : #undef R_PPC_GOT_TLSLD16_LO
51 : #undef R_PPC_GOT_TLSLD16_HI
52 : #undef R_PPC_GOT_TLSLD16_HA
53 : #undef R_PPC_GOT_TPREL16
54 : #undef R_PPC_GOT_TPREL16_LO
55 : #undef R_PPC_GOT_TPREL16_HI
56 : #undef R_PPC_GOT_TPREL16_HA
57 : #undef R_PPC_GOT_DTPREL16
58 : #undef R_PPC_GOT_DTPREL16_LO
59 : #undef R_PPC_GOT_DTPREL16_HI
60 : #undef R_PPC_GOT_DTPREL16_HA
61 : #undef R_PPC_TLSGD
62 : #undef R_PPC_TLSLD
63 : #undef R_PPC_REL16
64 : #undef R_PPC_REL16_LO
65 : #undef R_PPC_REL16_HI
66 : #undef R_PPC_REL16_HA
67 :
68 0 : ELF_RELOC(R_PPC_NONE, 0) /* No relocation. */
69 1 : ELF_RELOC(R_PPC_ADDR32, 1)
70 0 : ELF_RELOC(R_PPC_ADDR24, 2)
71 0 : ELF_RELOC(R_PPC_ADDR16, 3)
72 0 : ELF_RELOC(R_PPC_ADDR16_LO, 4)
73 0 : ELF_RELOC(R_PPC_ADDR16_HI, 5)
74 0 : ELF_RELOC(R_PPC_ADDR16_HA, 6)
75 0 : ELF_RELOC(R_PPC_ADDR14, 7)
76 0 : ELF_RELOC(R_PPC_ADDR14_BRTAKEN, 8)
77 0 : ELF_RELOC(R_PPC_ADDR14_BRNTAKEN, 9)
78 0 : ELF_RELOC(R_PPC_REL24, 10)
79 0 : ELF_RELOC(R_PPC_REL14, 11)
80 0 : ELF_RELOC(R_PPC_REL14_BRTAKEN, 12)
81 0 : ELF_RELOC(R_PPC_REL14_BRNTAKEN, 13)
82 0 : ELF_RELOC(R_PPC_GOT16, 14)
83 0 : ELF_RELOC(R_PPC_GOT16_LO, 15)
84 0 : ELF_RELOC(R_PPC_GOT16_HI, 16)
85 0 : ELF_RELOC(R_PPC_GOT16_HA, 17)
86 1 : ELF_RELOC(R_PPC_PLTREL24, 18)
87 0 : ELF_RELOC(R_PPC_JMP_SLOT, 21)
88 1 : ELF_RELOC(R_PPC_LOCAL24PC, 23)
89 0 : ELF_RELOC(R_PPC_REL32, 26)
90 0 : ELF_RELOC(R_PPC_TLS, 67)
91 0 : ELF_RELOC(R_PPC_DTPMOD32, 68)
92 0 : ELF_RELOC(R_PPC_TPREL16, 69)
93 0 : ELF_RELOC(R_PPC_TPREL16_LO, 70)
94 0 : ELF_RELOC(R_PPC_TPREL16_HI, 71)
95 0 : ELF_RELOC(R_PPC_TPREL16_HA, 72)
96 0 : ELF_RELOC(R_PPC_TPREL32, 73)
97 0 : ELF_RELOC(R_PPC_DTPREL16, 74)
98 0 : ELF_RELOC(R_PPC_DTPREL16_LO, 75)
99 0 : ELF_RELOC(R_PPC_DTPREL16_HI, 76)
100 0 : ELF_RELOC(R_PPC_DTPREL16_HA, 77)
101 0 : ELF_RELOC(R_PPC_DTPREL32, 78)
102 0 : ELF_RELOC(R_PPC_GOT_TLSGD16, 79)
103 0 : ELF_RELOC(R_PPC_GOT_TLSGD16_LO, 80)
104 0 : ELF_RELOC(R_PPC_GOT_TLSGD16_HI, 81)
105 0 : ELF_RELOC(R_PPC_GOT_TLSGD16_HA, 82)
106 0 : ELF_RELOC(R_PPC_GOT_TLSLD16, 83)
107 0 : ELF_RELOC(R_PPC_GOT_TLSLD16_LO, 84)
108 0 : ELF_RELOC(R_PPC_GOT_TLSLD16_HI, 85)
109 0 : ELF_RELOC(R_PPC_GOT_TLSLD16_HA, 86)
110 0 : ELF_RELOC(R_PPC_GOT_TPREL16, 87)
111 0 : ELF_RELOC(R_PPC_GOT_TPREL16_LO, 88)
112 0 : ELF_RELOC(R_PPC_GOT_TPREL16_HI, 89)
113 0 : ELF_RELOC(R_PPC_GOT_TPREL16_HA, 90)
114 0 : ELF_RELOC(R_PPC_GOT_DTPREL16, 91)
115 0 : ELF_RELOC(R_PPC_GOT_DTPREL16_LO, 92)
116 0 : ELF_RELOC(R_PPC_GOT_DTPREL16_HI, 93)
117 0 : ELF_RELOC(R_PPC_GOT_DTPREL16_HA, 94)
118 0 : ELF_RELOC(R_PPC_TLSGD, 95)
119 0 : ELF_RELOC(R_PPC_TLSLD, 96)
120 0 : ELF_RELOC(R_PPC_REL16, 249)
121 0 : ELF_RELOC(R_PPC_REL16_LO, 250)
122 0 : ELF_RELOC(R_PPC_REL16_HI, 251)
123 0 : ELF_RELOC(R_PPC_REL16_HA, 252)
|