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