Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrX3izAp_Gzv3oc0srrTPYRDz=B1U-5YYwiqVHgW_s0v5A@mail.gmail.com>
Date: Thu, 6 Aug 2015 15:52:42 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Andy Lutomirski <luto@...nel.org>, Anton Blanchard <anton@...ba.org>, 
	Martin Schwidefsky <schwidefsky@...ibm.com>, Chris Metcalf <cmetcalf@...era.com>, 
	Richard Kuo <rkuo@...eaurora.org>
Cc: X86 ML <x86@...nel.org>, 
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, Nathan Lynch <nathan_lynch@...tor.com>, 
	Isaac Dunham <ibid.ag@...il.com>, Rich Felker <dalias@...c.org>, 
	"musl@...ts.openwall.com" <musl@...ts.openwall.com>
Subject: Re: [PATCH] x86/vdso: Emit a GNU hash

[adding lots of cc's]

On Thu, Aug 6, 2015 at 2:45 PM, Andy Lutomirski <luto@...nel.org> wrote:
> From: Andy Lutomirski <luto@...capital.net>
>
> 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 <luto@...capital.net>
> ---
>
> 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

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.