|
Message-ID: <20150527140658.GK17573@brightrain.aerifal.cx> Date: Wed, 27 May 2015 10:06:58 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: Question re: dynamic linking in musl On Wed, May 27, 2015 at 04:23:26PM +0300, Timo Teras wrote: > On Wed, 27 May 2015 15:15:03 +0200 > Alex Dowad <alexinbeijing@...il.com> wrote: > > > On 27/05/15 15:09, Timo Teras wrote: > > > On Wed, 27 May 2015 16:01:50 +0300 (MSK) > > > Alexander Monakov <amonakov@...ras.ru> 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. Rich
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.