Re: [PATCH] x86/vdso: Emit a GNU hash

From: Andy Lutomirski
Date: Thu Aug 06 2015 - 18:53:10 EST


[adding lots of cc's]

On Thu, Aug 6, 2015 at 2:45 PM, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
> From: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxx>
> ---
>
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/