| 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 |