[PATCH] Revert "Make libc symbols hidden in static PIE" [BZ #27237]

Adhemerval Zanella adhemerval.zanella@linaro.org
Wed Jan 27 11:27:35 GMT 2021



On 27/01/2021 06:52, Szabolcs Nagy wrote:
> This reverts commit 2682695e5c7acf1e60dd3b5c3a14d4e82416262c.
> Fixes bug 27237.
> 
> That commit turned out to be too intrusive affecting crt files, test
> system and benchmark files.  They should not be affected, but the
> build system does not set the MODULE_NAME and LIBC_NONSHARED reliably.
> ---
>  include/libc-symbols.h | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/include/libc-symbols.h b/include/libc-symbols.h
> index f4dd735555..ea126ae70c 100644
> --- a/include/libc-symbols.h
> +++ b/include/libc-symbols.h
> @@ -434,18 +434,13 @@ 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
>  #endif
>  
> -/* Mark all symbols hidden in static PIE libc to avoid GOT indirections.  */
> -#if BUILD_PIE_DEFAULT && !defined NO_HIDDEN_EXTERN_FUNC_IN_PIE \
> -    && IS_IN (libc) && !defined LIBC_NONSHARED
> -# pragma GCC visibility push(hidden)
> -#endif
> -
>  #define attribute_tls_model_ie __attribute__ ((tls_model ("initial-exec")))
>  
>  #define attribute_relro __attribute__ ((section (".data.rel.ro")))
> 

Ok for 2.33, thanks.


More information about the Libc-alpha mailing list