From 24a640bf2a13a96aa3b582c13c767effcd946dbf Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 20 Dec 2005 10:55:59 +0000 Subject: Workaround for http://gcc.gnu.org/PR25240 * include/libc-symbols.h (weak_extern): Define using weak attribute. (_weak_extern): Remove. (weak_tls_extern): Define. * locale/uselocale.c (DEFINE_CATEGORY): Use weak_tls_extern for _nl_current_##category. * locale/setlocale.c (DEFINE_CATEGORY): Likewise. --- include/libc-symbols.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 8ee940719e..f69bf8350d 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -114,8 +114,8 @@ extern __typeof (name) aliasname __attribute__ ((weak, alias (#name))); /* Declare SYMBOL as weak undefined symbol (resolved to 0 if not defined). */ -# define weak_extern(symbol) _weak_extern (weak symbol) -# define _weak_extern(expr) _Pragma (#expr) +# define weak_extern(symbol) extern __typeof (symbol) symbol __attribute__ ((weak)); +# define weak_tls_extern(symbol) extern __thread __typeof (symbol) symbol __attribute__ ((weak)); # else -- cgit 1.4.1