Home | History | Annotate | Download | only in i386
      1 /*	$NetBSD: elf_machdep.h,v 1.10 2009/05/30 05:56:52 skrll Exp $	*/
      2 
      3 #define	ELF32_MACHDEP_ENDIANNESS	ELFDATA2LSB
      4 #define	ELF32_MACHDEP_ID_CASES						\
      5 		case EM_386:						\
      6 		case EM_486:						\
      7 			break;
      8 
      9 #define	ELF64_MACHDEP_ENDIANNESS	XXX	/* break compilation */
     10 #define	ELF64_MACHDEP_ID_CASES						\
     11 		/* no 64-bit ELF machine types supported */
     12 
     13 #define	ELF32_MACHDEP_ID		EM_386
     14 
     15 #define ARCH_ELFSIZE		32	/* MD native binary size */
     16 
     17 /* i386 relocations */
     18 #define	R_386_NONE	0
     19 #define	R_386_32	1
     20 #define	R_386_PC32	2
     21 #define	R_386_GOT32	3
     22 #define	R_386_PLT32	4
     23 #define	R_386_COPY	5
     24 #define	R_386_GLOB_DAT	6
     25 #define	R_386_JMP_SLOT	7
     26 #define	R_386_RELATIVE	8
     27 #define	R_386_GOTOFF	9
     28 #define	R_386_GOTPC	10
     29 
     30 /* TLS relocations */
     31 #define	R_386_TLS_TPOFF	14
     32 #define	R_386_TLS_IE	15
     33 #define	R_386_TLS_GOTIE	16
     34 #define	R_386_TLS_LE	17
     35 #define	R_386_TLS_GD	18
     36 #define	R_386_TLS_LDM	19
     37 
     38 /* The following relocations are GNU extensions. */
     39 #define	R_386_16	20
     40 #define	R_386_PC16	21
     41 #define	R_386_8		22
     42 #define	R_386_PC8	23
     43 
     44 /* More TLS relocations */
     45 #define	R_386_TLS_GD_32		24
     46 #define	R_386_TLS_GD_PUSH	25
     47 #define	R_386_TLS_GD_CALL	26
     48 #define	R_386_TLS_GD_POP	27
     49 #define	R_386_TLS_LDM_32	28
     50 #define	R_386_TLS_LDM_PUSH	29
     51 #define	R_386_TLS_LDM_CALL	30
     52 #define	R_386_TLS_LDM_POP	31
     53 #define	R_386_TLS_LDO_32	32
     54 #define	R_386_TLS_IE_32		33
     55 #define	R_386_TLS_LE_32		34
     56 #define	R_386_TLS_DTPMOD32	35
     57 #define	R_386_TLS_DTPOFF32	36
     58 #define	R_386_TLS_TPOFF32	37
     59 #define	R_386_TLS_GOTDESC	39
     60 #define	R_386_TLS_DESC_CALL	40
     61 #define	R_386_TLS_DESC		41
     62 
     63 #define	R_TYPE(name)	__CONCAT(R_386_,name)
     64