Home | History | Annotate | Line # | Download | only in include
elf_machdep.h revision 1.9
      1  1.9  christos /*	$NetBSD: elf_machdep.h,v 1.9 2017/11/06 03:47:47 christos Exp $	*/
      2  1.1   thorpej 
      3  1.3    kleink #define	ELF32_MACHDEP_ENDIANNESS	ELFDATA2MSB
      4  1.1   thorpej #define	ELF32_MACHDEP_ID_CASES						\
      5  1.4   frueauf 		case EM_68K:						\
      6  1.1   thorpej 			break;
      7  1.1   thorpej 
      8  1.1   thorpej #define	ELF64_MACHDEP_ENDIANNESS	XXX	/* break compilation */
      9  1.1   thorpej #define	ELF64_MACHDEP_ID_CASES						\
     10  1.1   thorpej 		/* no 64-bit ELF machine types supported */
     11  1.6   thorpej 
     12  1.6   thorpej #define	ELF32_MACHDEP_ID	EM_68K
     13  1.7   thorpej 
     14  1.7   thorpej /*
     15  1.7   thorpej  * Machine-dependent ELF flags.  These are defined by the GNU tools.
     16  1.7   thorpej  */
     17  1.7   thorpej #define	EF_CPU32	0x00810000
     18  1.7   thorpej #define	EF_M68000	0x01000000
     19  1.5   minoura 
     20  1.9  christos #define	KERN_ELFSIZE		32
     21  1.5   minoura #define ARCH_ELFSIZE		32	/* MD native binary size */
     22  1.2   thorpej 
     23  1.2   thorpej /* m68k relocation types */
     24  1.2   thorpej #define	R_68K_NONE	0
     25  1.2   thorpej #define	R_68K_32	1
     26  1.2   thorpej #define	R_68K_16	2
     27  1.2   thorpej #define	R_68K_8		3
     28  1.2   thorpej #define	R_68K_PC32	4
     29  1.2   thorpej #define	R_68K_PC16	5
     30  1.2   thorpej #define	R_68K_PC8	6
     31  1.2   thorpej #define	R_68K_GOT32	7
     32  1.2   thorpej #define	R_68K_GOT16	8
     33  1.2   thorpej #define	R_68K_GOT8	9
     34  1.2   thorpej #define	R_68K_GOT32O	10
     35  1.2   thorpej #define	R_68K_GOT16O	11
     36  1.2   thorpej #define	R_68K_GOT8O	12
     37  1.2   thorpej #define	R_68K_PLT32	13
     38  1.2   thorpej #define	R_68K_PLT16	14
     39  1.2   thorpej #define	R_68K_PLT8	15
     40  1.2   thorpej #define	R_68K_PLT32O	16
     41  1.2   thorpej #define	R_68K_PLT16O	17
     42  1.2   thorpej #define	R_68K_PLT8O	18
     43  1.2   thorpej #define	R_68K_COPY	19
     44  1.2   thorpej #define	R_68K_GLOB_DAT	20
     45  1.2   thorpej #define	R_68K_JMP_SLOT	21
     46  1.2   thorpej #define	R_68K_RELATIVE	22
     47  1.2   thorpej 
     48  1.8     skrll /* TLS relocations */
     49  1.8     skrll #define R_68K_TLS_GD32		25
     50  1.8     skrll #define R_68K_TLS_GD16		26
     51  1.8     skrll #define R_68K_TLS_GD8		27
     52  1.8     skrll #define R_68K_TLS_LDM32		28
     53  1.8     skrll #define R_68K_TLS_LDM16		29
     54  1.8     skrll #define R_68K_TLS_LDM8		30
     55  1.8     skrll #define R_68K_TLS_LDO32		31
     56  1.8     skrll #define R_68K_TLS_LDO16		32
     57  1.8     skrll #define R_68K_TLS_LDO8		33
     58  1.8     skrll #define R_68K_TLS_IE32		34
     59  1.8     skrll #define R_68K_TLS_IE16		35
     60  1.8     skrll #define R_68K_TLS_IE8		36
     61  1.8     skrll #define R_68K_TLS_LE32		37
     62  1.8     skrll #define R_68K_TLS_LE16		38
     63  1.8     skrll #define R_68K_TLS_LE8		39
     64  1.8     skrll #define R_68K_TLS_DTPMOD32	40
     65  1.8     skrll #define R_68K_TLS_DTPREL32	41
     66  1.8     skrll #define R_68K_TLS_TPREL32	42
     67  1.8     skrll 
     68  1.2   thorpej #define	R_TYPE(name)	__CONCAT(R_68K_,name)
     69