summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2017-01-23 13:13:12 +0000
committerguenther <guenther@openbsd.org>2017-01-23 13:13:12 +0000
commitd8ad95d2ababf572bd30b31478d7b0a31de2b34a (patch)
treef8924da74c1d8a97cb41bbae51703906c7fa359c
parentRevert the struct rib_tree rename. I need a struct in between because of (diff)
downloadwireguard-openbsd-d8ad95d2ababf572bd30b31478d7b0a31de2b34a.tar.xz
wireguard-openbsd-d8ad95d2ababf572bd30b31478d7b0a31de2b34a.zip
Whoops, lost the adjustment of DT_RUNPATH value as a DT_STRTAB value.
problem reported by semarie@
-rw-r--r--libexec/ld.so/resolve.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libexec/ld.so/resolve.c b/libexec/ld.so/resolve.c
index d2179414fa3..b93e8a5c6fa 100644
--- a/libexec/ld.so/resolve.c
+++ b/libexec/ld.so/resolve.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: resolve.c,v 1.77 2017/01/23 13:00:09 guenther Exp $ */
+/* $OpenBSD: resolve.c,v 1.78 2017/01/23 13:13:12 guenther Exp $ */
/*
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
@@ -327,6 +327,8 @@ _dl_finalize_object(const char *objname, Elf_Dyn *dynp, Elf_Phdr *phdrp,
object->Dyn.info[DT_SONAME] += object->Dyn.info[DT_STRTAB];
if (object->Dyn.info[DT_RPATH])
object->Dyn.info[DT_RPATH] += object->Dyn.info[DT_STRTAB];
+ if (object->Dyn.info[DT_RUNPATH])
+ object->Dyn.info[DT_RUNPATH] += object->Dyn.info[DT_STRTAB];
if (object->Dyn.info[DT_REL])
object->Dyn.info[DT_REL] += obase;
if (object->Dyn.info[DT_INIT])