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