1 /* $NetBSD: elf_machdep.h,v 1.7 2006/11/25 18:04:33 freza Exp $ */ 2 3 #define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB 4 #define ELF32_MACHDEP_ID_CASES \ 5 case EM_PPC: \ 6 break; 7 8 #define ELF64_MACHDEP_ENDIANNESS ELFDATA2MSB 9 #define ELF64_MACHDEP_ID_CASES \ 10 case EM_PPC64: \ 11 break; 12 13 #define ELF32_MACHDEP_ID EM_PPC 14 #define ELF64_MACHDEP_ID EM_PPC64 15 16 #ifdef _LP64 17 #define ARCH_ELFSIZE 64 /* MD native binary size */ 18 #else 19 #define ARCH_ELFSIZE 32 /* MD native binary size */ 20 #endif 21 22 #define R_PPC_NONE 0 23 #define R_PPC_32 1 24 #define R_PPC_24 2 25 #define R_PPC_16 3 26 #define R_PPC_16_LO 4 27 #define R_PPC_16_HI 5 /* R_PPC_ADDIS */ 28 #define R_PPC_16_HA 6 29 #define R_PPC_14 7 30 #define R_PPC_14_TAKEN 8 31 #define R_PPC_14_NTAKEN 9 32 #define R_PPC_REL24 10 /* R_PPC_BRANCH */ 33 #define R_PPC_REL14 11 34 #define R_PPC_REL14_TAKEN 12 35 #define R_PPC_REL14_NTAKEN 13 36 #define R_PPC_GOT16 14 37 #define R_PPC_GOT16_LO 15 38 #define R_PPC_GOT16_HI 16 39 #define R_PPC_GOT16_HA 17 40 #define R_PPC_PLT24 18 41 #define R_PPC_COPY 19 42 #define R_PPC_GLOB_DAT 20 43 #define R_PPC_JMP_SLOT 21 44 #define R_PPC_RELATIVE 22 45 #define R_PPC_LOCAL24PC 23 46 #define R_PPC_U32 24 47 #define R_PPC_U16 25 48 #define R_PPC_REL32 26 49 #define R_PPC_PLT32 27 50 #define R_PPC_PLTREL32 28 51 #define R_PPC_PLT16_LO 29 52 #define R_PPC_PLT16_HI 30 53 #define R_PPC_PLT16_HA 31 54 #define R_PPC_SDAREL 32 55 56 #define R_TYPE(name) __CONCAT(R_PPC_,name) 57