about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-11-13 01:53:53 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-11-13 01:53:53 +0000
commit9c4b457e1b47369a40afd5e5e220f5d657667c0a (patch)
tree0f58239813dd0e10f9cbda394499c2f3bd546f9c /ChangeLog
parent53f5c65914b7601b652cd7a38714885a8492e562 (diff)
downloadglibc-9c4b457e1b47369a40afd5e5e220f5d657667c0a.tar.gz
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--ChangeLog23
1 files changed, 23 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b82d3eccf..c7ddb7f33c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.