summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkurt <kurt@openbsd.org>2008-07-28 22:11:00 +0000
committerkurt <kurt@openbsd.org>2008-07-28 22:11:00 +0000
commit8e012c2a8359f5177fc3833e98b7c51ddd7c3a9c (patch)
treea98c6e93dbafdac6b0b7e59e379f2e37d3250d8e
parentzap some extra spaces and tabs. (diff)
downloadwireguard-openbsd-8e012c2a8359f5177fc3833e98b7c51ddd7c3a9c.tar.xz
wireguard-openbsd-8e012c2a8359f5177fc3833e98b7c51ddd7c3a9c.zip
Only optimize away plt relocation when obj_base == 0. Corrects
pie relocation. Assembly debugging help from kettenis@. okay kettenis@ miod@
-rw-r--r--libexec/ld.so/alpha/rtld_machine.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libexec/ld.so/alpha/rtld_machine.c b/libexec/ld.so/alpha/rtld_machine.c
index 202bf9f4bc9..4d72f51c7fd 100644
--- a/libexec/ld.so/alpha/rtld_machine.c
+++ b/libexec/ld.so/alpha/rtld_machine.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtld_machine.c,v 1.42 2008/04/09 21:45:26 kurt Exp $ */
+/* $OpenBSD: rtld_machine.c,v 1.43 2008/07/28 22:11:00 kurt Exp $ */
/*
* Copyright (c) 1999 Dale Rahn
@@ -284,7 +284,7 @@ _dl_md_reloc_got(elf_object_t *object, int lazy)
if (object->obj_type == OBJTYPE_LDR || !lazy || pltgot == NULL) {
fails = _dl_md_reloc(object, DT_JMPREL, DT_PLTRELSZ);
} else {
- if (object->obj_type != OBJTYPE_EXE) {
+ if (object->obj_base != 0) {
int i, size;
Elf_Addr *addr;
Elf_RelA *rela;