1 /* $NetBSD: elf_machdep.h,v 1.9 2011/01/15 10:00:07 matt 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 /* Specify the value of _GLOBAL_OFFSET_TABLE_ */ 23 #define DT_PPC_GOT DT_LOPROC 24 25 #define R_PPC_NONE 0 26 #define R_PPC_32 1 27 #define R_PPC_24 2 28 #define R_PPC_16 3 29 #define R_PPC_16_LO 4 30 #define R_PPC_16_HI 5 /* R_PPC_ADDIS */ 31 #define R_PPC_16_HA 6 32 #define R_PPC_14 7 33 #define R_PPC_14_TAKEN 8 34 #define R_PPC_14_NTAKEN 9 35 #define R_PPC_REL24 10 /* R_PPC_BRANCH */ 36 #define R_PPC_REL14 11 37 #define R_PPC_REL14_TAKEN 12 38 #define R_PPC_REL14_NTAKEN 13 39 #define R_PPC_GOT16 14 40 #define R_PPC_GOT16_LO 15 41 #define R_PPC_GOT16_HI 16 42 #define R_PPC_GOT16_HA 17 43 #define R_PPC_PLT24 18 44 #define R_PPC_COPY 19 45 #define R_PPC_GLOB_DAT 20 46 #define R_PPC_JMP_SLOT 21 47 #define R_PPC_RELATIVE 22 48 #define R_PPC_LOCAL24PC 23 49 #define R_PPC_U32 24 50 #define R_PPC_U16 25 51 #define R_PPC_REL32 26 52 #define R_PPC_PLT32 27 53 #define R_PPC_PLTREL32 28 54 #define R_PPC_PLT16_LO 29 55 #define R_PPC_PLT16_HI 30 56 #define R_PPC_PLT16_HA 31 57 #define R_PPC_SDAREL16 32 58 #define R_PPC_SECTOFF 33 59 #define R_PPC_SECTOFF_LO 34 60 #define R_PPC_SECTOFF_HI 35 61 #define R_PPC_SECTOFF_HA 36 62 #define R_PPC_ADDR30 37 63 64 /* TLS relocations */ 65 #define R_PPC_TLS 67 66 67 #define R_PPC_DTPMOD32 68 68 #define R_PPC_TPREL16 69 69 #define R_PPC_TPREL16_LO 70 70 #define R_PPC_TPREL16_HI 71 71 #define R_PPC_TPREL16_HA 72 72 #define R_PPC_TPREL32 73 73 #define R_PPC_DTPREL16 74 74 #define R_PPC_DTPREL16_LO 75 75 #define R_PPC_DTPREL16_HI 76 76 #define R_PPC_DTPREL16_HA 77 77 #define R_PPC_DTPREL32 78 78 79 #define R_PPC_GOT_TLSGD16 79 80 #define R_PPC_GOT_TLSGD16_LO 80 81 #define R_PPC_GOT_TLSGD16_HI 81 82 #define R_PPC_GOT_TLSGD16_HA 82 83 #define R_PPC_GOT_TLSLD16 83 84 #define R_PPC_GOT_TLSLD16_LO 84 85 #define R_PPC_GOT_TLSLD16_HI 85 86 #define R_PPC_GOT_TLSLD16_HA 86 87 88 #define R_PPC_GOT_TPREL16 87 89 #define R_PPC_GOT_TPREL16_LO 88 90 #define R_PPC_GOT_TPREL16_HI 89 91 #define R_PPC_GOT_TPREL16_HA 90 92 #define R_PPC_GOT_DTPREL16 91 93 #define R_PPC_GOT_DTPREL16_LO 92 94 #define R_PPC_GOT_DTPREL16_HI 93 95 #define R_PPC_GOT_DTPREL16_HA 94 96 #define R_PPC_TLSGD 95 97 #define R_PPC_TLSLD 96 98 99 /* Used for the secure-plt PIC code sequences */ 100 #define R_PPC_REL16 249 101 #define R_PPC_REL16_LO 250 102 #define R_PPC_REL16_HI 251 103 #define R_PPC_REL16_HA 252 104 105 #define R_TYPE(name) __CONCAT(R_PPC_,name) 106