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