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