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