1*dc2ac295Schristos /* $NetBSD: elf_machdep.h,v 1.4 2017/11/06 03:47:46 christos Exp $ */ 2f4f0d8a3Sfredette 3f4f0d8a3Sfredette #define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB 4f4f0d8a3Sfredette #define ELF32_MACHDEP_ID_CASES \ 5f4f0d8a3Sfredette case EM_PARISC: \ 6f4f0d8a3Sfredette break; 7f4f0d8a3Sfredette 8f4f0d8a3Sfredette #define ELF64_MACHDEP_ENDIANNESS XXX /* break compilation */ 9f4f0d8a3Sfredette #define ELF64_MACHDEP_ID_CASES \ 10f4f0d8a3Sfredette /* no 64-bit ELF machine types supported */ 11f4f0d8a3Sfredette 12f4f0d8a3Sfredette #define ELF32_MACHDEP_ID EM_PARISC 13f4f0d8a3Sfredette 14*dc2ac295Schristos #define KERN_ELFSIZE 32 15f4f0d8a3Sfredette #define ARCH_ELFSIZE 32 /* MD native binary size */ 16f4f0d8a3Sfredette 17f4f0d8a3Sfredette /* hppa relocation types */ 18f4f0d8a3Sfredette #define R_PARISC_NONE 0 /* No reloc */ 19f4f0d8a3Sfredette #define R_PARISC_DIR32 1 20f4f0d8a3Sfredette #define R_PARISC_DIR21L 2 21f4f0d8a3Sfredette #define R_PARISC_DIR17R 3 22f4f0d8a3Sfredette #define R_PARISC_DIR17F 4 23f4f0d8a3Sfredette #define R_PARISC_DIR14R 6 24f4f0d8a3Sfredette #define R_PARISC_DIR14F 7 25f4f0d8a3Sfredette #define R_PARISC_PCREL12F 8 26f4f0d8a3Sfredette #define R_PARISC_PCREL32 9 27f4f0d8a3Sfredette #define R_PARISC_PCREL21L 10 28f4f0d8a3Sfredette #define R_PARISC_PCREL17R 11 29f4f0d8a3Sfredette #define R_PARISC_PCREL17F 12 30f4f0d8a3Sfredette #define R_PARISC_PCREL17C 13 31f4f0d8a3Sfredette #define R_PARISC_PCREL14R 14 32f4f0d8a3Sfredette #define R_PARISC_PCREL14F 15 33f4f0d8a3Sfredette #define R_PARISC_DPREL21L 18 34f4f0d8a3Sfredette #define R_PARISC_DPREL14WR 19 35f4f0d8a3Sfredette #define R_PARISC_DPREL14DR 20 36f4f0d8a3Sfredette #define R_PARISC_DPREL14R 22 37f4f0d8a3Sfredette #define R_PARISC_DPREL14F 23 38f4f0d8a3Sfredette #define R_PARISC_DLTREL21L 26 39f4f0d8a3Sfredette #define R_PARISC_DLTREL14R 30 40f4f0d8a3Sfredette #define R_PARISC_DLTREL14F 31 41f4f0d8a3Sfredette #define R_PARISC_DLTIND21L 34 42f4f0d8a3Sfredette #define R_PARISC_DLTIND14R 38 43f4f0d8a3Sfredette #define R_PARISC_DLTIND14F 39 44f4f0d8a3Sfredette #define R_PARISC_SETBASE 40 45f4f0d8a3Sfredette #define R_PARISC_SECREL32 41 46f4f0d8a3Sfredette #define R_PARISC_BASEREL21L 42 47f4f0d8a3Sfredette #define R_PARISC_BASEREL17R 43 48f4f0d8a3Sfredette #define R_PARISC_BASEREL17F 44 49f4f0d8a3Sfredette #define R_PARISC_BASEREL14R 46 50f4f0d8a3Sfredette #define R_PARISC_BASEREL14F 47 51f4f0d8a3Sfredette #define R_PARISC_SEGBASE 48 52f4f0d8a3Sfredette #define R_PARISC_SEGREL32 49 53f4f0d8a3Sfredette #define R_PARISC_PLTOFF21L 50 54f4f0d8a3Sfredette #define R_PARISC_PLTOFF14R 54 55f4f0d8a3Sfredette #define R_PARISC_PLTOFF14F 55 56f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR32 57 57f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR21L 58 58f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR14R 62 59f4f0d8a3Sfredette #define R_PARISC_FPTR64 64 60f4f0d8a3Sfredette #define R_PARISC_PLABEL32 65 61f4f0d8a3Sfredette #define R_PARISC_PLABEL21L 66 62f4f0d8a3Sfredette #define R_PARISC_PLABEL14R 70 63f4f0d8a3Sfredette #define R_PARISC_PCREL64 72 64f4f0d8a3Sfredette #define R_PARISC_PCREL22C 73 65f4f0d8a3Sfredette #define R_PARISC_PCREL22F 74 66f4f0d8a3Sfredette #define R_PARISC_PCREL14WR 75 67f4f0d8a3Sfredette #define R_PARISC_PCREL14DR 76 68f4f0d8a3Sfredette #define R_PARISC_PCREL16F 77 69f4f0d8a3Sfredette #define R_PARISC_PCREL16WF 78 70f4f0d8a3Sfredette #define R_PARISC_PCREL16DF 79 71f4f0d8a3Sfredette #define R_PARISC_DIR64 80 72f4f0d8a3Sfredette #define R_PARISC_DIR64WR 81 73f4f0d8a3Sfredette #define R_PARISC_DIR64DR 82 74f4f0d8a3Sfredette #define R_PARISC_DIR14WR 83 75f4f0d8a3Sfredette #define R_PARISC_DIR14DR 84 76f4f0d8a3Sfredette #define R_PARISC_DIR16F 85 77f4f0d8a3Sfredette #define R_PARISC_DIR16WF 86 78f4f0d8a3Sfredette #define R_PARISC_DIR16DF 87 79f4f0d8a3Sfredette #define R_PARISC_GPREL64 88 80f4f0d8a3Sfredette #define R_PARISC_DLTREL14WR 91 81f4f0d8a3Sfredette #define R_PARISC_DLTREL14DR 92 82f4f0d8a3Sfredette #define R_PARISC_GPREL16F 93 83f4f0d8a3Sfredette #define R_PARISC_GPREL16WF 94 84f4f0d8a3Sfredette #define R_PARISC_GPREL16DF 95 85f4f0d8a3Sfredette #define R_PARISC_LTOFF64 96 86f4f0d8a3Sfredette #define R_PARISC_DLTIND14WR 99 87f4f0d8a3Sfredette #define R_PARISC_DLTIND14DR 100 88f4f0d8a3Sfredette #define R_PARISC_LTOFF16F 101 89f4f0d8a3Sfredette #define R_PARISC_LTOFF16WF 102 90f4f0d8a3Sfredette #define R_PARISC_LTOFF16DF 103 91f4f0d8a3Sfredette #define R_PARISC_SECREL64 104 92f4f0d8a3Sfredette #define R_PARISC_BASEREL14WR 107 93f4f0d8a3Sfredette #define R_PARISC_BASEREL14DR 108 94f4f0d8a3Sfredette #define R_PARISC_SEGREL64 112 95f4f0d8a3Sfredette #define R_PARISC_PLTOFF14WR 115 96f4f0d8a3Sfredette #define R_PARISC_PLTOFF14DR 116 97f4f0d8a3Sfredette #define R_PARISC_PLTOFF16F 117 98f4f0d8a3Sfredette #define R_PARISC_PLTOFF16WF 118 99f4f0d8a3Sfredette #define R_PARISC_PLTOFF16DF 119 100f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR64 120 101f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR14WR 123 102f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR14DR 124 103f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR16F 125 104f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR16WF 126 105f4f0d8a3Sfredette #define R_PARISC_LTOFF_FPTR16DF 127 106f4f0d8a3Sfredette #define R_PARISC_COPY 128 107f4f0d8a3Sfredette #define R_PARISC_IPLT 129 108f4f0d8a3Sfredette #define R_PARISC_EPLT 130 109f4f0d8a3Sfredette #define R_PARISC_TPREL32 153 110f4f0d8a3Sfredette #define R_PARISC_TPREL21L 154 111f4f0d8a3Sfredette #define R_PARISC_TPREL14R 158 112f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP21L 162 113f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP14R 166 114f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP14F 167 115f4f0d8a3Sfredette #define R_PARISC_TPREL64 216 116f4f0d8a3Sfredette #define R_PARISC_TPREL14WR 219 117f4f0d8a3Sfredette #define R_PARISC_TPREL14DR 220 118f4f0d8a3Sfredette #define R_PARISC_TPREL16F 221 119f4f0d8a3Sfredette #define R_PARISC_TPREL16WF 222 120f4f0d8a3Sfredette #define R_PARISC_TPREL16DF 223 121f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP64 224 122f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP14WR 227 123f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP14DR 228 124f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP16F 229 125f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP16WF 230 126f4f0d8a3Sfredette #define R_PARISC_LTOFF_TP16DF 231 127f4f0d8a3Sfredette #define R_PARISC_GNU_VTENTRY 232 128f4f0d8a3Sfredette #define R_PARISC_GNU_VTINHERIT 233 129f4f0d8a3Sfredette 130e0397662Sskrll /* TLS relocations */ 131e0397662Sskrll #define R_PARISC_TLS_GD21L 234 132e0397662Sskrll #define R_PARISC_TLS_GD14R 235 133e0397662Sskrll #define R_PARISC_TLS_GDCALL 236 134e0397662Sskrll #define R_PARISC_TLS_LDM21L 237 135e0397662Sskrll #define R_PARISC_TLS_LDM14R 238 136e0397662Sskrll #define R_PARISC_TLS_LDMCALL 239 137e0397662Sskrll #define R_PARISC_TLS_LDO21L 240 138e0397662Sskrll #define R_PARISC_TLS_LDO14R 241 139e0397662Sskrll #define R_PARISC_TLS_DTPMOD32 242 140e0397662Sskrll #define R_PARISC_TLS_DTPMOD64 243 141e0397662Sskrll #define R_PARISC_TLS_DTPOFF32 244 142e0397662Sskrll #define R_PARISC_TLS_DTPOFF64 245 143e0397662Sskrll 144e0397662Sskrll #define R_PARISC_TLS_LE21L R_PARISC_TPREL21L 145e0397662Sskrll #define R_PARISC_TLS_LE14R R_PARISC_TPREL14R 146e0397662Sskrll #define R_PARISC_TLS_IE21L R_PARISC_LTOFF_TP21L 147e0397662Sskrll #define R_PARISC_TLS_IE14R R_PARISC_LTOFF_TP14R 148e0397662Sskrll #define R_PARISC_TLS_TPREL32 R_PARISC_TPREL32 149e0397662Sskrll #define R_PARISC_TLS_TPREL64 R_PARISC_TPREL64 150e0397662Sskrll 151f4f0d8a3Sfredette #define R_TYPE(name) __CONCAT(R_PARISC_,name) 152