Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 27 May 2015 15:15:03 +0200
From: Alex Dowad <alexinbeijing@...il.com>
To: musl@...ts.openwall.com
Subject: Re: Question re: dynamic linking in musl



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:
>
>> On Wed, 27 May 2015, Alex Dowad wrote:
>>>> Can you also provide exact figures?  For example your callgrind
>>>> logs?  Or just
>>>> 'time' statistics for executables that spend much time in the
>>>> dynamic linker.
>>> Callgrind data attached.
>> Oh.  The profile makes it evident that most of the libraries
>> lack .gnu.hash, and the lookup is almost always using SysV lookup.
>> With many dependencies SysV lookup is slower: in my testing with
>> Clang/LLVM I got something like 420 ms (compared to 240 ms unpatched
>> or 110 ms patched musl with .gnu.hash lookup).
>>
>> 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!

Alex

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.