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