1/*
2** Copyright 2003, Axel D��rfler, axeld@pinc-software.de. All rights reserved.
3** Distributed under the terms of the MIT License.
4*/
5#ifndef _KERNEL_ARCH_ARM_ELF_H
6#define _KERNEL_ARCH_ARM_ELF_H
7
8
9/* ARM relocs.  */
10#define R_ARM_NONE              0       /* No reloc */
11#define R_ARM_PC24              1       /* PC relative 26 bit branch */
12#define R_ARM_ABS32             2       /* Direct 32 bit  */
13#define R_ARM_REL32             3       /* PC relative 32 bit */
14#define R_ARM_PC13              4
15#define R_ARM_ABS16             5       /* Direct 16 bit */
16#define R_ARM_ABS12             6       /* Direct 12 bit */
17#define R_ARM_THM_ABS5          7
18#define R_ARM_ABS8              8       /* Direct 8 bit */
19#define R_ARM_SBREL32           9
20#define R_ARM_THM_PC22          10
21#define R_ARM_THM_PC8           11
22#define R_ARM_AMP_VCALL9        12
23#define R_ARM_SWI24             13
24#define R_ARM_THM_SWI8          14
25#define R_ARM_XPC25             15
26#define R_ARM_THM_XPC22         16
27#define	R_ARM_TLS_DTPMOD32		17		/* ID of module containing symbol */
28#define	R_ARM_TLS_DTPOFF32		18		/* Offset in TLS block */
29#define	R_ARM_TLS_TPOFF32		19		/* Offset in static TLS block */
30#define R_ARM_COPY              20      /* Copy symbol at runtime */
31#define R_ARM_GLOB_DAT          21      /* Create GOT entry */
32#define R_ARM_JMP_SLOT          22      /* Create PLT entry */
33#define R_ARM_RELATIVE          23      /* Adjust by program base */
34#define R_ARM_GOTOFF            24      /* 32 bit offset to GOT */
35#define R_ARM_GOTPC             25      /* 32 bit PC relative offset to GOT */
36#define R_ARM_GOT32             26      /* 32 bit GOT entry */
37#define R_ARM_PLT32             27      /* 32 bit PLT address */
38#define R_ARM_CALL              28
39#define R_ARM_JUMP24            29
40#define R_ARM_GNU_VTENTRY       100
41#define R_ARM_GNU_VTINHERIT     101
42#define R_ARM_THM_PC11          102     /* thumb unconditional branch */
43#define R_ARM_THM_PC9           103     /* thumb conditional branch */
44#define R_ARM_RXPC25            249
45#define R_ARM_RSBREL32          250
46#define R_ARM_THM_RPC22         251
47#define R_ARM_RREL32            252
48#define R_ARM_RABS22            253
49#define R_ARM_RPC24             254
50#define R_ARM_RBASE             255
51
52#define TLS_DTV_OFFSET 0
53
54
55#endif	/* _KERNEL_ARCH_M68K_ELF_H */
56