Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 27 Jul 2016 19:49:51 +0300 (MSK)
From: Alexander Monakov <amonakov@...ras.ru>
To: musl@...ts.openwall.com
Subject: Re: [PATCH 2/3] allow different size hash table entries

On Mon, 25 Jul 2016, Bobby Bingham wrote:

> The sysv hash table for dynamic symbol lookups is supposed to always have
> 32 bit entries, but some architectures (alpha, s390x) botched the abi and
> use 64 bit entries.  Despite this, the hash function is the same, and still
> only produces 32 bit hash values.

Note, Glibc does not specialize its lookup code for those platforms; instead,
they use user-visible type Elf_Symndx (exposed via link.h, also on musl) to
denote the type of hash table entries; Alpha and s390 override this type
appropriately in their arch-specific headers.

This suggests that musl should also define Elf_Symndx as a 64-bit type
(otherwise it's incompatible), and then dynlink.c admits a cleaner fix (i.e.
using Elf_Symndx where appropriate, without a new #ifndef).

HTH
Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.