diff options
| author | 2019-04-21 03:41:13 +0000 | |
|---|---|---|
| committer | 2019-04-21 03:41:13 +0000 | |
| commit | 4e986f7684bde9bf7faec2894635e718a29aef45 (patch) | |
| tree | e77432cc09cb39c8003d8f70d552c035aa81f167 /libexec/ld.so/resolve.c | |
| parent | pledge "stdio" after opening file and before doing operations (diff) | |
| download | wireguard-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.c | 6 |
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) { |
