1 1.8 skrll /* $NetBSD: elf_machdep.h,v 1.8 2009/05/30 05:56:53 skrll Exp $ */ 2 1.1 thorpej 3 1.3 kleink #define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB 4 1.1 thorpej #define ELF32_MACHDEP_ID_CASES \ 5 1.3 kleink case EM_PPC: \ 6 1.1 thorpej break; 7 1.1 thorpej 8 1.6 ross #define ELF64_MACHDEP_ENDIANNESS ELFDATA2MSB 9 1.1 thorpej #define ELF64_MACHDEP_ID_CASES \ 10 1.6 ross case EM_PPC64: \ 11 1.6 ross break; 12 1.5 thorpej 13 1.5 thorpej #define ELF32_MACHDEP_ID EM_PPC 14 1.6 ross #define ELF64_MACHDEP_ID EM_PPC64 15 1.4 minoura 16 1.6 ross #ifdef _LP64 17 1.6 ross #define ARCH_ELFSIZE 64 /* MD native binary size */ 18 1.6 ross #else 19 1.4 minoura #define ARCH_ELFSIZE 32 /* MD native binary size */ 20 1.6 ross #endif 21 1.1 thorpej 22 1.7 freza #define R_PPC_NONE 0 23 1.7 freza #define R_PPC_32 1 24 1.7 freza #define R_PPC_24 2 25 1.7 freza #define R_PPC_16 3 26 1.7 freza #define R_PPC_16_LO 4 27 1.7 freza #define R_PPC_16_HI 5 /* R_PPC_ADDIS */ 28 1.7 freza #define R_PPC_16_HA 6 29 1.7 freza #define R_PPC_14 7 30 1.7 freza #define R_PPC_14_TAKEN 8 31 1.7 freza #define R_PPC_14_NTAKEN 9 32 1.7 freza #define R_PPC_REL24 10 /* R_PPC_BRANCH */ 33 1.7 freza #define R_PPC_REL14 11 34 1.7 freza #define R_PPC_REL14_TAKEN 12 35 1.7 freza #define R_PPC_REL14_NTAKEN 13 36 1.7 freza #define R_PPC_GOT16 14 37 1.7 freza #define R_PPC_GOT16_LO 15 38 1.7 freza #define R_PPC_GOT16_HI 16 39 1.7 freza #define R_PPC_GOT16_HA 17 40 1.7 freza #define R_PPC_PLT24 18 41 1.7 freza #define R_PPC_COPY 19 42 1.7 freza #define R_PPC_GLOB_DAT 20 43 1.7 freza #define R_PPC_JMP_SLOT 21 44 1.7 freza #define R_PPC_RELATIVE 22 45 1.7 freza #define R_PPC_LOCAL24PC 23 46 1.7 freza #define R_PPC_U32 24 47 1.7 freza #define R_PPC_U16 25 48 1.7 freza #define R_PPC_REL32 26 49 1.7 freza #define R_PPC_PLT32 27 50 1.7 freza #define R_PPC_PLTREL32 28 51 1.7 freza #define R_PPC_PLT16_LO 29 52 1.7 freza #define R_PPC_PLT16_HI 30 53 1.7 freza #define R_PPC_PLT16_HA 31 54 1.7 freza #define R_PPC_SDAREL 32 55 1.2 tsubai 56 1.8 skrll /* TLS relocations */ 57 1.8 skrll #define R_PPC_TLS 67 58 1.8 skrll 59 1.8 skrll #define R_PPC_DTPMOD32 68 60 1.8 skrll #define R_PPC_TPREL16 69 61 1.8 skrll #define R_PPC_TPREL16_LO 70 62 1.8 skrll #define R_PPC_TPREL16_HI 71 63 1.8 skrll #define R_PPC_TPREL16_HA 72 64 1.8 skrll #define R_PPC_TPREL32 73 65 1.8 skrll #define R_PPC_DTPREL16 74 66 1.8 skrll #define R_PPC_DTPREL16_LO 75 67 1.8 skrll #define R_PPC_DTPREL16_HI 76 68 1.8 skrll #define R_PPC_DTPREL16_HA 77 69 1.8 skrll #define R_PPC_DTPREL32 78 70 1.8 skrll 71 1.8 skrll #define R_PPC_GOT_TLSGD16 79 72 1.8 skrll #define R_PPC_GOT_TLSGD16_LO 80 73 1.8 skrll #define R_PPC_GOT_TLSGD16_HI 81 74 1.8 skrll #define R_PPC_GOT_TLSGD16_HA 82 75 1.8 skrll #define R_PPC_GOT_TLSLD16 83 76 1.8 skrll #define R_PPC_GOT_TLSLD16_LO 84 77 1.8 skrll #define R_PPC_GOT_TLSLD16_HI 85 78 1.8 skrll #define R_PPC_GOT_TLSLD16_HA 86 79 1.8 skrll 80 1.8 skrll #define R_PPC_GOT_TPREL16 87 81 1.8 skrll #define R_PPC_GOT_TPREL16_LO 88 82 1.8 skrll #define R_PPC_GOT_TPREL16_HI 89 83 1.8 skrll #define R_PPC_GOT_TPREL16_HA 90 84 1.8 skrll #define R_PPC_GOT_DTPREL16 91 85 1.8 skrll #define R_PPC_GOT_DTPREL16_LO 92 86 1.8 skrll #define R_PPC_GOT_DTPREL16_HI 93 87 1.8 skrll #define R_PPC_GOT_DTPREL16_HA 94 88 1.8 skrll #define R_PPC_TLSGD 95 89 1.8 skrll #define R_PPC_TLSLD 96 90 1.8 skrll 91 1.7 freza #define R_TYPE(name) __CONCAT(R_PPC_,name) 92