xref: /openbsd-src/sys/arch/powerpc64/include/reloc.h (revision 92e19e77c60302d16159333846fd39cb8fb1f43f)
1*92e19e77Skettenis /*	$OpenBSD: reloc.h,v 1.2 2020/07/18 16:41:43 kettenis Exp $	*/
2b0f62f45Sdrahn 
3b0f62f45Sdrahn /*
4*92e19e77Skettenis  * Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org>
5*92e19e77Skettenis  *
6*92e19e77Skettenis  * Permission to use, copy, modify, and distribute this software for any
7*92e19e77Skettenis  * purpose with or without fee is hereby granted, provided that the above
8*92e19e77Skettenis  * copyright notice and this permission notice appear in all copies.
9*92e19e77Skettenis  *
10*92e19e77Skettenis  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11*92e19e77Skettenis  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12*92e19e77Skettenis  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13*92e19e77Skettenis  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14*92e19e77Skettenis  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15*92e19e77Skettenis  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16*92e19e77Skettenis  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17b0f62f45Sdrahn  */
18b0f62f45Sdrahn 
19*92e19e77Skettenis #ifndef	_MACHINE_RELOC_H_
20*92e19e77Skettenis #define	_MACHINE_RELOC_H_
21b0f62f45Sdrahn 
22*92e19e77Skettenis #define R_PPC64_NONE		0
23*92e19e77Skettenis #define R_PPC64_ADDR32		1
24*92e19e77Skettenis #define R_PPC64_ADDR24		2
25*92e19e77Skettenis #define R_PPC64_ADDR16		3
26*92e19e77Skettenis #define R_PPC64_ADDR16_LO	4
27*92e19e77Skettenis #define R_PPC64_ADDR16_HI	5
28*92e19e77Skettenis #define R_PPC64_ADDR16_HA	6
29*92e19e77Skettenis #define R_PPC64_ADDR14		7
30*92e19e77Skettenis 
31*92e19e77Skettenis #define R_PPC64_REL24		10
32*92e19e77Skettenis #define R_PPC64_REL14		11
33*92e19e77Skettenis 
34*92e19e77Skettenis #define R_PPC64_GOT16		14
35*92e19e77Skettenis #define R_PPC64_GOT16_LO	15
36*92e19e77Skettenis #define R_PPC64_GOT16_HI	16
37*92e19e77Skettenis #define R_PPC64_GOT16_HA	17
38*92e19e77Skettenis 
39*92e19e77Skettenis #define R_PPC64_COPY		19
40*92e19e77Skettenis #define R_PPC64_GLOB_DAT	20
41*92e19e77Skettenis #define R_PPC64_JMP_SLOT	21
42*92e19e77Skettenis #define R_PPC64_RELATIVE	22
43*92e19e77Skettenis 
44*92e19e77Skettenis #define R_PPC64_UADDR32		24
45*92e19e77Skettenis #define R_PPC64_UADDR16		25
46*92e19e77Skettenis #define R_PPC64_REL32		26
47*92e19e77Skettenis #define R_PPC64_PLT32		27
48*92e19e77Skettenis #define R_PPC64_PLTREL32	28
49*92e19e77Skettenis #define R_PPC64_PLT16_LO	29
50*92e19e77Skettenis #define R_PPC64_PLT16_HI	30
51*92e19e77Skettenis #define R_PPC64_PLT16_HA	31
52*92e19e77Skettenis 
53*92e19e77Skettenis #define R_PPC64_SECTOFF		33
54*92e19e77Skettenis #define R_PPC64_SECTOFF_LO	34
55*92e19e77Skettenis #define R_PPC64_SECTOFF_HI	35
56*92e19e77Skettenis #define R_PPC64_SECTOFF_HA	36
57*92e19e77Skettenis #define R_PPC64_REL30		37
58*92e19e77Skettenis #define R_PPC64_ADDR64		38
59*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHER	39
60*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHERA	40
61*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHEST	41
62*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHESTA	42
63*92e19e77Skettenis #define R_PPC64_UADDR64		43
64*92e19e77Skettenis #define R_PPC64_REL64		44
65*92e19e77Skettenis #define R_PPC64_PLT64		45
66*92e19e77Skettenis #define R_PPC64_PLTREL64	46
67*92e19e77Skettenis #define R_PPC64_TOC16		47
68*92e19e77Skettenis #define R_PPC64_TOC16_LO	48
69*92e19e77Skettenis #define R_PPC64_TOC16_HI	49
70*92e19e77Skettenis #define R_PPC64_TOC16_HA	50
71*92e19e77Skettenis #define R_PPC64_TOC		51
72*92e19e77Skettenis #define R_PPC64_PLTGOT16	52
73*92e19e77Skettenis #define R_PPC64_PLTGOT16_LO	53
74*92e19e77Skettenis #define R_PPC64_PLTGOT16_HI	54
75*92e19e77Skettenis #define R_PPC64_PLTGOT16_HA	55
76*92e19e77Skettenis #define R_PPC64_ADDR16_DS	56
77*92e19e77Skettenis #define R_PPC64_ADDR16_LO_DS	57
78*92e19e77Skettenis #define R_PPC64_GOT16_DS	58
79*92e19e77Skettenis #define R_PPC64_GOT16_LO_DS	59
80*92e19e77Skettenis #define R_PPC64_PLT16_LO_DS	60
81*92e19e77Skettenis #define R_PPC64_SECTOFF_DS	61
82*92e19e77Skettenis #define R_PPC64_SECTOFF_LO_DS	62
83*92e19e77Skettenis #define R_PPC64_TOC16_DS	63
84*92e19e77Skettenis #define R_PPC64_TOC16_LO_DS	64
85*92e19e77Skettenis #define R_PPC64_PLTGOT16_DS	65
86*92e19e77Skettenis #define R_PPC64_PLTGOT16_LO_DS	66
87*92e19e77Skettenis #define R_PPC64_TLS		67
88*92e19e77Skettenis #define R_PPC64_DTPMOD64	68
89*92e19e77Skettenis #define R_PPC64_TPREL16		69
90*92e19e77Skettenis #define R_PPC64_TPREL16_LO	70
91*92e19e77Skettenis #define R_PPC64_TPREL16_HI	71
92*92e19e77Skettenis #define R_PPC64_TPREL16_HA	72
93*92e19e77Skettenis #define R_PPC64_TPREL64		73
94*92e19e77Skettenis #define R_PPC64_DTPREL16	74
95*92e19e77Skettenis #define R_PPC64_DTPREL16_LO	75
96*92e19e77Skettenis #define R_PPC64_DTPREL16_HI	76
97*92e19e77Skettenis #define R_PPC64_DTPREL16_HA	77
98*92e19e77Skettenis #define R_PPC64_DTPREL64	78
99*92e19e77Skettenis #define R_PPC64_GOT_TLSGD16	79
100*92e19e77Skettenis #define R_PPC64_GOT_TLSGD16_LO	80
101*92e19e77Skettenis #define R_PPC64_GOT_TLSGD16_HI	81
102*92e19e77Skettenis #define R_PPC64_GOT_TLSGD16_HA	82
103*92e19e77Skettenis #define R_PPC64_GOT_TLSD16	83
104*92e19e77Skettenis #define R_PPC64_GOT_TLSD16_LO	84
105*92e19e77Skettenis #define R_PPC64_GOT_TLSD16_HI	85
106*92e19e77Skettenis #define R_PPC64_GOT_TLSD16_HA	86
107*92e19e77Skettenis #define R_PPC64_GOT_TPREL16_DS	87
108*92e19e77Skettenis #define R_PPC64_GOT_TPREL16_LO_DS 88
109*92e19e77Skettenis #define R_PPC64_GOT_TPREL16_HI	89
110*92e19e77Skettenis #define R_PPC64_GOT_TPREL16_HA	90
111*92e19e77Skettenis #define R_PPC64_GOT_DTPREL16_DS	91
112*92e19e77Skettenis #define R_PPC64_GOT_DTPREL16_LO_DS 92
113*92e19e77Skettenis #define R_PPC64_GOT_DTPREL16_HI	93
114*92e19e77Skettenis #define R_PPC64_GOT_DTPREL16_HA	94
115*92e19e77Skettenis #define R_PPC64_TPREL16_DS	95
116*92e19e77Skettenis #define R_PPC64_TPREL16_LO_DS	96
117*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHER	97
118*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHERA	98
119*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHEST	99
120*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHESTA 100
121*92e19e77Skettenis #define R_PPC64_DTPREL16_DS	101
122*92e19e77Skettenis #define R_PPC64_DTPREL16_LO_DS	102
123*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHER	103
124*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHERA 104
125*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHEST 105
126*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHESTA 106
127*92e19e77Skettenis #define R_PPC64_TLSGD		107
128*92e19e77Skettenis #define R_PPC64_TLSLD		108
129*92e19e77Skettenis #define R_PPC64_TOCSAVE		109
130*92e19e77Skettenis #define R_PPC64_ADDR16_HIGH	110
131*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHA	111
132*92e19e77Skettenis #define R_PPC64_TPREL16_HIGH	112
133*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHA	113
134*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGH	114
135*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHA	115
136*92e19e77Skettenis #define R_PPC64_REL24_NOTOC	116
137*92e19e77Skettenis #define R_PPC64_ADDR64_LOCAL	117
138*92e19e77Skettenis #define R_PPC64_ENTRY		118
139*92e19e77Skettenis 
140*92e19e77Skettenis #define R_PPC64_IRELATIVE	248
141*92e19e77Skettenis #define R_PPC64_REL16		249
142*92e19e77Skettenis #define R_PPC64_REL16_LO	250
143*92e19e77Skettenis #define R_PPC64_REL16_HI	251
144*92e19e77Skettenis #define R_PPC64_REL16_HA	252
145*92e19e77Skettenis #define R_PPC64_GNU_VTINHERIT	253
146*92e19e77Skettenis #define R_PPC64_GNU_VTENTRY	254
147*92e19e77Skettenis 
148*92e19e77Skettenis #endif	/* _MACHINE_RELOC_H_ */
149