summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-12-20 10:55:59 +0000
committerJakub Jelinek <jakub@redhat.com>2005-12-20 10:55:59 +0000
commit24a640bf2a13a96aa3b582c13c767effcd946dbf (patch)
tree427bcf280f6c0454caed84b744cfdfaeec7eafc2 /include
parent7d0bcd10a7e3455697985522580267c8470cfcb9 (diff)
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.
Diffstat (limited to 'include')
-rw-r--r--include/libc-symbols.h4
1 files changed, 2 insertions, 2 deletions
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