This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Enable hidden visibility in libc.a compiled with PIE


On Tue, Aug 8, 2017 at 9:40 AM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> When building libc.a with PIE, enable hidden visibility to allow direct
> access to definitions within libc.a without using GOT.
>
> Size comparison of elf/ldconfig when the compiler defaults to -fPIE:
>
> On x86-64:
>         text       data     bss     dec     hex
> Before: 619206    20132    5488  644826   9d6da
> After : 619062    20132    5488  644682   9d64a
> On i686:
>         text       data     bss     dec     hex
> Before: 556305    10816    3056  570177   8b341
> After : 553688    10756    3056  567500   8a8cc
>
> OK for master?
>
> H.J.
> ---
>         * include/libc-symbols.h (attribute_hidden): Enable hidden
>         visibility in libc.a compiled with PIE.
> ---
>  include/libc-symbols.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/include/libc-symbols.h b/include/libc-symbols.h
> index fe3ab81c51..d6a1c260f6 100644
> --- a/include/libc-symbols.h
> +++ b/include/libc-symbols.h
> @@ -363,7 +363,8 @@ for linking")
>    strong_alias(real, name)
>  #endif
>
> -#if defined SHARED || defined LIBC_NONSHARED
> +#if defined SHARED || defined LIBC_NONSHARED \
> +  || (BUILD_PIE_DEFAULT && IS_IN (libc))
>  # define attribute_hidden __attribute__ ((visibility ("hidden")))
>  #else
>  # define attribute_hidden
> --
> 2.13.4
>

Any comments or objections?

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]