bbcd2bb1ef
* handle interpreters with nonzero virtual address of entry-point: subtract p_vaddr from computed entrypoint, as the mips elf exec did. * Add #ifdef ELF_INTERP_NON_RELOCATABLE/#endif around the code that tries to choose a `good' address at which to load an interpreter, if none was set by the emul probe function. (the address chosen could be improved to avoid fragmenting the process virtual address space). * define ELF_INTERP_NON_RELOCATABLE in machine/elf_machdep.h for mips CPUs, which currently use a GNU-derived ld.so. ELF_INTERP_NON_RELOCATABLE is not necessary for native NetBSD/alpha ELF binaries. It may be required for GNU-derived ELF dynamic loaders (Linux/i386?)
16 lines
412 B
C
16 lines
412 B
C
/* $NetBSD: elf_machdep.h,v 1.2 1996/11/11 20:33:12 jonathan Exp $ */
|
|
|
|
#define ELF32_MACHDEP_ID_CASES \
|
|
case Elf_em_mips: \
|
|
break;
|
|
|
|
#define ELF64_MACHDEP_ID_CASES \
|
|
/* no 64-bit ELF machine types supported */
|
|
/*
|
|
* Tell the kernel ELF exec code not to try relocating the interpreter
|
|
* (ld.so) for dynamically-linked ELF binaries
|
|
*/
|
|
#ifdef _KERNEL
|
|
#define ELF_INTERP_NON_RELOCATABLE
|
|
#endif
|