NetBSD/sys/arch/mips/include/elf_machdep.h
jonathan bbcd2bb1ef Elf32 fixes for mips shared libraries:
* 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?)
1996-11-11 20:33:10 +00:00

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