diff mbox series

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

Message ID 20210127095232.28018-1-szabolcs.nagy@arm.com
State New
Headers show
Series Revert "Make libc symbols hidden in static PIE" [BZ #27237] | expand

Commit Message

Szabolcs Nagy Jan. 27, 2021, 9:52 a.m. UTC
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(-)

Comments

Adhemerval Zanella Netto Jan. 27, 2021, 11:27 a.m. UTC | #1
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.
diff mbox series

Patch

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")))