diff options
author | 2017-01-23 13:13:12 +0000 | |
---|---|---|
committer | 2017-01-23 13:13:12 +0000 | |
commit | d8ad95d2ababf572bd30b31478d7b0a31de2b34a (patch) | |
tree | f8924da74c1d8a97cb41bbae51703906c7fa359c | |
parent | Revert the struct rib_tree rename. I need a struct in between because of (diff) | |
download | wireguard-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.c | 4 |
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]) |