diff options
author | Roland McGrath <roland@gnu.org> | 2006-01-14 20:33:13 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2006-01-14 20:33:13 +0000 |
commit | 54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0 (patch) | |
tree | d613329b14b6c6c9930c115253711625c6064da0 /sysdeps/ieee754 | |
parent | 5c9c64088923397e9524c8ef4545ca0dd66a8d5e (diff) | |
download | glibc-54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0.tar glibc-54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0.tar.gz glibc-54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0.tar.bz2 glibc-54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0.zip |
* 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 <jakub@redhat.com>
* 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 <roland@redhat.com>
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/nldbl-asinh.c | 1 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/nldbl-compat.h | 52 |
2 files changed, 24 insertions, 29 deletions
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 <monetary.h> #include <sys/syslog.h> -#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 */ |