1 /* $NetBSD: elf_machdep.h,v 1.8 2009/05/30 05:56:52 skrll 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 ARCH_ELFSIZE 32 /* MD native binary size */ 21 22 /* m68k relocation types */ 23 #define R_68K_NONE 0 24 #define R_68K_32 1 25 #define R_68K_16 2 26 #define R_68K_8 3 27 #define R_68K_PC32 4 28 #define R_68K_PC16 5 29 #define R_68K_PC8 6 30 #define R_68K_GOT32 7 31 #define R_68K_GOT16 8 32 #define R_68K_GOT8 9 33 #define R_68K_GOT32O 10 34 #define R_68K_GOT16O 11 35 #define R_68K_GOT8O 12 36 #define R_68K_PLT32 13 37 #define R_68K_PLT16 14 38 #define R_68K_PLT8 15 39 #define R_68K_PLT32O 16 40 #define R_68K_PLT16O 17 41 #define R_68K_PLT8O 18 42 #define R_68K_COPY 19 43 #define R_68K_GLOB_DAT 20 44 #define R_68K_JMP_SLOT 21 45 #define R_68K_RELATIVE 22 46 47 /* TLS relocations */ 48 #define R_68K_TLS_GD32 25 49 #define R_68K_TLS_GD16 26 50 #define R_68K_TLS_GD8 27 51 #define R_68K_TLS_LDM32 28 52 #define R_68K_TLS_LDM16 29 53 #define R_68K_TLS_LDM8 30 54 #define R_68K_TLS_LDO32 31 55 #define R_68K_TLS_LDO16 32 56 #define R_68K_TLS_LDO8 33 57 #define R_68K_TLS_IE32 34 58 #define R_68K_TLS_IE16 35 59 #define R_68K_TLS_IE8 36 60 #define R_68K_TLS_LE32 37 61 #define R_68K_TLS_LE16 38 62 #define R_68K_TLS_LE8 39 63 #define R_68K_TLS_DTPMOD32 40 64 #define R_68K_TLS_DTPREL32 41 65 #define R_68K_TLS_TPREL32 42 66 67 #define R_TYPE(name) __CONCAT(R_68K_,name) 68