1/*	$OpenBSD: reloc.h,v 1.2 2006/05/26 20:22:04 miod Exp $	*/
2/* Processor specific relocation types */
3
4#define R_ARM_NONE		0
5#define R_ARM_PC24		1
6#define R_ARM_ABS32		2
7#define R_ARM_REL32		3
8#define R_ARM_PC13		4
9#define R_ARM_ABS16		5
10#define R_ARM_ABS12		6
11#define R_ARM_THM_ABS5		7
12#define R_ARM_ABS8		8
13#define R_ARM_SBREL32		9
14#define R_ARM_THM_PC22		10
15#define R_ARM_THM_PC8		11
16#define R_ARM_AMP_VCALL9	12
17#define R_ARM_SWI24		13
18#define R_ARM_THM_SWI8		14
19#define R_ARM_XPC25		15
20#define R_ARM_THM_XPC22		16
21
22/* 17-31 are reserved for ARM Linux. */
23#define R_ARM_COPY		20
24#define R_ARM_GLOB_DAT		21
25#define	R_ARM_JUMP_SLOT		22
26#define R_ARM_RELATIVE		23
27#define	R_ARM_GOTOFF		24
28#define R_ARM_GOTPC		25
29#define R_ARM_GOT32		26
30#define R_ARM_PLT32		27
31
32#define R_ARM_ALU_PCREL_7_0	32
33#define R_ARM_ALU_PCREL_15_8	33
34#define R_ARM_ALU_PCREL_23_15	34
35#define R_ARM_ALU_SBREL_11_0	35
36#define R_ARM_ALU_SBREL_19_12	36
37#define R_ARM_ALU_SBREL_27_20	37
38
39/* 96-111 are reserved to G++. */
40#define R_ARM_GNU_VTENTRY	100
41#define R_ARM_GNU_VTINHERIT	101
42#define R_ARM_THM_PC11		102
43#define R_ARM_THM_PC9		103
44
45/* 112-127 are reserved for private experiments. */
46
47#define R_ARM_RXPC25		249
48#define R_ARM_RSBREL32		250
49#define R_ARM_THM_RPC22		251
50#define R_ARM_RREL32		252
51#define R_ARM_RABS32		253
52#define R_ARM_RPC24		254
53#define R_ARM_RBASE		255
54
55