diff options
| author | Joseph Myers <joseph@codesourcery.com> | 2018-11-13 01:53:53 +0000 |
|---|---|---|
| committer | Joseph Myers <joseph@codesourcery.com> | 2018-11-13 01:53:53 +0000 |
| commit | 9c4b457e1b47369a40afd5e5e220f5d657667c0a (patch) | |
| tree | 0f58239813dd0e10f9cbda394499c2f3bd546f9c /ChangeLog | |
| parent | 53f5c65914b7601b652cd7a38714885a8492e562 (diff) | |
| download | glibc-9c4b457e1b47369a40afd5e5e220f5d657667c0a.tar.xz glibc-9c4b457e1b47369a40afd5e5e220f5d657667c0a.zip | |
Add hidden_tls_def macros, fix powerpc-soft build with GCC 9.
Soft-float powerpc fails to build with current GCC mainline because of
use of libc_hidden_data_def for TLS variables, resulting in a non-TLS
alias being defined, to which the tls_model attribute is now copied,
resulting in a warning about it being ignored.
The problem here appears to be the non-TLS alias. This patch adds a
hidden_tls_def macro family, corresponding to the hidden_tls_proto
macros, to define TLS aliases properly in such a case, and uses it for
those powerpc soft-float variables.
Tested with build-many-glibcs.py compilers build for powerpc-linux-gnu
soft-float. Also tested for x86_64.
* include/libc-symbols.h [SHARED && !NO_HIDDEN && !__ASSEMBLER__]
(__hidden_ver2): New macro. Use old definition of __hidden_ver1
with additional parameter thread.
[SHARED && !NO_HIDDEN && !__ASSEMBLER__] (__hidden_ver1): Define
in terms of __hidden_ver2.
(hidden_tls_def): New macro.
(libc_hidden_tls_def): Likewise.
(rtld_hidden_tls_def): Likewise.
(libm_hidden_tls_def): Likewise.
(libmvec_hidden_tls_def): Likewise.
(libresolv_hidden_tls_def): Likewise.
(librt_hidden_tls_def): Likewise.
(libdl_hidden_tls_def): Likewise.
(libnss_files_hidden_tls_def): Likewise.
(libnsl_hidden_tls_def): Likewise.
(libnss_nisplus_hidden_tls_def): Likewise.
(libutil_hidden_tls_def): Likewise.
(libutil_hidden_tls_def): Likweise.
* sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions_thread): Use
libc_hidden_tls_def.
(__sim_disabled_exceptions_thread): Likewise.
(__sim_round_mode_thread): Likewise.
Diffstat (limited to 'ChangeLog')
| -rw-r--r-- | ChangeLog | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -1,5 +1,28 @@ 2018-11-13 Joseph Myers <joseph@codesourcery.com> + * include/libc-symbols.h [SHARED && !NO_HIDDEN && !__ASSEMBLER__] + (__hidden_ver2): New macro. Use old definition of __hidden_ver1 + with additional parameter thread. + [SHARED && !NO_HIDDEN && !__ASSEMBLER__] (__hidden_ver1): Define + in terms of __hidden_ver2. + (hidden_tls_def): New macro. + (libc_hidden_tls_def): Likewise. + (rtld_hidden_tls_def): Likewise. + (libm_hidden_tls_def): Likewise. + (libmvec_hidden_tls_def): Likewise. + (libresolv_hidden_tls_def): Likewise. + (librt_hidden_tls_def): Likewise. + (libdl_hidden_tls_def): Likewise. + (libnss_files_hidden_tls_def): Likewise. + (libnsl_hidden_tls_def): Likewise. + (libnss_nisplus_hidden_tls_def): Likewise. + (libutil_hidden_tls_def): Likewise. + (libutil_hidden_tls_def): Likweise. + * sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions_thread): Use + libc_hidden_tls_def. + (__sim_disabled_exceptions_thread): Likewise. + (__sim_round_mode_thread): Likewise. + * sysdeps/sparc/sparc-ifunc.h [SHARED] (sparc_ifunc_redirected_hidden_def): Use __attribute_copy__ to copy attributes from name. |
