summaryrefslogtreecommitdiff
path: root/libexec/ld.so/resolve.c
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2017-01-23 13:13:13 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2017-01-23 13:13:13 +0000
commit6c303564200f02b269c1eac172122adeb7b27ddb (patch)
tree89ce62d9ec7d1cfb3ada71c222025c6654c5834a /libexec/ld.so/resolve.c
parent2f2d961a0f51b7f9ec17d47dfd0e127360f9d974 (diff)
Whoops, lost the adjustment of DT_RUNPATH value as a DT_STRTAB value.
problem reported by semarie@
Diffstat (limited to 'libexec/ld.so/resolve.c')
-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])