summaryrefslogtreecommitdiffstats
path: root/libexec/ld.so/resolve.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2019-04-21 03:41:13 +0000
committerguenther <guenther@openbsd.org>2019-04-21 03:41:13 +0000
commit4e986f7684bde9bf7faec2894635e718a29aef45 (patch)
treee77432cc09cb39c8003d8f70d552c035aa81f167 /libexec/ld.so/resolve.c
parentpledge "stdio" after opening file and before doing operations (diff)
downloadwireguard-openbsd-4e986f7684bde9bf7faec2894635e718a29aef45.tar.xz
wireguard-openbsd-4e986f7684bde9bf7faec2894635e718a29aef45.zip
On alpha, the buckets of DT_HASH are 8 bytes instead of 4 bytes. This was
previously 'implemented' by having the Elf_Word typedef in <sys/exec_elf.h> vary, but that doesn't match the spec and breaks libelf so it's gone away. Implement the variation here by defining our own type locally for this. ok deraadt@
Diffstat (limited to 'libexec/ld.so/resolve.c')
-rw-r--r--libexec/ld.so/resolve.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libexec/ld.so/resolve.c b/libexec/ld.so/resolve.c
index c1f9eddfb44..97df474a04e 100644
--- a/libexec/ld.so/resolve.c
+++ b/libexec/ld.so/resolve.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: resolve.c,v 1.87 2018/11/28 03:18:00 guenther Exp $ */
+/* $OpenBSD: resolve.c,v 1.88 2019/04/21 03:41:13 guenther Exp $ */
/*
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
@@ -403,8 +403,8 @@ _dl_finalize_object(const char *objname, Elf_Dyn *dynp, Elf_Phdr *phdrp,
}
}
if (object->Dyn.info[DT_HASH] != 0) {
- Elf_Word *hashtab = (Elf_Word *)(object->Dyn.info[DT_HASH]
- + obase);
+ Elf_Hash_Word *hashtab =
+ (Elf_Hash_Word *)(object->Dyn.info[DT_HASH] + obase);
object->nchains = hashtab[1];
if (object->nbuckets == 0) {