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