1*dc2ac295Schristos /* $NetBSD: elf_machdep.h,v 1.6 2017/11/06 03:47:45 christos Exp $ */ 2433b5ddeSmrg 3d03d0225Scegger #if !defined __i386__ 481918bf8Sfvdl 581918bf8Sfvdl #define ELF32_MACHDEP_ENDIANNESS ELFDATA2LSB 681918bf8Sfvdl #define ELF32_MACHDEP_ID_CASES \ 781918bf8Sfvdl case EM_386: \ 881918bf8Sfvdl break; 981918bf8Sfvdl 1081918bf8Sfvdl #define ELF64_MACHDEP_ENDIANNESS ELFDATA2LSB 1181918bf8Sfvdl #define ELF64_MACHDEP_ID_CASES \ 1281918bf8Sfvdl case EM_X86_64: \ 1381918bf8Sfvdl break; 1481918bf8Sfvdl 1581918bf8Sfvdl #define ELF32_MACHDEP_ID EM_386 1681918bf8Sfvdl #define ELF64_MACHDEP_ID EM_X86_64 1781918bf8Sfvdl 18*dc2ac295Schristos #define KERN_ELFSIZE 64 1981918bf8Sfvdl #define ARCH_ELFSIZE 64 /* MD native binary size */ 2081918bf8Sfvdl 2181918bf8Sfvdl /* x86-64 relocations */ 2281918bf8Sfvdl 2381918bf8Sfvdl #define R_X86_64_NONE 0 2481918bf8Sfvdl #define R_X86_64_64 1 2581918bf8Sfvdl #define R_X86_64_PC32 2 2681918bf8Sfvdl #define R_X86_64_GOT32 3 2781918bf8Sfvdl #define R_X86_64_PLT32 4 2881918bf8Sfvdl #define R_X86_64_COPY 5 2981918bf8Sfvdl #define R_X86_64_GLOB_DAT 6 3081918bf8Sfvdl #define R_X86_64_JUMP_SLOT 7 3181918bf8Sfvdl #define R_X86_64_RELATIVE 8 3281918bf8Sfvdl #define R_X86_64_GOTPCREL 9 3381918bf8Sfvdl #define R_X86_64_32 10 3481918bf8Sfvdl #define R_X86_64_32S 11 3581918bf8Sfvdl #define R_X86_64_16 12 3681918bf8Sfvdl #define R_X86_64_PC16 13 3781918bf8Sfvdl #define R_X86_64_8 14 3881918bf8Sfvdl #define R_X86_64_PC8 15 3981918bf8Sfvdl 40e0397662Sskrll /* TLS relocations */ 41e0397662Sskrll #define R_X86_64_DTPMOD64 16 42e0397662Sskrll #define R_X86_64_DTPOFF64 17 43e0397662Sskrll #define R_X86_64_TPOFF64 18 44e0397662Sskrll #define R_X86_64_TLSGD 19 45e0397662Sskrll #define R_X86_64_TLSLD 20 46e0397662Sskrll #define R_X86_64_DTPOFF32 21 47e0397662Sskrll #define R_X86_64_GOTTPOFF 22 48e0397662Sskrll #define R_X86_64_TPOFF32 23 49e0397662Sskrll 50a0e03720Schristos #define R_X86_64_PC64 24 51a0e03720Schristos #define R_X86_64_GOTOFF64 25 52a0e03720Schristos #define R_X86_64_GOTPC32 26 53a0e03720Schristos #define R_X86_64_GOT64 27 54a0e03720Schristos #define R_X86_64_GOTPCREL64 28 55a0e03720Schristos #define R_X86_64_GOTPC64 29 56a0e03720Schristos #define R_X86_64_GOTPLT64 30 57a0e03720Schristos #define R_X86_64_PLTOFF64 31 58a0e03720Schristos #define R_X86_64_SIZE32 32 59a0e03720Schristos #define R_X86_64_SIZE64 33 60a0e03720Schristos #define R_X86_64_GOTPC32_TLSDESC 34 61a0e03720Schristos #define R_X86_64_TLSDESC_CALL 35 62a0e03720Schristos #define R_X86_64_TLSDESC 36 63a0e03720Schristos #define R_X86_64_IRELATIVE 37 64a0e03720Schristos #define R_X86_64_RELATIVE64 38 65a0e03720Schristos #define R_X86_64_PC32_BND 39 66a0e03720Schristos #define R_X86_64_PLT32_BND 40 67a0e03720Schristos #define R_X86_64_GOTPCRELX 41 68a0e03720Schristos #define R_X86_64_REX_GOTPCRELX 42 69a0e03720Schristos 7081918bf8Sfvdl #define R_TYPE(name) __CONCAT(R_X86_64_,name) 71433b5ddeSmrg 72d03d0225Scegger #else /* !__i386__ */ 73433b5ddeSmrg 74433b5ddeSmrg #include <i386/elf_machdep.h> 75433b5ddeSmrg 76d03d0225Scegger #endif /* !__i386__ */ 77