From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/7810 Path: news.gmane.org!not-for-mail From: Natanael Copa Newsgroups: gmane.linux.lib.musl.general Subject: Re: Question re: dynamic linking in musl Date: Thu, 28 May 2015 16:03:34 +0200 Message-ID: <20150528160334.3248c0c1@ncopa-desktop.alpinelinux.org> References: <20150527100844.GA306@alex-ThinkPad-L530> <5565A812.9090004@gmail.com> <20150527160955.1bda26cf@vostro> <5565C357.1070508@gmail.com> <20150527162326.15405862@vostro> <20150527140658.GK17573@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1432821850 2056 80.91.229.3 (28 May 2015 14:04:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 28 May 2015 14:04:10 +0000 (UTC) Cc: musl@lists.openwall.com To: Rich Felker Original-X-From: musl-return-7822-gllmg-musl=m.gmane.org@lists.openwall.com Thu May 28 16:04:07 2015 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 1YxyPZ-000701-3W for gllmg-musl@m.gmane.org; Thu, 28 May 2015 16:03:53 +0200 Original-Received: (qmail 5792 invoked by uid 550); 28 May 2015 14:03:51 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 5771 invoked from network); 28 May 2015 14:03:50 -0000 In-Reply-To: <20150527140658.GK17573@brightrain.aerifal.cx> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-alpine-linux-musl) X-Virus-Scanned: ClamAV using ClamSMTP Xref: news.gmane.org gmane.linux.lib.musl.general:7810 Archived-At: On Wed, 27 May 2015 10:06:58 -0400 Rich Felker wrote: > On Wed, May 27, 2015 at 04:23:26PM +0300, Timo Teras wrote: > > On Wed, 27 May 2015 15:15:03 +0200 > > Alex Dowad wrote: > > > > > On 27/05/15 15:09, Timo Teras wrote: > > > > On Wed, 27 May 2015 16:01:50 +0300 (MSK) > > > > Alexander Monakov wrote: > > > > > > > >> I'm not familiar with Alpine. Hopefully someone else can chime in > > > >> whether .gnu.hash is deliberately disabled. > > > > We have not touched, so we are using the gcc default. Which > > > > apparently then is sysv only (bummer). > > > > > > Yes, that callgrind profile was from a program installed from Alpine > > > repos. > > > > > > Use --hash-style=both in LD_FLAGS when building the APKs, and dynamic > > > linking will become much faster! > > > > We want that in the toolchain. It's gcc configure option: > > --with-linker-hash-style={sysv,gnu,both} > > > > I wonder if it should be 'gnu' or 'both'. Apparently 'both' will be > > larger as then everything is hashed twice. > > > > Is there any known issues if I just specify 'gnu' ? > > In the sense of "known issues" I would say no, but I would still > strongly discourage this. A valid dynamic ELF file requries the sysv > (standard ELF) hash table; the original reason musl added support for > GNU hash was for ABI-compat to be able to run binaries from distros > that were producing "invalid" ELF files. :-) While musl fully supports > either, and will perform considerably better when GNU hash is present > once we get Alexander Monakov's improvements in, it's possible that > some simple tools for processing ELF files, or programs which do > various sorts of introspection via dl_iterate_phdr or otherwise, may > expect the sysv hash table to be present and fail badly without it. Seems like at least ubuntu has done gnu-only hash style last 5 years. https://bugs.launchpad.net/ubuntu/+source/gcc-4.4/+bug/704691 -nc