From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/10339 Path: news.gmane.org!not-for-mail From: Alexander Monakov Newsgroups: gmane.linux.lib.musl.general Subject: Re: [PATCH 2/3] allow different size hash table entries Date: Wed, 27 Jul 2016 19:49:51 +0300 (MSK) Message-ID: References: <20160726035300.10255-1-koorogi@koorogi.info> <20160726035300.10255-2-koorogi@koorogi.info> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Trace: ger.gmane.org 1469638217 29616 80.91.229.3 (27 Jul 2016 16:50:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 27 Jul 2016 16:50:17 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-10352-gllmg-musl=m.gmane.org@lists.openwall.com Wed Jul 27 18:50:16 2016 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1bSS2C-0005ZC-2y for gllmg-musl@m.gmane.org; Wed, 27 Jul 2016 18:50:16 +0200 Original-Received: (qmail 24361 invoked by uid 550); 27 Jul 2016 16:50:12 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 24343 invoked from network); 27 Jul 2016 16:50:12 -0000 In-Reply-To: <20160726035300.10255-2-koorogi@koorogi.info> User-Agent: Alpine 2.20.13 (LNX 116 2015-12-14) Xref: news.gmane.org gmane.linux.lib.musl.general:10339 Archived-At: 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