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