diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2017-01-23 13:13:13 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2017-01-23 13:13:13 +0000 |
commit | 6c303564200f02b269c1eac172122adeb7b27ddb (patch) | |
tree | 89ce62d9ec7d1cfb3ada71c222025c6654c5834a /libexec/ld.so/resolve.c | |
parent | 2f2d961a0f51b7f9ec17d47dfd0e127360f9d974 (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.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]) |