summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-06-13 08:40:40 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-06-13 08:40:40 +0000
commitc0dc852f89f012b6aaa0c161bf9b07fb50036d89 (patch)
treecba0b63ae4d6673f64c689b9f786b084844b5319 /libexec
parent7a10618962a42d1671f180e640c111d931535cdf (diff)
Don't do plt relocations here, move that to md code that might choose
to do lazy binding.
Diffstat (limited to 'libexec')
-rw-r--r--libexec/ld.so/loader.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/libexec/ld.so/loader.c b/libexec/ld.so/loader.c
index be7958efb29..5091468bd9e 100644
--- a/libexec/ld.so/loader.c
+++ b/libexec/ld.so/loader.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: loader.c,v 1.16 2001/06/06 12:31:52 art Exp $ */
+/* $OpenBSD: loader.c,v 1.17 2001/06/13 08:40:39 art Exp $ */
/*
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
@@ -494,14 +494,10 @@ _dl_rtld(elf_object_t *object)
*/
_dl_md_reloc(object, DT_REL, DT_RELSZ);
_dl_md_reloc(object, DT_RELA, DT_RELASZ);
-#if defined(__alpha__)
- /* We assume that DT_PTREL is DT_RELA */
- _dl_md_reloc(object, DT_JMPREL, DT_PLTRELSZ);
-#endif
- if (_dl_bindnow) { /* XXX Perhaps more checking ? */
- _dl_md_reloc_got(object, 1);
- } else {
+ if (_dl_bindnow || object->dyn.bind_now) { /* XXX Perhaps more checking ? */
_dl_md_reloc_got(object, 0);
+ } else {
+ _dl_md_reloc_got(object, 1);
}
object->status |= STAT_RELOC_DONE;
}