Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755209AbbHFWxG (ORCPT ); Thu, 6 Aug 2015 18:53:06 -0400 Received: from mail-la0-f41.google.com ([209.85.215.41]:36079 "EHLO mail-la0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752671AbbHFWxE (ORCPT ); Thu, 6 Aug 2015 18:53:04 -0400 MIME-Version: 1.0 In-Reply-To: References: From: Andy Lutomirski Date: Thu, 6 Aug 2015 15:52:42 -0700 Message-ID: Subject: Re: [PATCH] x86/vdso: Emit a GNU hash To: Andy Lutomirski , Anton Blanchard , Martin Schwidefsky , Chris Metcalf , Richard Kuo Cc: X86 ML , "linux-kernel@vger.kernel.org" , Nathan Lynch , Isaac Dunham , Rich Felker , "musl@lists.openwall.com" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2272 Lines: 64 [adding lots of cc's] On Thu, Aug 6, 2015 at 2:45 PM, Andy Lutomirski wrote: > From: Andy Lutomirski > > Some dynamic loaders may be slightly faster if a GNU hash is > available. Strangely, this seems to have no effect at all on the > vdso size. > > This is unlikely to have any measurable effect on the time it takes > to resolve vdso symbols (since there are so few of them). In some > contexts, it can be a win for a different reason: if every DSO has a > GNU hash section, then libc can avoid calculating SysV hashes at > all. Both musl and glibc appear to have this optimization. > > It's plausible that this breaks some ancient glibc version. If so, > then, depending on what glibc versions break, we could either > require COMPAT_VDSO for them or consider reverting. > Adding lots of arch vdso people. I think this would be a good thing to do in general. Want to update your arches (powerpc, arm(64), s390, tile, and hexagon -- did I miss any?)? --Andy > Signed-off-by: Andy Lutomirski > --- > > For review. I'll add it to my (currently empty) 4.3 pull request if > people like it, unless Ingo feels like adding it to -tip directly. > > arch/x86/entry/vdso/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile > index e97032069f88..20f3ac53148d 100644 > --- a/arch/x86/entry/vdso/Makefile > +++ b/arch/x86/entry/vdso/Makefile > @@ -175,7 +175,7 @@ quiet_cmd_vdso = VDSO $@ > -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \ > sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@' > > -VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=sysv) \ > +VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=both) \ > $(call cc-ldoption, -Wl$(comma)--build-id) -Wl,-Bsymbolic $(LTO_CFLAGS) > GCOV_PROFILE := n > > -- > 2.4.3 > -- Andy Lutomirski AMA Capital Management, LLC -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/