summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2004-02-09 02:33:49 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2004-02-09 02:33:49 +0000
commit2802b09b39b8fb211c2217b62d9e460cb3d06132 (patch)
treedb0ab5f96c044ce4bf9d878bac4dacf8ba822025
parent0881e7c20e0f8229fe8c91a9d85671822f71b26e (diff)
Disable lazy binding until that feature is fixed.
-rw-r--r--libexec/ld.so/arm/rtld_machine.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libexec/ld.so/arm/rtld_machine.c b/libexec/ld.so/arm/rtld_machine.c
index de652c63a80..922e5046bec 100644
--- a/libexec/ld.so/arm/rtld_machine.c
+++ b/libexec/ld.so/arm/rtld_machine.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtld_machine.c,v 1.1 2004/02/07 06:00:49 drahn Exp $ */
+/* $OpenBSD: rtld_machine.c,v 1.2 2004/02/09 02:33:48 drahn Exp $ */
/*
* Copyright (c) 2004 Dale Rahn
@@ -340,7 +340,10 @@ resolve_failed:
void
_dl_md_reloc_got(elf_object_t *object, int lazy)
{
+#define DISABLE_LAZY
+#ifndef DISABLE_LAZY
Elf_Addr *pltgot = (Elf_Addr *)object->Dyn.info[DT_PLTGOT];
+#endif
Elf_Addr ooff;
Elf_Addr plt_addr;
const Elf_Sym *this;
@@ -389,12 +392,17 @@ _dl_md_reloc_got(elf_object_t *object, int lazy)
}
#endif
+#define DISABLE_LAZY
+#ifndef DISABLE_LAZY
if (!lazy) {
+#endif
_dl_md_reloc(object, DT_JMPREL, DT_PLTRELSZ);
+#ifndef DISABLE_LAZY
} else {
pltgot[1] = (Elf_Addr)object;
pltgot[2] = (Elf_Addr)_dl_bind_start;
}
+#endif
if (object->got_size != 0)
_dl_mprotect((void*)object->got_addr, object->got_size,
PROT_READ);