xref: /openbsd/sys/arch/arm/include/reloc.h (revision a6445c1d)
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