xref: /openbsd/sys/arch/sh/include/reloc.h (revision b979ef3d)
1 /*	$OpenBSD: reloc.h,v 1.1 2006/11/10 02:39:47 drahn Exp $	*/
2 /* Processor specific relocation types */
3 
4 #define	R_SH_NONE				0
5 #define	R_SH_DIR32				1
6 #define	R_SH_REL32				2
7 #define	R_SH_DIR8WPN				3
8 #define	R_SH_IND12W				4
9 #define	R_SH_DIR8WPL				5
10 #define	R_SH_DIR8WPZ				6
11 #define	R_SH_DIR8BP				7
12 #define	R_SH_DIR8W				8
13 #define	R_SH_DIR8L				9
14 
15 /* GNU extensions */
16 #define	R_SH_LOOP_START				10
17 #define	R_SH_LOOP_END				11
18 #define	R_SH_GNU_VTINHERIT			22
19 #define	R_SH_GNU_VTENTRY			23
20 #define	R_SH_SWITCH8				24
21 #define	R_SH_SWITCH16				25
22 #define	R_SH_SWITCH32				26
23 #define	R_SH_USES				27
24 #define	R_SH_COUNT				28
25 #define	R_SH_ALIGN				29
26 #define	R_SH_CODE				30
27 #define	R_SH_DATA				31
28 #define	R_SH_LABEL				32
29 
30 #define	R_SH_DIR16				33
31 #define	R_SH_DIR8				34
32 #define	R_SH_DIR8UL				35
33 #define	R_SH_DIR8UW				36
34 #define	R_SH_DIR8U				37
35 #define	R_SH_DIR8SW				38
36 #define	R_SH_DIR8S				39
37 #define	R_SH_DIR4UL				40
38 #define	R_SH_DIR4UW				41
39 #define	R_SH_DIR4U				42
40 #define	R_SH_PSHA				43
41 #define	R_SH_PSHL				44
42 #define	R_SH_DIR5U				45
43 #define	R_SH_DIR6U				46
44 #define	R_SH_DIR6S				47
45 #define	R_SH_DIR10S				48
46 #define	R_SH_DIR10SW				49
47 #define	R_SH_DIR10SL				50
48 #define	R_SH_DIR10SQ				51
49 #define	R_SH_DIR16S				53
50 
51 /* GNU extensions */
52 #define	R_SH_TLS_GD_32				144
53 #define	R_SH_TLS_LD_32				145
54 #define	R_SH_TLS_LDO_32				146
55 #define	R_SH_TLS_IE_32				147
56 #define	R_SH_TLS_LE_32				148
57 #define	R_SH_TLS_DTPMOD32			149
58 #define	R_SH_TLS_DTPOFF32			150
59 #define	R_SH_TLS_TPOFF32			151
60 #define	R_SH_GOT32				160
61 #define	R_SH_PLT32				161
62 #define	R_SH_COPY				162
63 #define	R_SH_GLOB_DAT				163
64 #define	R_SH_JMP_SLOT				164
65 #define	R_SH_RELATIVE				165
66 #define	R_SH_GOTOFF				166
67 #define	R_SH_GOTPC				167
68 #define	R_SH_GOTPLT32				168
69 #define	R_SH_GOT_LOW16				169
70 #define	R_SH_GOT_MEDLOW16			170
71 #define	R_SH_GOT_MEDHI16			171
72 #define	R_SH_GOT_HI16				172
73 #define	R_SH_GOTPLT_LOW16			173
74 #define	R_SH_GOTPLT_MEDLOW16			174
75 #define	R_SH_GOTPLT_MEDHI16			175
76 #define	R_SH_GOTPLT_HI16			176
77 #define	R_SH_PLT_LOW16				177
78 #define	R_SH_PLT_MEDLOW16			178
79 #define	R_SH_PLT_MEDHI16			179
80 #define	R_SH_PLT_HI16				180
81 #define	R_SH_GOTOFF_LOW16			181
82 #define	R_SH_GOTOFF_MEDLOW16			182
83 #define	R_SH_GOTOFF_MEDHI16			183
84 #define	R_SH_GOTOFF_HI16			184
85 #define	R_SH_GOTPC_LOW16			185
86 #define	R_SH_GOTPC_MEDLOW16			186
87 #define	R_SH_GOTPC_MEDHI16			187
88 #define	R_SH_GOTPC_HI16				188
89 #define	R_SH_GOT10BY4				189
90 #define	R_SH_GOTPLT10BY4			190
91 #define	R_SH_GOT10BY8				191
92 #define	R_SH_GOTPLT10BY8			192
93 #define	R_SH_COPY64				193
94 #define	R_SH_GLOB_DAT64				194
95 #define	R_SH_JMP_SLOT64				195
96 #define	R_SH_RELATIVE64				196
97 #define	R_SH_SHMEDIA_CODE			242
98 #define	R_SH_PT_16				243
99 #define	R_SH_IMMS16				244
100 #define	R_SH_IMMU16				245
101 #define	R_SH_IMM_LOW16				246
102 #define	R_SH_IMM_LOW16_PCREL			247
103 #define	R_SH_IMM_MEDLOW16			248
104 #define	R_SH_IMM_MEDLOW16_PCREL			249
105 #define	R_SH_IMM_MEDHI16			250
106 #define	R_SH_IMM_MEDHI16_PCREL			251
107 #define	R_SH_IMM_HI16				252
108 #define	R_SH_IMM_HI16_PCREL			253
109 #define	R_SH_64					254
110 #define	R_SH_64_PCREL				255
111