Home | History | Annotate | Line # | Download | only in include
      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