| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch implements support for the __STDC_WANT_LIB_EXT2__ feature
test macro from ISO/IEC TR 24731-2:2010, thereby implementing one
possible approach for supporting ISO C feature test macros.
Recall that, as described in
<https://sourceware.org/ml/libc-alpha/2016-05/msg00486.html>, these
macros work based on the definition when affected headers are
included, so cannot be handled once when the first system header is
included because that might not be one of the headers the particular
macro in question affects.
<https://sourceware.org/ml/libc-alpha/2016-05/msg00680.html> expresses
views on possible approaches for implementation and
<https://sourceware.org/ml/libc-alpha/2016-06/msg00039.html> follows
up on that.
This patch arranges things so that the relevant condition is
__GLIBC_USE (LIB_EXT2), following one of the suggestions given.
Headers using these macros include <bits/libc-header-start.h>, which
in turn includes <features.h>. Headers must define
__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION before including
<bits/libc-header-start.h>, to discourage inclusion outside glibc as
requested. __USE_GNU conditions on affected functions are changed to
__GLIBC_USE (LIB_EXT2), while it's added as an additional alternative
on the conditions for functions already enabled for some POSIX
versions.
It would be possible to convert existing __USE_* conditionals to
__GLIBC_USE (with the relevant __GLIBC_USE_* being defined in
<features.h> where __USE_* are presently defined), and so make them
typo-proof (given -Wundef -Werror in glibc builds) because __GLIBC_USE
is used with #if not #ifdef / #if defined.
No attempt is made to enforce the rule about diagnosing different
definitions of __STDC_WANT_LIB_EXT2__ when affected headers are
included; such a diagnostic is incompatible with multiple-include
guards on the affected headers, unless compiler extensions are added
to support it.
As previously noted, glibc does not implement all features from TR
24731-2:2010: the functions aswprintf vaswprintf getwdelim getwline
are not in glibc, although they would be appropriate to add if someone
wished to do so. But I think it makes sense to support the feature
test macro if *any* of the controlled features are present in glibc.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
* bits/libc-header-start.h: New file.
* Makefile (headers): Add bits/libc-header-start.h.
* include/features.h (__STDC_WANT_LIB_EXT2__): Document.
(__GLIBC_USE): New macro.
* libio/stdio.h: Define
__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include
<bits/libc-header-start.h> instead of including <features.h>.
(fmemopen): Declare also if [__GLIBC_USE (LIB_EXT2)].
(open_memstream): Likewise.
(vasprintf): Declare if [__GLIBC_USE (LIB_EXT2)], not [__USE_GNU].
(__asprintf): Likewise.
(asprintf): Likewise.
(__getdelim): Declare also if [__GLIBC_USE (LIB_EXT2)].
(getdelim): Likewise.
(getline): Likewise.
* string/string.h: Define
__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include
<bits/libc-header-start.h> instead of including <features.h>.
(strdup): Declare also if [__GLIBC_USE (LIB_EXT2)]
(strndup): Likewise.
* wcsmbs/wchar.h: Define
__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include
<bits/libc-header-start.h> instead of including <features.h>.
(open_wmemstream): Declare also if [__GLIBC_USE (LIB_EXT2)].
* manual/creature.texi (__STDC_WANT_LIB_EXT2__): Document macro.
|
| |
|
|
|
|
|
|
|
|
| |
#18265]
This patch adds __nonnull annotations for wcscat, wcsncat, wcscmp and wcsncmp.
These added annotations match the annoations for strcat, strncat, strcmp, strncmp in glibc.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
No more __const.
|
|
|
|
| |
c16 support for locales other than the C locale is still missing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This patch fixes some cases which fail to parse with C++.
|
|
|
|
| |
Fix a few typos in the process.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy,
wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs,
wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l.
* sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from
200112L to 200809L.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
* posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and
_SC_THREAD_ROBUST_PRIO_PROTECT entries.
* bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and
_SC_THREAD_ROBUST_PRIO_PROTECT.
* posix/unistd.h: fexecve is in POSIX 2008.
* time/time.h: strftime_l is in POSIX 2008.
* io/sys/stat.h: futimens is in POSIX 2008.
* string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008.
* string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal,
strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008.
* stdlib/stdlib.h: mkdtemp is in POSIX 2008.
|
|
|
|
|
|
|
| |
* string.h: Define correct C++ prototypes for gcc 4.4.
* wchar.h: Likewise.
2009-01-29 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
|
| |
* wcsmbs/wchar.h: Move undefs for local __need_* constants to the
very end.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-12-08 Ulrich Drepper <drepper@redhat.com>
[BZ #5424]
* stdio-common/vfprintf.c: Do not overflow when adding to done.
* stdio-common/Makefile (tests): Add bug22.
* stdio-common/bug22.c: New file.
[BZ #5451]
* time/getdate.c: Fix filling in default values.
* time/bug-getdate1.c: New file.
* time/Makefile: Add rules to build and run bug-getdate1.
* iconvdata/ebcdic-is-friss.c: Use 8bit-gap instead of 8bit-generic.
* iconvdata/ebcdic-es.c: Likewise.
* iconvdata/ebcdic-es-a.c: Likewise.
* iconvdata/ebcdic-uk.c: Likewise.
* iconvdata/iso8859-16.c: Likewise.
* iconvdata/viscii.c: Likewise.
* iconvdata/iso8859-9e.c: Likewise.
* iconvdata/Makefile: Adjust appropriately.
[BZ #5428]
* wcsmbs/wchar.h: Unconditionally undefine __need_mbstate and
__need_wint_t.
* iconvdata/gconv-modules: Likewise.
|
|
|
|
| |
* wcsmbs/wchar.h: Define __need_file also for __USE_XOPEN2K.
|
|
|
|
| |
* wcsmbs/wchar.h: Move many C99 functions into std namespace.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__isoc99_sscanf, __isoc99_vscanf): New prototypes.
(__isoc99_vsscanf, __isoc99_vfscanf): New prototypes, add
libc_hidden_proto.
* include/wchar.h (__isoc99_fwscanf, __isoc99_wscanf,
__isoc99_swscanf, __isoc99_vwscanf): New prototypes.
(__isoc99_vswscanf, __isoc99_vfwscanf): New prototypes,
add libc_hidden_proto.
* libio/stdio.h (fscanf, scanf, sscanf, vfscanf, vscanf,
vsscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
conformance requested.
* wcsmbs/wchar.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf,
vswscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
conformance requested.
* libio/bits/stdio-ldbl.h (fscanf, scanf, sscanf, vfscanf, vscanf,
vsscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX
conformance requested.
* wcsmbs/bits/wchar-ldbl.h (fwscanf, wscanf, swscanf, vfwscanf,
vwscanf, vswscanf): Redirect to __nldbl___isoc99_* if strict
ISO C99 or POSIX conformance requested.
* stdio-common/Versions (libc): Export __isoc99_scanf@@GLIBC_2.7,
__isoc99_vscanf@@GLIBC_2.7, __isoc99_fscanf@@GLIBC_2.7,
__isoc99_vfscanf@@GLIBC_2.7, __isoc99_sscanf@@GLIBC_2.7
and __isoc99_vsscanf@@GLIBC_2.7.
* stdio-common/Makefile (routines): Add isoc99_scanf, isoc99_vscanf,
isoc99_fscanf, isoc99_vfscanf, isoc99_sscanf and isoc99_vsscanf.
(tests): Add scanf14.
(CFLAGS-vfprintf.c, CFLAGS-fprintf.c, CFLAGS-printf.c,
CFLAGS-vfwprintf.c, CFLAGS-vfscanf.c, CFLAGS-vfwscanf.c,
CFLAGS-fscanf.c, CFLAGS-scanf.c, CFLAGS-isoc99_vfscanf.c,
CFLAGS-isoc99_vscanf.c, CFLAGS-isoc99_fscanf.c,
CFLAGS-isoc99_scanf.c): Add $(exceptions).
(CFLAGS-scanf15.c): Add various -I paths to prevent the compiler
from using internal headers.
* wcsmbs/Versions (libc): Export __isoc99_wscanf@@GLIBC_2.7,
__isoc99_vwscanf@@GLIBC_2.7, __isoc99_fwscanf@@GLIBC_2.7,
__isoc99_vfwscanf@@GLIBC_2.7, __isoc99_swscanf@@GLIBC_2.7
and __isoc99_vswscanf@@GLIBC_2.7.
* wcsmbs/Makefile (routines): Add isoc99_wscanf, isoc99_vwscanf,
isoc99_fwscanf, isoc99_vfwscanf, isoc99_swscanf and isoc99_vswscanf.
(CFLAGS-isoc99_wscanf.c, CFLAGS-isoc99_fwscanf.c,
CFLAGS-isoc99_vwscanf.c, CFLAGS-isoc99_vfwscanf.c): Add $(exceptions).
(CPPFLAGS): Add -D_IO_MTSAFE_IO if needed.
* stdio-common/isoc99_scanf.c: New file.
* stdio-common/isoc99_vsscanf.c: New file.
* stdio-common/isoc99_vscanf.c: New file.
* stdio-common/isoc99_vfscanf.c: New file.
* stdio-common/isoc99_fscanf.c: New file.
* stdio-common/isoc99_sscanf.c: New file.
* wcsmbs/isoc99_fwscanf.c: New file.
* wcsmbs/isoc99_vswscanf.c: New file.
* wcsmbs/isoc99_swscanf.c: New file.
* wcsmbs/isoc99_wscanf.c: New file.
* wcsmbs/isoc99_vwscanf.c: New file.
* wcsmbs/isoc99_vfwscanf.c: New file.
* libio/libio.h (_IO_FLAGS2_SCANF_STD): Define.
* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Also
clear _IO_FLAGS2_SCANF_STD bit from _flags2.
* stdio-common/vfscanf.c (_IO_vfscanf_internal): Don't
handle %as, %aS and %a[ if _IO_FLAGS2_SCANF_STD is set in _flags2.
* stdio-common/scanf14.c: New test.
* stdio-common/scanf15.c: New test.
* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
isoc99_scanf, isoc99_fscanf, isoc99_sscanf,
isoc99_vscanf, isoc99_vfscanf, isoc99_vsscanf,
isoc99_wscanf, isoc99_fwscanf, isoc99_swscanf,
isoc99_vwscanf, isoc99_vfwscanf and isoc99_vswscanf.
* sysdeps/ieee754/ldbl-opt/Versions (libc): Export
__nldbl___isoc99_scanf@@GLIBC_2.7,
__nldbl___isoc99_fscanf@@GLIBC_2.7,
__nldbl___isoc99_sscanf@@GLIBC_2.7,
__nldbl___isoc99_vscanf@@GLIBC_2.7,
__nldbl___isoc99_vfscanf@@GLIBC_2.7,
__nldbl___isoc99_vsscanf@@GLIBC_2.7,
__nldbl___isoc99_wscanf@@GLIBC_2.7,
__nldbl___isoc99_fwscanf@@GLIBC_2.7,
__nldbl___isoc99_swscanf@@GLIBC_2.7,
__nldbl___isoc99_vwscanf@@GLIBC_2.7,
__nldbl___isoc99_vfwscanf@@GLIBC_2.7
and __nldbl___isoc99_vswscanf@@GLIBC_2.7.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__isoc99_scanf,
__isoc99_fscanf, __isoc99_sscanf, __isoc99_vscanf,
__isoc99_vfscanf, __isoc99_vsscanf, __isoc99_wscanf,
__isoc99_fwscanf, __isoc99_swscanf, __isoc99_vwscanf,
__isoc99_vfwscanf, __isoc99_vswscanf): Add NLDBL_DECL.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.c
(__nldbl___isoc99_scanf, __nldbl___isoc99_fscanf,
__nldbl___isoc99_sscanf, __nldbl___isoc99_vscanf,
__nldbl___isoc99_vfscanf, __nldbl___isoc99_vsscanf,
__nldbl___isoc99_wscanf, __nldbl___isoc99_fwscanf,
__nldbl___isoc99_swscanf, __nldbl___isoc99_vwscanf,
__nldbl___isoc99_vfwscanf, __nldbl___isoc99_vswscanf): New
functions.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c: New file.
* stdio-common/Makefile (tests): Add scanf13.
(scanf13-ENV): New.
* stdio-common/vfscanf.c (_IO_vfscanf_internal): Handle
m modifier followed by l.
(STRING_ARG): Add width argument.
(_IO_vfscanf_internal) <case L_('c')>: Handle %mc.
<case L_('C')>: Handle %mlc and %mC.
<case L_('s'), case L_('S'), case L_('[')>: Adjust STRING_ARG
arguments.
* stdio-common/scanf13.c: New test.
* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Clear
the _IO_FLAGS2_FORTIFY bit from _flags2 rather than _flags.
type and __THROW marker of splice, vmsplice, and tee.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* misc/bits/syslog.h (syslog): When __va_arg_pack is defined,
implement as __extern_always_inline function.
(vsyslog): Define as __extern_always_inline function unconditionally.
* libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf):
When __va_arg_pack is defined, implement as __extern_always_inline
functions.
(vsprintf, vsnprintf, vprintf, vfprintf): Define as
__extern_always_inline functions unconditionally.
* libio/bits/stdio.h (vprintf): Ifdef out the inline when
bits/stdio2.h will be included.
* wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect.
(swprintf, wprintf, fwprintf): When __va_arg_pack is defined,
implement as __extern_always_inline functions.
(vswprintf, vwprintf, vfwprintf): Define as
__extern_always_inline functions unconditionally.
* debug/tst-chk1.c (do_test): Enable remaining tests for C++.
2007-09-03 Jakub Jelinek <jakub@redhat.com>
* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only
define in C++ for GCC 4.3+, in C++ always use __gnu_inline__
attribute.
* include/features.h (__USE_EXTERN_INLINES): Define only when
__extern_inline is defined.
* stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline
is defined instead of when not __cplusplus.
* misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline
is defined instead of when not __cplusplus.
* socket/sys/socket.h: Include bits/socket2.h when
__extern_always_inline is defined instead of when not __cplusplus.
* libio/stdio.h: Include bits/stdio2.h when __extern_always_inline
is defined instead of when not __cplusplus.
* posix/unistd.h: Include bits/unistd.h when __extern_always_inline
is defined instead of when not __cplusplus.
* string/string.h: Include bits/string3.h when __extern_always_inline
is defined instead of when not __cplusplus.
* wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline
is defined instead of when not __cplusplus.
(btowc, wctob): Don't guard the inlines with ifndef __cplusplus.
* io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline
is not defined.
* misc/bits/syslog-ldbl.h: Guard *_chk stuff with
defined __extern_always_inline instead of !defined __cplusplus.
* libio/bits/stdio-ldbl.h: Likewise.
* wcsmbs/bits/wchar-ldbl.h: Likewise.
* misc/bits/syslog.h (syslog): Don't define for C++.
(vsyslog): Use __extern_always_inline function for C++ instead of
a macro.
* libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline
whenever that macro is defined.
(vprintf): Don't provide the inline for C++.
(fread_unlocked, fwrite_unlocked): Don't define the macros for C++.
* libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't
define the macros for C++.
(vsprintf, vsnprintf, vprintf, vfprintf): Define as
__extern_always_inline functions for C++.
* io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat,
stat64, lstat64, fstat64, fstatat64): Don't define if not
__USE_EXTERN_INLINES.
* wcsmbs/bits/wchar2.h: Fix #error message.
(swprintf, wprintf, fwprintf): Don't define the macros for C++.
(vswprintf, vwprintf, vfwprintf): Define using
__extern_always_inline functions for C++.
* string/bits/string3.h: Don't #undef macros if __cplusplus.
(memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy,
strncpy, strcat, strncat): Define as __extern_always_inline
functions instead of macros for C++.
* math/bits/cmathcalls.h: Guard __extern_inline routines with
defined __extern_inline.
* sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define
to __extern_inline whenever that macro is defined.
* sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise.
* sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise.
* sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major,
gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from
prototypes. Only provide __extern_inline routines if
__USE_EXTERN_INLINES.
* debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6}
tests.
* debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++.
For now avoid some *printf tests in C++. Skip all testing
if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro
is not.
* debug/tst-chk4.cc: New file.
* debug/tst-chk5.cc: New file.
* debug/tst-chk6.cc: New file.
* debug/tst-lfschk4.cc: New file.
* debug/tst-lfschk5.cc: New file.
* debug/tst-lfschk6.cc: New file.
* include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid
prototypes in C++.
* include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
__vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
__vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to fill a hole on 64-bit platforms.
* stdlib/stdlib.h: Remove __strto*_internal prototypes and strto*
inline functions.
* include/stdlib.h: Add __strto*_internal prototypes here.
* wcsmbs/wchar.h: Remove __wcsto*_internal prototypes and wcsto*
inline functions.
* include/wchar.h: Add __wcsto*_internal prototypes.
* sysdeps/generic/inttypes.h: No need to protect the declaration
of the __strto*_internal and __wcsto*_internal members here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV
if from and to charsets are the same.
* iconv/gconv_db.c (__gconv_find_transform): Likewise.
* intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open
returns __GCONV_NOCONV, but not for __GCONV_NULCONV.
2007-07-17 Jakub Jelinek <jakub@redhat.com>
* wcsmbs/wchar.h: Only define wint_t if __need_wint_t.
Don't define wint_t when __need_mbstate_t unless it
is necessary.
(__mbstate_t): Use __WINT_TYPE__ rather than wint_t
in the typedef if possible.
* wctype/wctype.h (wint_t): Define by including
wchar.h with __need_wint_t instead of including stddef.h
with __need_wint_t and as fallback definining it ourselves.
* iconv/gconv.h (__need_wint_t): Define before including
wchar.h.
* sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC
or _GLIBCPP_USE_WCHAR_T.
(__need_wchar_t): Don't define
if not _LIBC or _GLIBCPP_USE_WCHAR_T.
(__need_wint_t): Don't define before including stddef.h,
define before including wchar.h only if _LIBC or
_GLIBCPP_USE_WCHAR_T.
(_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T.
* sysdeps/mach/hurd/_G_config.h: Likewise.
* sysdeps/generic/_G_config.h: Likewise.
* libio/libio.h (__wunderflow, __wuflow, __woverflow): Only
prototype if _LIBC or _GLIBCPP_USE_WCHAR_T.
(_IO_getwc_unlocked, _IO_putwc_unlocked): Only define
if _LIBC or _GLIBCPP_USE_WCHAR_T.
|
|
|
|
|
|
|
| |
* wcsmbs/wchar.h (fwprintf, fwscanf, wprintf, wscanf, swprintf,
swscanf, vfwprintf, vwprintf, vswprintf, fwide): Define even
for -std=iso9899:199409.
* CONFORMANCE: Remove comments about unsupported AMD1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config.make.in (gnu89-inline-CFLAGS): New variable.
* Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with
-std=gnu99.
* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define.
* argp/argp.h: Use it.
* bits/mathinline.h: Likewise.
* bits/sigset.h: Likewise.
* bits/string.h: Likewise.
* ctype/ctype.h: Likewise.
* hurd/hurd.h: Likewise.
* hurd/hurd/fd.h: Likewise.
* hurd/hurd/port.h: Likewise.
* hurd/hurd/signal.h: Likewise.
* hurd/hurd/threadvar.h: Likewise.
* hurd/hurd/userlink.h: Likewise.
* io/sys/stat.h: Likewise.
* libio/bits/stdio.h: Likewise.
* libio/bits/stdio2.h: Likewise.
* mach/lock-intern.h: Likewise.
* mach/mach/mig_support.h: Likewise.
* math/bits/cmathcalls.h: Likewise.
* posix/bits/unistd.h: Likewise.
* socket/bits/socket2.h: Likewise.
* stdlib/bits/stdlib.h: Likewise.
* stdlib/stdlib.h: Likewise.
* string/argz.h: Likewise.
* string/bits/string2.h: Likewise.
* string/bits/string3.h: Likewise.
* sysdeps/alpha/fpu/bits/mathinline.h: Likewise.
* sysdeps/generic/inttypes.h: Likewise.
* sysdeps/generic/machine-lock.h: Likewise.
* sysdeps/generic/machine-sp.h: Likewise.
* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
* sysdeps/i386/i486/bits/string.h: Likewise.
* sysdeps/ia64/fpu/bits/mathinline.h: Likewise.
* sysdeps/mach/alpha/machine-lock.h: Likewise.
* sysdeps/mach/alpha/machine-sp.h: Likewise.
* sysdeps/mach/i386/machine-lock.h: Likewise.
* sysdeps/mach/powerpc/machine-lock.h: Likewise.
* sysdeps/mach/powerpc/machine-sp.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
* sysdeps/s390/bits/string.h: Likewise.
* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise.
* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
* wcsmbs/bits/wchar2.h: Likewise.
* wcsmbs/wchar.h: Likewise.
* stdlib/gmp.h: Likewise. Include <features.h> to get
__extern_inline definition.
* locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is
NULL.
|
|
|
|
| |
* locales/pl_PL: Fix currency_symbol and its placement.
|
|
|
|
|
| |
type `long long int', not `long int'.
(wcstoq): Likewise.
|
|
|
|
| |
* wcsmbs/wchar.h: ... here.
|
| |
|
|
|
|
|
| |
only when we will use them, under [__OPTIMIZE__ && __GNUC__ >= 2].
(__wcstoll_internal, __wcstoull_internal_defined): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
prototype.
(nexttowardf): Redirect to __nldbl_nexttowardf.
(nexttoward): Redirect to nextafter.
(__MATHDECL_2, __MATHDECL_1): Redirect *l functions to
non-*l versions if __LONG_DOUBLE_MATH_OPTIONAL and
__NO_LONG_DOUBLE_MATH.
* math/complex.h (__MATHDECL_1): Likewise.
* math/bits/mathcalls.h (nexttoward): Don't prototype if
__LDBL_COMPAT.
* misc/sys/cdefs.h: Include <bits/wordsize.h>.
(__LDBL_COMPAT, __LDBL_REDIR1, __LDBL_REDIR, __LDBL_REDIR1_NTH,
__LDBL_REDIR_NTH, __LDBL_REDIR_DECL): New macros.
* libio/bits/stdio-ldbl.h: New file.
* libio/Makefile (headers): Add it.
* libio/stdio.h [__LDBL_COMPAT]: #include it.
* libio/bits/libio-ldbl.h: New file.
* libio/Makefile (headers): Add it.
* libio/libio.h [__LDBL_COMPAT]: #include it.
* libio/libioP.h: Include <math_ldbl_opt.h>.
* include/wchar.h (__fwprintf, __vfwprintf): Fix commented out
attribute.
(__vfwprintf_chk): New prototype. Add libc_hidden_proto.
* wcsmbs/bits/wchar-ldbl.h: New file.
* wcsmbs/Makefile (headers): Add it.
* wcsmbs/wchar.h [__LDBL_COMPAT]: #include it.
* wcsmbs/bits/wchar2.h (__vswprintf_alias): Removed.
(vswprintf): Define as a macro rather than inline function.
* stdio-common/bits/printf-ldbl.h: New file.
* stdio-common/Makefile (headers): Add it.
* stdio-common/printf.h [__LDBL_COMPAT]: #include it.
* libio/fwprintf.c: Include libioP.h.
(fwprintf): Use ldbl_weak_alias instead of weak_alias.
* libio/fwscanf.c: Include libioP.h.
(fwscanf): Rename to __fwscanf and add ldbl_strong_alias.
* libio/iovdprintf.c (vdprintf): Use ldbl_weak_alias instead of
weak_alias.
* libio/iovsprintf.c (_IO_vsprintf): Rename to __IO_vsprintf,
add ldbl_strong_alias and use INTDEF2 instead of INTDEF.
(vsprintf): Use ldbl_weak_alias instead of weak_alias.
* libio/iovsscanf.c (__vsscanf, vsscanf): Use ldbl_weak_alias
instead of weak_alias.
* libio/iovswscanf.c (vswscanf): Rename to __vswscanf,
add ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* libio/obprintf.c (obstack_printf, obstack_vprintf): Use
ldbl_weak_alias instead of weak_alias.
* libio/swprintf.c: Include libioP.h.
(swprintf): Rename to __swprintf and add ldbl_strong_alias.
* libio/swscanf.c: Include libioP.h.
(swscanf): Rename to __swscanf and add ldbl_strong_alias.
* libio/vasprintf.c (vasprintf): Use ldbl_weak_alias instead of
weak_alias.
* libio/vscanf.c (vscanf): Use ldbl_weak_alias instead of
weak_alias.
* libio/vsnprintf.c (__vsnprintf, vsnprintf): Use ldbl_weak_alias
instead of weak_alias.
* libio/vswprintf.c (__vswprintf): Remove alias.
(vswprintf): Use ldbl_weak_alias instead of weak_alias.
* libio/vwprintf.c: Include libioP.h.
(vwprintf): Rename to __vwprintf and add ldbl_strong_alias.
* libio/vwscanf.c (vwscanf): Rename to __vwscanf and add
ldbl_strong_alias.
* libio/wprintf.c: Include libioP.h.
(wprintf): Rename to __wprintf and add ldbl_strong_alias.
* libio/wscanf.c: Include libioP.h.
(wscanf): Rename to __wscanf and add ldbl_strong_alias.
* stdio-common/asprintf.c (__asprintf): Rename to ___asprintf, add
ldbl_strong_alias and use INTDEF2 instead of INTDEF.
(asprintf): Use ldbl_weak_alias instead of weak_alias.
* stdio-common/dprintf.c (dprintf): Rename to __dprintf, add
ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* stdio-common/fprintf.c: Include libioP.h.
(fprintf): Rename to __fprintf, add ldbl_strong_alias and
use ldbl_hidden_def instead of libc_hidden_def.
(_IO_fprintf): Use ldbl_weak_alias instead of weak_alias.
* stdio-common/fscanf.c: Include libioP.h.
(fscanf): Rename to __fscanf and add ldbl_strong_alias.
* stdio-common/printf.c: Include libioP.h.
(printf): Rename to __printf and add ldbl_strong_alias.
(_IO_printf): Use ldbl_strong_alias instead of strong_alias.
* stdio-common/printf_fp.c (__printf_fp): Rename to __printf_fp, add
ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* stdio-common/printf_size.c (printf_size): Rename to __printf_size
and add ldbl_strong_alias.
* stdio-common/scanf.c (scanf): Rename to __scanf and add
ldbl_strong_alias.
* stdio-common/snprintf.c (snprintf): Use ldbl_weak_alias instead of
weak_alias.
* stdio-common/sprintf.c (sprintf): Rename to __sprintf, add
ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
(_IO_sprintf): Use ldbl_strong_alias instead of strong_alias.
* stdio-common/sscanf.c: Include libioP.h instead of iolibio.h.
(sscanf): Rename to __sscanf and add ldbl_strong_alias.
* stdio-common/vfprintf.c (vfprintf): Define to
_IO_vfprintf_internal. Use ldbl_strong_alias instead. Use
ldbl_hidden_def instead of libc_hidden_def.
(_IO_vfprintf_internal): Clear is_long_double if __ldbl_is_dbl,
handle the argument as double if it is non-zero.
(vfwprintf): Use ldbl_weak_alias instead of weak_alias.
(_IO_vfprintf): Add ldbl_strong_alias.
* stdio-common/vfscanf.c (_IO_vfscanf): Rename to
_IO_vfscanf_internal, don't use strtold if __ldbl_is_dbl, add
ldbl_strong_alias.
(vfwscanf): Use ldbl_weak_alias instead of weak_alias.
(__vfscanf): Rename to ___vfscanf, add ldbl_strong_alias and
use ldbl_hidden_def instead of libc_hidden_def.
(vfscanf): Use ldbl_weak_alias instead of weak_alias.
* stdio-common/vprintf.c: Include libioP.h.
(vprintf): Rename to __vprintf and add ldbl_strong_alias.
* debug/fprintf_chk.c (__fprintf_chk): Rename to ___fprintf_chk
and add ldbl_strong_alias.
* debug/printf_chk.c (__printf_chk): Rename to ___printf_chk
and add ldbl_strong_alias.
* debug/snprintf_chk.c: Include libioP.h.
(__snprintf_chk): Rename to ___snprintf_chk and add ldbl_strong_alias.
* debug/sprintf_chk.c: Include libioP.h.
(__sprintf_chk): Rename to ___sprintf_chk and add ldbl_strong_alias.
* debug/vfprintf_chk.c (__vfprintf_chk): Rename to ___vfprintf_chk,
add ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* debug/vfwprintf_chk.c (__vfwprintf_chk): Add libc_hidden_def.
* debug/vprintf_chk.c (__vprintf_chk): Rename to ___vprintf_chk
and add ldbl_strong_alias.
* debug/vsnprintf_chk.c (__vsnprintf_chk): Rename to ___vsnprintf_chk,
add ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* debug/vsprintf_chk.c (__vsprintf_chk): Rename to ___vsprintf_chk,
add ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* stdlib/stdlib.h (strtold): Don't define inline if [!__LDBL_COMPAT].
* wcsmbs/wchar.h (wcstold): Likewise.
* stdlib/strtod_l.c: Include math_ldbl_opt.h.
(____STRTOF_INTERNAL): Define.
(INTERNAL (__STRTOF)): Rename to ____STRTOF_INTERNAL.
(__STRTOF): Call ____STRTOF_INTERNAL instead.
[LONG_DOUBLE_COMPAT] (strtold_l, wcstold_l, __strtold_l, __wcstold_l):
Add compatibility symbols.
* stdlib/strtod.c: Include math_ldbl_opt.h.
[LONG_DOUBLE_COMPAT] (strtold, wcstold, __strtold_internal,
__wcstold_internal): Add compatibility symbols.
* stdlib/strtold.c: Include bits/wordsize.h, wchar.h.
(NEW, NEW1): Define.
(__new_strtold, __new_wcstold): New prototypes.
(____new_strtold_internal, ____new_wcstold_internal): Likewise.
Add libc_hidden_proto.
(STRTOF): Define to NEW (*told).
[__LONG_DOUBLE_MATH_OPTIONAL] (wcstold, strtold): Add
long_double_symbol.
[__LONG_DOUBLE_MATH_OPTIONAL] (__wcstold_internal,
__strtold_internal): Likewise. Add libc_hidden_ver.
* stdlib/bits/stdlib-ldbl.h: New file.
* stdlib/Makefile (headers): Add it.
* stdlib/stdlib.h [__LDBL_COMPAT]: #include it.
* include/stdlib.h (ecvt_r, fcvt_r, qecvt_r, qfcvt_r): Remove
libc_hidden_proto.
(__ecvt, __fcvt, __gcvt, __ecvt_r, __fcvt_r, __qecvt, __qfcvt,
__qgcvt, __qecvt_r, __qfcvt_r): New prototypes.
* misc/efgcvt_r.c: Include shlib-compat.h.
(LONG_DOUBLE_CVT): Define.
(__APPEND, __APPEND2): Define.
(*fcvt_r): Use __APPEND instead of APPEND. Remove libc_hidden_def.
(*ecvt_r): Likewise.
(cvt_symbol): Define. Use it on fcvt_r and ecvt_r.
* misc/efgcvt.c: Include shlib-compat.h.
(LONG_DOUBLE_CVT): Define.
(__APPEND, __APPEND2): Define.
(fcvt): Use __APPEND instead of APPEND. Remove libc_hidden_def.
(ecvt, gcvt): Likewise.
(cvt_symbol): Define. Use it on fcvt, ecvt and gcvt.
* stdlib/bits/monetary-ldbl.h: New file.
* stdlib/Makefile (headers): Add it.
* stdlib/monetary.h [__LDBL_COMPAT]: #include it.
* stdlib/strfmon.c: Include math_ldbl_opt.h.
(strfmon): Rename to __strfmon and add ldbl_strong_alias.
* stdlib/strfmon_l.c: Remove all traces of [!USE_IN_LIBIO].
(__vstrfmon_l): Don't set is_long_double if __ldbl_is_dbl.
(__strfmon_l): Rename to ___strfmon_l and add ldbl_strong_alias.
(strfmon_l): Use ldbl_weak_alias instead of weak_alias.
* misc/bits/syslog-ldbl.h: New file.
* misc/Makefile (headers): Add it.
* misc/sys/syslog.h [__LDBL_COMPAT]: #include it.
* misc/syslog.c: Include math_ldbl_opt.h.
(syslog): Rename to __syslog and add ldbl_strong_alias,
use ldbl_hidden_def instead of libc_hidden_def.
(vsyslog): Rename to __vsyslog and add ldbl_strong_alias,
use ldbl_hidden_def instead of libc_hidden_def.
* sysdeps/generic/math_ldbl_opt.h: New file.
* math/w_j1l.c (j1l, y1l): Rename to __ prefixed variants.
Add weak_alias.
* math/w_j0l.c (j0l, y0l): Likewise.
* math/w_jnl.c (jnl, ynl): Likewise.
* sysdeps/ieee754/ldbl-96/s_nexttoward.c
(__nexttowardl): Remove strong_alias.
(nexttowardl): Remove weak_alias.
* sysdeps/ieee754/ldbl-96/s_erfl.c
(__erfl, __erfcl): Remove strong_alias.
(erfl, erfcl): Remove weak_alias.
* sysdeps/ieee754/ldbl-64-128/s_asinhl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_atanl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_cbrtl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_ceill.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_copysignl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_cosl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_erfl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_expm1l.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_fabsl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_finitel.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_floorl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_frexpl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_ilogbl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_isinfl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_isnanl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_llrintl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_llroundl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_log1pl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_logbl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_lrintl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_lroundl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_modfl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nextafterl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nexttoward.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nexttowardf.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nexttowardfd.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_remquol.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_rintl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_roundl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_scalblnl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_scalbnl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_signbitl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_sincosl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_sinl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_tanhl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_tanl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_truncl.c: New file.
* sysdeps/ieee754/ldbl-64-128/strtold_l.c: New file.
* sysdeps/ieee754/ldbl-64-128/w_expl.c: New file.
* sysdeps/ieee754/ldbl-opt/configure.in: New file.
* sysdeps/ieee754/ldbl-opt/configure: New file.
* sysdeps/ieee754/ldbl-opt/Makefile: New file.
* sysdeps/ieee754/ldbl-opt/Versions: New file.
* sysdeps/ieee754/ldbl-opt/cabs.c: New file.
* sysdeps/ieee754/ldbl-opt/cabsl.c: New file.
* sysdeps/ieee754/ldbl-opt/carg.c: New file.
* sysdeps/ieee754/ldbl-opt/cargl.c: New file.
* sysdeps/ieee754/ldbl-opt/cimag.c: New file.
* sysdeps/ieee754/ldbl-opt/cimagl.c: New file.
* sysdeps/ieee754/ldbl-opt/conj.c: New file.
* sysdeps/ieee754/ldbl-opt/conjl.c: New file.
* sysdeps/ieee754/ldbl-opt/creal.c: New file.
* sysdeps/ieee754/ldbl-opt/creall.c: New file.
* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c: New file.
* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-acos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-acosh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-asin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-asinh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-atan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-atan2.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-atanh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cabs.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cacos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-carg.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-casin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-casinh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-catan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-catanh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ccos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ceil.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cexp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cimag.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-clog.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-clog10.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.h: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-conj.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-copysign.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cosh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cpow.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cproj.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-creal.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-csin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-csinh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ctan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-drem.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-erf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-erfc.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-exp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-exp10.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-exp2.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-expm1.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fabs.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fdim.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-finite.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-floor.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fma.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fmax.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fmin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fmod.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-frexp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-gamma.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-hypot.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isinf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isnan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-j0.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-j1.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-jn.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-llrint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-llround.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-log.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-log10.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-log1p.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-log2.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-logb.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-lrint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-lround.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-modf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-pow.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-printf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-remainder.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-remquo.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-rint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-round.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-scalb.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-scanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-signbit.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-significand.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sincos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sinh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strtold.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-syslog.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-tan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-tanh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-trunc.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-y0.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-y1.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-yn.c: New file.
* sysdeps/ieee754/ldbl-opt/s_asinh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_atan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cacos.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cacosh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cacoshl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cacosl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_casin.c: New file.
* sysdeps/ieee754/ldbl-opt/s_casinh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_casinhl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_casinl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_catan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_catanh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_catanhl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_catanl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cbrt.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ccos.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ccosh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ccoshl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ccosl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ceil.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cexp.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cexpl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_clog.c: New file.
* sysdeps/ieee754/ldbl-opt/s_clog10.c: New file.
* sysdeps/ieee754/ldbl-opt/s_clog10l.c: New file.
* sysdeps/ieee754/ldbl-opt/s_clogl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_copysign.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cpow.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cpowl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cproj.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cprojl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csin.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csinh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csinhl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csinl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csqrt.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csqrtl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ctan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ctanh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ctanhl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ctanl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_erf.c: New file.
* sysdeps/ieee754/ldbl-opt/s_expm1.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fabs.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fdim.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fdiml.c: New file.
* sysdeps/ieee754/ldbl-opt/s_finite.c: New file.
* sysdeps/ieee754/ldbl-opt/s_floor.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fma.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fmal.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fmax.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fmaxl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fmin.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fminl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_frexp.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ilogb.c: New file.
* sysdeps/ieee754/ldbl-opt/s_isinf.c: New file.
* sysdeps/ieee754/ldbl-opt/s_isnan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ldexp.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ldexpl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_llrint.c: New file.
* sysdeps/ieee754/ldbl-opt/s_llround.c: New file.
* sysdeps/ieee754/ldbl-opt/s_log1p.c: New file.
* sysdeps/ieee754/ldbl-opt/s_logb.c: New file.
* sysdeps/ieee754/ldbl-opt/s_lrint.c: New file.
* sysdeps/ieee754/ldbl-opt/s_lround.c: New file.
* sysdeps/ieee754/ldbl-opt/s_modf.c: New file.
* sysdeps/ieee754/ldbl-opt/s_nan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_nanl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_nearbyint.c: New file.
* sysdeps/ieee754/ldbl-opt/s_nextafter.c: New file.
* sysdeps/ieee754/ldbl-opt/s_remquo.c: New file.
* sysdeps/ieee754/ldbl-opt/s_rint.c: New file.
* sysdeps/ieee754/ldbl-opt/s_round.c: New file.
* sysdeps/ieee754/ldbl-opt/s_scalbln.c: New file.
* sysdeps/ieee754/ldbl-opt/s_scalbn.c: New file.
* sysdeps/ieee754/ldbl-opt/s_significand.c: New file.
* sysdeps/ieee754/ldbl-opt/s_significandl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_sin.c: New file.
* sysdeps/ieee754/ldbl-opt/s_sincos.c: New file.
* sysdeps/ieee754/ldbl-opt/s_tan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_tanh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_trunc.c: New file.
* sysdeps/ieee754/ldbl-opt/w_acos.c: New file.
* sysdeps/ieee754/ldbl-opt/w_acosh.c: New file.
* sysdeps/ieee754/ldbl-opt/w_acoshl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_acosl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_asin.c: New file.
* sysdeps/ieee754/ldbl-opt/w_asinl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_atan2.c: New file.
* sysdeps/ieee754/ldbl-opt/w_atan2l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_atanh.c: New file.
* sysdeps/ieee754/ldbl-opt/w_atanhl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_cosh.c: New file.
* sysdeps/ieee754/ldbl-opt/w_coshl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_drem.c: New file.
* sysdeps/ieee754/ldbl-opt/w_dreml.c: New file.
* sysdeps/ieee754/ldbl-opt/w_exp.c: New file.
* sysdeps/ieee754/ldbl-opt/w_exp10.c: New file.
* sysdeps/ieee754/ldbl-opt/w_exp10l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_fmod.c: New file.
* sysdeps/ieee754/ldbl-opt/w_fmodl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_hypot.c: New file.
* sysdeps/ieee754/ldbl-opt/w_hypotl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_j0.c: New file.
* sysdeps/ieee754/ldbl-opt/w_j0l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_j1.c: New file.
* sysdeps/ieee754/ldbl-opt/w_j1l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_jn.c: New file.
* sysdeps/ieee754/ldbl-opt/w_jnl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_lgamma.c: New file.
* sysdeps/ieee754/ldbl-opt/w_lgamma_r.c: New file.
* sysdeps/ieee754/ldbl-opt/w_lgammal.c: New file.
* sysdeps/ieee754/ldbl-opt/w_lgammal_r.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log10.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log10l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log2.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log2l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_logl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_pow.c: New file.
* sysdeps/ieee754/ldbl-opt/w_powl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_remainder.c: New file.
* sysdeps/ieee754/ldbl-opt/w_remainderl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_scalb.c: New file.
* sysdeps/ieee754/ldbl-opt/w_scalbl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_sinh.c: New file.
* sysdeps/ieee754/ldbl-opt/w_sinhl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_sqrt.c: New file.
* sysdeps/ieee754/ldbl-opt/w_sqrtl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_tgamma.c: New file.
* sysdeps/ieee754/ldbl-opt/w_tgammal.c: New file.
* sysdeps/unix/sysv/linux/sparc/bits/wordsize.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/Implies: New file.
* sysdeps/sparc/sparc32/Implies: Move ldbl-128 first and flt-32
after dbl-64.
* sysdeps/unix/sysv/linux/sparc/sparc32/Versions (NLDBL_VERSION):
%define this to to GLIBC_2.4.
* sysdeps/sparc/sparc32/fpu/e_sqrtl.c: New file.
* sysdeps/sparc/sparc32/fpu/s_fabs.c: New file.
* sysdeps/sparc/sparc32/fpu/s_fabsf.S: New file.
* sysdeps/sparc/sparc32/fpu/s_fabsl.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_qtoui.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_qtoux.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_qtox.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_uitoq.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_uxtoq.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_xtoq.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_qtou.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_qtoull.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_utoq.c: New file.
* sysdeps/sparc/sparc32/soft-fp/Versions: New file.
* sysdeps/sparc/fpu/bits/mathinline.h (__unordered_cmp,
__unordered_v9cmp): Define differently depending on
-m32 -mlong-double-{64,128}.
(__signbitl, sqrtl, __ieee754_sqrtl): New inlines.
* sysdeps/sparc/fpu/bits/mathdef.h (__NO_LONG_DOUBLE_MATH): Remove.
* sysdeps/sparc/sparc32/soft-fp/Makefile (sparc32-quad-routines):
Set.
(sysdep-routines): Add sparc32-quad-routines.
* sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Include stdlib.h.
(FP_HANDLE_EXCEPTIONS): Call ___Q_simulate_exceptions as a normal
function.
* sysdeps/sparc/sparc32/soft-fp/q_sqrt.c (__ieee754_sqrtl): New
alias to _Q_sqrt.
* sysdeps/sparc/sparc32/soft-fp/q_div.c (_Q_div): Fix a typo.
* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Include stdlib.h.
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
* libio/libio.h (_IO_vfscanf, _IO_vfprintf): Remove __THROW.
(_IO_vfwscanf, _IO_vfwprintf): Likewise.
* libio/libioP.h (_IO_vdprintf): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/bits/wchar2.h: New file.
* wcsmbs/wchar.h: Include <bits/wchar2.h> if fortification is
requested.
* wcsmbs/wcsncpy.c: Add __wcsncpy alias.
* string/bits/string3.h: Add fortified stpncpy definitions.
* sysdeps/generic/stpncpy_chk.c: New file.
* libio/vswprintf.c: Move _IO_wstrnfile definition to strfile.h.
Export _IO_wstrn_jumps.
* libio/strfile.h: Define _IO_wstrnfile and declare _IO_wstrn_jumps.
* include/wchar.h: Declare __wcsncpy and __vswprintf_chk.
* debug/fgetws_chk.c: New file.
* debug/fgetws_u_chk.c: New file.
* debug/fwprintf_chk.c: New file.
* debug/swprintf_chk.c: New file.
* debug/vfwprintf_chk.c: New file.
* debug/vswprintf_chk.c: New file.
* debug/vwprintf_chk.c: New file.
* debug/wcpcpy_chk.c: New file.
* debug/wcpncpy_chk.c: New file.
* debug/wcscat_chk.c: New file.
* debug/wcscpy_chk.c: New file.
* debug/wcsncat_chk.c: New file.
* debug/wcsncpy_chk.c: New file.
* debug/wmemcpy_chk.c: New file.
* debug/wmemmove_chk.c: New file.
* debug/wmempcpy_chk.c: New file.
* debug/wmemset_chk.c: New file.
* debug/wprintf_chk.c: New file.
* debug/tst-chk1.c: Add tests for new functions.
* debug/Versions: Export new functions.
* debug/Makefile (routines): Add new functions.
|
|
|
|
|
|
|
|
|
| |
2005-04-01 Ulrich Drepper <drepper@redhat.com>
* wcsmbs/btowc.c (__btowc): Optimize parameters in ASCII range.
* wcsmbs/wctob.c (wctob): Likewise.
* wcsmbs/wchar.h (btowc): Add optimized inline function.
(wctob): Likewise.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
and atomic_dealy is not already defined.
* sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
* sysdeps/x86_64/bits/atomic.h: Likewise.
* miscd/sys/cdefs.h (__NTH): New macro.
(__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
(__REDIRECT_NTH): New macro.
* argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
* ctype/ctype.h: Likewise.
* dirent/dirent.h: Likewise.
* io/fcntl.h: Likewise.
* io/sys/sendfile.h: Likewise.
* io/sys/stat.h: Likewise.
* io/sys/statfs.h: Likewise.
* io/sys/statvfs.h: Likewise.
* libio/bits/stdio.h: Likewise.
* misc/sys/mman.h: Likewise.
* posix/unistd.h: Likewise.
* resource/sys/resource.h: Likewise.
* rt/aio.h: Likewise.
* signal/signal.h: Likewise.
* stdlib/stdlib.h: Likewise.
* string/argz.h: Likewise.
* string/string.h: Likewise.
* sysdeps/generic/inttypes.h: Likewise.
* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
* wcsmbs/wchar.h: Likewise.
* sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.
* resolv/gethnamaddr.c (getanswer): Remove __P use in variable
definition.
* io/sys/poll.h: Remove __THROW from poll prototype, it's a
cancellation point.
|
|
|
|
|
|
| |
2003-06-12 Ulrich Drepper <drepper@redhat.com>
* wcsmbs/wchar.h: Define wint_t in std namespace, too [PR libc/5034].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-04-19 Ulrich Drepper <drepper@redhat.com>
* catgets/nl_types.h: Remove __THROW marker from cancellation points.
* dirent/dirent.h: Likewise.
* dlfcn/dlfcn.h: Likewise.
* grp/grp.h: Likewise.
* iconv/iconv.h: Likewise.
* io/fcntl.h: Likewise.
* io/ftw.h: Likewise.
* libio/stdio.h: Likewise.
* misc/sys/mman.h: Likewise.
* misc/sys/select.h: Likewise.
* misc/sys/syslog.h: Likewise.
* misc/sys/uio.h: Likewise.
* posix/spawn.h: Likewise.
* posix/unistd.h: Likewise.
* posix/sys/wait.h: Likewise.
* pwd/pwd.h: Likewise.
* resolv/netdb.h: Likewise.
* rt/aio.h: Likewise.
* shadow/shadow.h: Likewise.
* signal/signal.h: Likewise.
* socket/sys/socket.h: Likewise.
* stdlib/stdlib.h: Likewise.
* streams/stropts.h: Likewise.
* string/string.h: Likewise.
* sysdeps/gnu/utmpx.h: Likewise.
* sysvipc/sys/msg.h: Likewise.
* termios/termios.h: Likewise.
* time/time.h: Likewise.
* wcsmbs/wchar.h: Likewise.
* iconv/gconv_cache.c: Include <not-cancel.h> and use non-cancelable
functions.
* misc/daemon.c: Likewise.
* sysdeps/generic/backtracesymsfd.c: Likewise.
* sysdeps/generic/check_fds.c: Likewise.
* sysdeps/unix/sysv/linux/gethostid.c: Likewise.
* sysdeps/unix/sysv/linux/not-cancel.h: New file.
* sysdeps/generic/not-cancel.h: New file.
* csu/Makefile (distribute): Add not-cancel.h.
* sysdeps/unix/sysv/linux/fatal-prepare.h: New file.
* sysdeps/unix/sysv/linux/Makefile: Define FATAL_PREPARE_INCLUDE
for assert.c and assert-perr.c to include <fatal-prepare.h>.
* sysdeps/unix/sysv/linux/Dist: Add fatal-prepare.h.
* sysdeps/posix/remove.c (remove): Rewrite. No need to restore
errno and unlink first.
* io/ftw.c (ftw_dir): In all places assume fchdir is available.
2003-04-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Use
INTERNAL_SYSCALL instead of INLINE_SYSCALL.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ctype/ctype-extn.c (isblank_l): Add weak alias.
* sysdeps/generic/strtol_l.c (strtol_l): Likewise.
* sysdeps/generic/strtoll_l.c (strtoll_l): Likewise.
* sysdeps/generic/strtoul_l.c (strtoul_l): Likewise.
* sysdeps/generic/strtoull_l.c (strtoull_l): Likewise.
* wctype/iswctype_l.c (iswctype_l): Likewise.
* time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: No libc_hidden_def.
* ctype/ctype.h (__exctype_l): Don't declare __ name.
* stdlib/stdlib.h: Don't declare __*_l names.
* include/stdlib.h: Declare them here instead.
* include/string.h: Don't declare __*_l names.
* string/string.h: Declare them here instead.
* time/time.h: Don't declare __*_l names.
* include/time.h: Declare them here instead.
* wcsmbs/wchar.h: Don't declare __*_l names.
* include/wchar.h: Declare them here instead.
* wctype/wctype.h: Declare iswalnum_l, not __iswalnum_l.
Don't declare __*_l names.
* include/wctype.h: Declare them here instead.
* stdlib/monetary.h: Declare strfmon_l, not __strfmon_l.
* stdlib/strfmon_l.c (strfmon_l): Define as weak alias.
* locale/langinfo.h: Don't declare __nl_langinfo_l.
* include/langinfo.h: Declare it here with __typeof.
|
|
|
|
|
|
|
|
|
|
| |
* time/time.h (__strftime_l, strftime_l): Declare them.
* wcsmbs/wchar.h (__wcsftime_l, wcsftime_l): Declare them.
* time/strftime_l.c: New file.
* time/wcsftime_l.c: New file.
* time/Makefile (routines): Add strftime_l, wcsftime_l.
* time/Versions (libc: GLIBC_2.3): Add __strftime_l, __wcsftime_l,
strftime_l, wcsftime_l.
|