summaryrefslogtreecommitdiff
path: root/libexec/ld.elf_so/map_object.c
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>2002-09-06 13:20:29 +0000
committermycroft <mycroft@NetBSD.org>2002-09-06 13:20:29 +0000
commit0df8d181005d4dd20006b532cb500ea0e5ee3b8d (patch)
treeb89571a942775a8e9b620036bb566352eab2767f /libexec/ld.elf_so/map_object.c
parent77a6b82b27fa24d81a68a73afb1c4158bfb664ba (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.c3
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;
}