1 /* $NetBSD: elf_machdep.h,v 1.7 2025/11/29 21:32:29 jkoshy Exp $ */ 2 3 #if !defined __i386__ 4 5 #if !defined(_SYS_ELFDEFINITIONS_H_) 6 /* x86-64 relocations */ 7 8 #define R_X86_64_NONE 0 9 #define R_X86_64_64 1 10 #define R_X86_64_PC32 2 11 #define R_X86_64_GOT32 3 12 #define R_X86_64_PLT32 4 13 #define R_X86_64_COPY 5 14 #define R_X86_64_GLOB_DAT 6 15 #define R_X86_64_JUMP_SLOT 7 16 #define R_X86_64_RELATIVE 8 17 #define R_X86_64_GOTPCREL 9 18 #define R_X86_64_32 10 19 #define R_X86_64_32S 11 20 #define R_X86_64_16 12 21 #define R_X86_64_PC16 13 22 #define R_X86_64_8 14 23 #define R_X86_64_PC8 15 24 25 /* TLS relocations */ 26 #define R_X86_64_DTPMOD64 16 27 #define R_X86_64_DTPOFF64 17 28 #define R_X86_64_TPOFF64 18 29 #define R_X86_64_TLSGD 19 30 #define R_X86_64_TLSLD 20 31 #define R_X86_64_DTPOFF32 21 32 #define R_X86_64_GOTTPOFF 22 33 #define R_X86_64_TPOFF32 23 34 35 #define R_X86_64_PC64 24 36 #define R_X86_64_GOTOFF64 25 37 #define R_X86_64_GOTPC32 26 38 #define R_X86_64_GOT64 27 39 #define R_X86_64_GOTPCREL64 28 40 #define R_X86_64_GOTPC64 29 41 #define R_X86_64_GOTPLT64 30 42 #define R_X86_64_PLTOFF64 31 43 #define R_X86_64_SIZE32 32 44 #define R_X86_64_SIZE64 33 45 #define R_X86_64_GOTPC32_TLSDESC 34 46 #define R_X86_64_TLSDESC_CALL 35 47 #define R_X86_64_TLSDESC 36 48 #define R_X86_64_IRELATIVE 37 49 #define R_X86_64_RELATIVE64 38 50 #define R_X86_64_PC32_BND 39 51 #define R_X86_64_PLT32_BND 40 52 #define R_X86_64_GOTPCRELX 41 53 #define R_X86_64_REX_GOTPCRELX 42 54 55 #endif /* !defined(_SYS_ELFDEFINITIONS_H_) */ 56 57 /* 58 * Local symbols. 59 */ 60 #define ELF32_MACHDEP_ENDIANNESS ELFDATA2LSB 61 #define ELF32_MACHDEP_ID_CASES \ 62 case EM_386: \ 63 break; 64 65 #define ELF64_MACHDEP_ENDIANNESS ELFDATA2LSB 66 #define ELF64_MACHDEP_ID_CASES \ 67 case EM_X86_64: \ 68 break; 69 70 #define ELF32_MACHDEP_ID EM_386 71 #define ELF64_MACHDEP_ID EM_X86_64 72 73 #define KERN_ELFSIZE 64 74 #define ARCH_ELFSIZE 64 /* MD native binary size */ 75 76 #define R_TYPE(name) __CONCAT(R_X86_64_,name) 77 78 #else /* !__i386__ */ 79 80 #include <i386/elf_machdep.h> 81 82 #endif /* !__i386__ */ 83