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 10 /* ARM relocs. */ 11 #define R_ARM_NONE 0 /* No reloc */ 12 #define R_ARM_PC24 1 /* PC relative 26 bit branch */ 13 #define R_ARM_ABS32 2 /* Direct 32 bit */ 14 #define R_ARM_REL32 3 /* PC relative 32 bit */ 15 #define R_ARM_PC13 4 16 #define R_ARM_ABS16 5 /* Direct 16 bit */ 17 #define R_ARM_ABS12 6 /* Direct 12 bit */ 18 #define R_ARM_THM_ABS5 7 19 #define R_ARM_ABS8 8 /* Direct 8 bit */ 20 #define R_ARM_SBREL32 9 21 #define R_ARM_THM_PC22 10 22 #define R_ARM_THM_PC8 11 23 #define R_ARM_AMP_VCALL9 12 24 #define R_ARM_SWI24 13 25 #define R_ARM_THM_SWI8 14 26 #define R_ARM_XPC25 15 27 #define R_ARM_THM_XPC22 16 28 #define R_ARM_COPY 20 /* Copy symbol at runtime */ 29 #define R_ARM_GLOB_DAT 21 /* Create GOT entry */ 30 #define R_ARM_JMP_SLOT 22 /* Create PLT entry */ 31 #define R_ARM_RELATIVE 23 /* Adjust by program base */ 32 #define R_ARM_GOTOFF 24 /* 32 bit offset to GOT */ 33 #define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */ 34 #define R_ARM_GOT32 26 /* 32 bit GOT entry */ 35 #define R_ARM_PLT32 27 /* 32 bit PLT address */ 36 #define R_ARM_CALL 28 37 #define R_ARM_JUMP24 29 38 #define R_ARM_GNU_VTENTRY 100 39 #define R_ARM_GNU_VTINHERIT 101 40 #define R_ARM_THM_PC11 102 /* thumb unconditional branch */ 41 #define R_ARM_THM_PC9 103 /* thumb conditional branch */ 42 #define R_ARM_RXPC25 249 43 #define R_ARM_RSBREL32 250 44 #define R_ARM_THM_RPC22 251 45 #define R_ARM_RREL32 252 46 #define R_ARM_RABS22 253 47 #define R_ARM_RPC24 254 48 #define R_ARM_RBASE 255 49 50 51 52 53 54 55 #endif /* _KERNEL_ARCH_M68K_ELF_H */ 56