diff options
| author | mycroft <mycroft@NetBSD.org> | 2002-09-06 13:20:29 +0000 |
|---|---|---|
| committer | mycroft <mycroft@NetBSD.org> | 2002-09-06 13:20:29 +0000 |
| commit | 0df8d181005d4dd20006b532cb500ea0e5ee3b8d (patch) | |
| tree | b89571a942775a8e9b620036bb566352eab2767f /libexec/ld.elf_so/map_object.c | |
| parent | 77a6b82b27fa24d81a68a73afb1c4158bfb664ba (diff) | |
Introduce a new flag, `isdynamic', which is used to remember whether the
executable was of type ET_DYN. Use this instead of `mainprog' to determine
whether we need to do base-relative fixups of the PLT. (This allows loading
non-relocatable objects, should we desire to do that at some point...)
Diffstat (limited to 'libexec/ld.elf_so/map_object.c')
| -rw-r--r-- | libexec/ld.elf_so/map_object.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libexec/ld.elf_so/map_object.c b/libexec/ld.elf_so/map_object.c index 3b488bb183a..3e3e571a15c 100644 --- a/libexec/ld.elf_so/map_object.c +++ b/libexec/ld.elf_so/map_object.c @@ -1,4 +1,4 @@ -/* $NetBSD: map_object.c,v 1.13 2002/06/01 23:50:53 lukem Exp $ */ +/* $NetBSD: map_object.c,v 1.14 2002/09/06 13:20:29 mycroft Exp $ */ /* * Copyright 1996 John D. Polstra. @@ -273,6 +273,7 @@ _rtld_map_object(path, fd, sb) } if (phinterp != NULL) obj->interp = (const char *) (obj->relocbase + phinterp->p_vaddr); + obj->isdynamic = u.hdr.e_type == ET_DYN; return obj; } |
