1 /* $NetBSD: elf_machdep.h,v 1.4 1999/01/11 11:02:50 christos Exp $ */ 2 3 #define ELF32_MACHDEP_ENDIANNESS Elf_ed_2lsb 4 #define ELF32_MACHDEP_ID_CASES \ 5 case Elf_em_386: \ 6 case Elf_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 /* i386 relocations */ 14 #define R_386_NONE 0 15 #define R_386_32 1 16 #define R_386_PC32 2 17 #define R_386_GOT32 3 18 #define R_386_PLT32 4 19 #define R_386_COPY 5 20 #define R_386_GLOB_DAT 6 21 #define R_386_JUMP_SLOT 7 22 #define R_386_RELATIVE 8 23 #define R_386_GOTOFF 9 24 #define R_386_GOTPC 10 25 /* The following relocations are GNU extensions. */ 26 #define R_386_16 20 27 #define R_386_PC16 21 28 #define R_386_8 22 29 #define R_386_PC8 23 30 31 #define R_TYPE(name) __CONCAT(R_386_,name) 32 33 /* 34 * Tell the kernel ELF exec code not to try relocating the interpreter 35 * (ld.so) for dynamically-linked ELF binaries. 36 */ 37 #ifdef _KERNEL 38 #define ELF_INTERP_NON_RELOCATABLE 39 #endif 40