From 54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sat, 14 Jan 2006 20:33:13 +0000 Subject: * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_HIDDEN): Removed. (NLDBL_DECL): Rewritten. Remove __THROW from NLDBL_DECL uses. Use NLDBL_DECL for __vstrfmon, __vstrfmon_l. * sysdeps/ieee754/ldbl-opt/nldbl-asinh.c: Restore attribute_hidden. 2006-01-14 Jakub Jelinek * misc/sys/cdefs.h (__LDBL_REDIR1_DECL): Define. (__LDBL_REDIR_DECL): Stringize __nldbl and name. * stdlib/bits/monetary-ldbl.h: Remove pastos from wchar-ldbl.h. (strfmon, strfmon_l): Add __LDBL_REDIR_DECL. * stdlib/bits/stdlib-ldbl.h (strtold, strtold_l, __strtold_internal, qecvt, qfcvt, qgcvt, qecvt_r, qfcvt_r): Use __LDBL_REDIR1_DECL instead of __LDBL_REDIR_DECL. * wcsmbs/bits/wchar-ldbl.h: Remove stale #if. (__LDBL_REDIR_WCHAR): Remove. (fwprintf, wprintf, swprintf, vfwprintf, vwprintf, vswprintf, fwscanf, wscanf, swscanf, vfwscanf, vwscanf, vswscanf): Use __LDBL_REDIR_DECL instead of __LDBL_REDIR_WCHAR. (wcstold, wcstold_l, __wcstold_internal): Add __LDBL_REDIR1_DECL. * wcsmbs/wchar.h: Include bits/wchar-ldbl.h after bits/wchar2.h instead of before it. (wcstold inline): Move #ifndef __LDBL_COMPAT before extern keyword. * libio/bits/stdio-ldbl.h (__snprintf_chk, __vsnprintf_chk): Add __LDBL_REDIR_DECL. * misc/bits/syslog-ldbl.h (vsyslog): Protect with #ifdef __USE_BSD. (__syslog_chk, __vsyslog_chk): Add __LDBL_REDIR_DECL. 2006-01-14 Roland McGrath --- sysdeps/ieee754/ldbl-opt/nldbl-asinh.c | 1 + sysdeps/ieee754/ldbl-opt/nldbl-compat.h | 52 +++++++++++++++------------------ 2 files changed, 24 insertions(+), 29 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c b/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c index 956046e739..512f68519b 100644 --- a/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c +++ b/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c @@ -1,6 +1,7 @@ #include "nldbl-compat.h" double +attribute_hidden asinhl (double x) { return asinh (x); diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-compat.h b/sysdeps/ieee754/ldbl-opt/nldbl-compat.h index 80dad04e11..cdedaaf0ef 100644 --- a/sysdeps/ieee754/ldbl-opt/nldbl-compat.h +++ b/sysdeps/ieee754/ldbl-opt/nldbl-compat.h @@ -32,60 +32,54 @@ #include #include -#ifdef SHARED -# define NLDBL_HIDDEN -#else -# define NLDBL_HIDDEN attribute_hidden -#endif + +/* Declare the __nldbl_NAME function the wrappers call that's in libc.so, + and then redeclare NAME to mark it hidden for the nldbl-*.c definition. */ #define NLDBL_DECL(name) \ - extern __typeof (name) __nldbl_##name NLDBL_HIDDEN + extern __typeof (name) __nldbl_##name; \ + extern __typeof (name) name attribute_hidden NLDBL_DECL (_IO_vfscanf); NLDBL_DECL (vfscanf); NLDBL_DECL (vfwscanf); -NLDBL_DECL (obstack_vprintf) __THROW; -NLDBL_DECL (vasprintf) __THROW; +NLDBL_DECL (obstack_vprintf); +NLDBL_DECL (vasprintf); NLDBL_DECL (dprintf); NLDBL_DECL (vdprintf); NLDBL_DECL (fprintf); NLDBL_DECL (vfprintf); NLDBL_DECL (vfwprintf); -NLDBL_DECL (vsnprintf) __THROW; -NLDBL_DECL (vsprintf) __THROW; -NLDBL_DECL (vsscanf) __THROW; -NLDBL_DECL (vswprintf) __THROW; -NLDBL_DECL (vswscanf) __THROW; +NLDBL_DECL (vsnprintf); +NLDBL_DECL (vsprintf); +NLDBL_DECL (vsscanf); +NLDBL_DECL (vswprintf); +NLDBL_DECL (vswscanf); NLDBL_DECL (__asprintf); NLDBL_DECL (asprintf); NLDBL_DECL (__printf_fp); -NLDBL_DECL (printf_size) __THROW; +NLDBL_DECL (printf_size); NLDBL_DECL (syslog); NLDBL_DECL (vsyslog); NLDBL_DECL (qecvt); NLDBL_DECL (qfcvt); NLDBL_DECL (qgcvt); +NLDBL_DECL (__vstrfmon); +NLDBL_DECL (__vstrfmon_l); + +/* These don't use __typeof because they were not declared by the headers, + since we don't compile with _FORTIFY_SOURCE. */ extern int __nldbl___vfprintf_chk (FILE *__restrict, int, - const char *__restrict, _G_va_list) - NLDBL_HIDDEN; + const char *__restrict, _G_va_list); extern int __nldbl___vfwprintf_chk (FILE *__restrict, int, - const wchar_t *__restrict, __gnuc_va_list) - NLDBL_HIDDEN; + const wchar_t *__restrict, __gnuc_va_list); extern int __nldbl___vsprintf_chk (char *__restrict, int, size_t, - const char *__restrict, _G_va_list) __THROW - NLDBL_HIDDEN; + const char *__restrict, _G_va_list) __THROW; extern int __nldbl___vsnprintf_chk (char *__restrict, size_t, int, size_t, const char *__restrict, _G_va_list) - __THROW NLDBL_HIDDEN; + __THROW; extern int __nldbl___vswprintf_chk (wchar_t *__restrict, size_t, int, size_t, const wchar_t *__restrict, __gnuc_va_list) - __THROW NLDBL_HIDDEN; -extern void __nldbl___vsyslog_chk (int, int, const char *, va_list) - NLDBL_HIDDEN; -extern ssize_t __nldbl___vstrfmon (char *, size_t, const char *, va_list) - __THROW NLDBL_HIDDEN; -extern ssize_t __nldbl___vstrfmon_l (char *, size_t, __locale_t, - const char *, va_list) - __THROW NLDBL_HIDDEN; + __THROW; #endif /* __NLDBL_COMPAT_H */ -- cgit 1.4.1