glibc/stdio-common/vfscanf.c

33 lines
1.2 KiB
C
Raw Normal View History

/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
update from main archive 961105 Wed Nov 6 04:30:26 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/syscalls.list: Add weak alias llseek for _llseek syscall. Reported by Andy Sewell <puck@pookhill.demon.co.uk>. * string/argz.h: Don't protect by __USE_GNU. Tue Nov 5 23:38:28 1996 Ulrich Drepper <drepper@cygnus.com> * Lots of files: Update and reformat copyright. * Makefile (headers): Add xopen_lim.h. * catgets/nl_types.h: Move __BEGIN_DECLS before definition of nl_catd. * grp/grp.h: Define setgrent, getgrent, endgrent, and getgrent_r if __USE_XOPEN_EXTENDED is defined. * pwd/pwd.h: Define setpwent, getpwent, endpwent, and getpwent_r if __USE_XOPEN_EXTENDED is defined. * io/Makefile (routines): Add lchown. * io/sys/poll.h: Add definition of POLLWRNORM. * io/sys/stat.h: Declare lstat, fchmod, mknod when __USE_XOPEN_EXTENDED is defined. * libio/Makefile (routines): Add obprintf. * libio/obprintf.c: New file. * libio/iolibio.h: Add prototypes for _IO_obstack_vprintf and _IO_obstack_printf. * libio/libio.h: Fix typo. * libio/stdio.h: Declare tempnam if __USE_XOPEN_EXTENDED is defined. Add prototypes for obstack_vprintf and obstack_printf. * manual/creature.texi: Describe _XOPEN_SOURCE macro. * manual/intro.texi: Add reference to NSS chapter. * manual/libc.texinfo: Update UPDATED. Comment out `@printindex cp'. It works again. * manual/memory.texi: Add description for obstack_ptr_grow, obstack_int_grow, obstack_ptr_grow_fast, and obstack_int_grow_fast. * manual/nss.texi: Add a few @cindex entries and change NSS_STATUS_* index entries to @vindex. * manual/users.texi: Correct @cindex entry for Netgroup. * math/mathcalls.h: Use __USE_XOPEN and __USE_XOPEN_EXTENDED to make declarations visible for X/Open sources. * misc/search.h: Declare insque/remque only is __USE_SVID or __USE_XOPEN_EXTENDED is defined. * misc/sys/uio.h (readv, writev): Change return value from int to ssize_t. * posix/Makefile (headers): Add re_comp.h. * posix/re_comp.h: New file. XPG interface to regex functions. * posix/getconf.c: Add all names from XPG4.2. * posix/posix1_lim.h: Increase minimum values for _POSIX_CHILD_MAX and _POSIX_OPEN_MAX to minimums from XPG4.2. * sysdeps/generic/confname.h: Add all _SC_* names from XPG4.2. * sysdeps/posix/sysconf.c: Handle new _SC_* values. * sysdeps/stub/sysconf.c: Likewise. * posix/unistd.h: Add declaration of ualarm and lchown. Declare usleep, fchown, fchdir, nice, getpgid, setsid, getsid, setreuid, setregid, vfork, ttyslot, symlink, readlink, gethostid, truncate, ftruncate, getdtablesize, brk, sbrk, lockf when __USE_XOPEN_EXTENDED is defined. * posix/sys/wait.h: Declare wait3 if __USE_XOPEN_EXTENDED is defined. * shadow/shadow.h: Define SHADOW using _PATH_SHADOW. * sysdeps/generic/paths.h: Define _PATH_SHADOW. * sysdeps/unix/sysv/linux/paths.h: Likewise. * signal/signal.h: Declare killpg, sigstack and sigaltstack when __USE_XOPEN_EXTENDED is defined. * stdio/stdio.h: Declare tempnam when __USE_XOPEN is defined. * stdlib/stdlib.h: Make rand48 functions available when __USE_XOPEN is defined. Likewise for valloc, putenv, realpath, [efg]cvt*, and getsubopt functions. * string/string.h: Make memccpy, strdup, bcmp, bcopy, bzero, index, and rindex available when __USE_XOPEN_EXTENDED is defined. * sysdeps/mach/getpagesize.c: De-ANSI-fy. Change return type to int. * sysdeps/posix/getpagesize.c: Likewise. * sysdeps/stub/getpagesize.c: Likewise. * sysdeps/unix/getpagesize.c: Likewise. * time/africa: Update from tzdata1996l. * time/asia: Likewise. * time/australia: Likewise. * time/europe: Likewise. * time/northamerica: Likewise. * time/pacificnew: Likewise. * time/southamerica: Likewise. * time/tzfile.h: Update from tzcode1996m. * time/time.h: Declare strptime if __USE_XOPEN. Declare daylight and timezone also if __USE_XOPEN. * time/sys/time.h: Remove declaration of ualarm. * wctype/wctype.h: Just reference ISO C standard. Tue Nov 5 01:26:32 1996 Richard Henderson <rth@tamu.edu> * crypt/Makefile: Add crypt routines to libc as well iff $(crypt-in-libc) is set. Do this for temporary binary compatibility on existing Linux/Alpha installations. * stdlib/div.c, sysdeps/generic/div.c: Move file to .../generic/. * stdlib/ldiv.c, sysdeps/generic/ldiv.c: Likewise. * stdlib/lldiv.c, sysdeps/generic/lldiv.c: Likewise. * sysdeps/alpha/Makefile (divrem): Add divlu, dviqu, remlu, and remqu. * sysdeps/alpha/div.S: New file. * sysdeps/alpha/ldiv.S: New file. * sysdeps/alpha/lldiv.S: New file. * sysdeps/alpha/divrem.h: Merge signed and unsigned division. Take pointers from Linus and tighten the inner loops a bit. * sysdeps/alpha/divl.S: Change defines for merged routines. * sysdeps/alpha/divq.S: Likewise. * sysdeps/alpha/reml.S: Likewise. * sysdeps/alpha/remq.S: Likewise. * sysdeps/alpha/divlu.S: Remove file. * sysdeps/alpha/divqu.S: Likewise. * sysdeps/alpha/remlu.S: Likewise. * sysdeps/alpha/remqu.S: Likewise. * sysdeps/alpha/bsd-_setjmp.S: If PROF, call _mcount. * sysdeps/alpha/bsd-setjmp.S: Likewise. * sysdeps/alpha/bzero.S: Likewise. * sysdeps/alpha/ffs.S: Likewise. * sysdeps/alpha/htonl.S: Likewise. * sysdeps/alpha/htons.S: Likewise. * sysdeps/alpha/memchr.S: Likewise. * sysdeps/alpha/memset.S: Likewise. * sysdeps/alpha/s_copysign.S: Likewise. * sysdeps/alpha/s_fabs.S: Likewise. * sysdeps/alpha/setjmp.S: Likewise. * sysdeps/alpha/stpcpy.S: Likewise. * sysdeps/alpha/stpncpy.S: Likewise. * sysdeps/alpha/strcat.S: Likewise. * sysdeps/alpha/strchr.S: Likewise. * sysdeps/alpha/strcpy.S: Likewise. * sysdeps/alpha/strlen.S: Likewise. * sysdeps/alpha/strncat.S: Likewise. * sysdeps/alpha/strncpy.S: Likewise. * sysdeps/alpha/strrchr.S: Likewise. * sysdeps/alpha/udiv_qrnnd.S: Likewise. Fix private labels. Convert two small jumps to use conditional moves. * sysdeps/unix/alpha/sysdep.h: Compress all __STDC__ nastiness. (PSEUDO): If PROF, call _mcount. * sysdeps/unix/sysv/linux/alpha/brk.S: If PROF, call _mcount. * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/llseek.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise. * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise. * sysdeps/alpha/memcpy.S: New file. Odd layout because it should eventually contain memmove as well. * sysdeps/alpha/strcmp.S: New file. * sysdeps/alpha/strncmp.S: New file. * sysdeps/alpha/w_sqrt.S: New file. Tue Nov 5 18:06:06 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/mach/hurd/ttyname_r.c: Use `size_t' for len variable. Tue Nov 5 12:09:29 1996 Ulrich Drepper <drepper@cygnus.com> * sysdep/generic/sysdep.h: Define END only if not yet defined. * sysdep/unix/sysdep.h: Define PSEUDO_END only if not yet defined. Reported by Thomas Bushnell, n/BSG. Mon Nov 4 22:46:53 1996 Ulrich Drepper <drepper@cygnus.com> * manual/users.texi (Netgroup Data): Remove { } around @cindex. Mon Nov 4 19:07:05 1996 Ulrich Drepper <drepper@cygnus.com> * malloc/calloc.c: Check for overflow before trying to allocate memory. Proposed by Neil Matthews <nm@adv.sbc.sony.co.jp>. Fri Nov 1 18:18:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/llio.texi (Operating Modes): Add missing arguments to @deftypevr in O_NONBLOCK description. * manual/time.texi (Time Zone Functions): Enclose type name in braces in description of tzname. FIXME: this does not yet work correctly in info. Sun Nov 3 17:29:06 1996 Ulrich Drepper <drepper@cygnus.com> * features.h: Add X/Open macros. * posix/unistd.h: Define X/Open macros. * sysdeps/generic/confname.h: Add _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, and _SC_2_UPE. * sysdeps/posix/sysconf.c: Handle new constants. * sysdeps/stub/sysconf.c: Likewise. * sysdeps/unix/sysv/linux/posix_opt.h: Add definition of _XOPEN_SHM. * catgets/catgets.c (catopen): Set errno to ENOMEM when we run out of memory. (catgets): Set errno to EBADF when catalog handle is invalid. Set errno to ENOMSG when translation is not available. (catclose): Set errno to EBADF when catalog handle is invalid. * ctype/ctype.h: Declare isascii and toascii when __USE_XOPEN. Likewise for _toupper and _tolower. * manual/arith.texi: Document strtoq, strtoll, strtouq, strtoull, strtof, and strtold. * manual/math.texi: Document HUGE_VALf and HUGE_VALl. * manual/stdio.h: Document ' flag for numeric formats of scanf. * manual/users.texi: Document that cuserid shouldn't be used. * misc/Makefile (routines): Add dirname. (headers): Add libgen.h. (tests): Add tst-dirname. * misc/dirname.c: New file. * misc/libgen.h: New file. * misc/tst-dirname.c: New file. * misc/search.h: Parameter of hcreate must be of type size_t. * misc/hsearch.c: Likewise. * misc/hsearch_r.c: Likewise for hcreate_r. * misc/search.h: Parameters of insque and remque must be `void *'. * misc/insremque.c: Likewise. * posix/unistd.h: Move declarations of mktemp and mkstemp to... * stdlib/stdlib.h: ...here. * posix/unistd.h [__USE_XOPEN]: Add prototypes for crypt, setkey, encrypt, and swab. * stdio-common/printf-parse.h (struct printf_spec): Add pa_wchar and pa_wstring. (parse_one_spec): Remove Linux compatibility code. Recognize %C and %S formats. * stdio-common/printf.h: Add PA_WCHAR and PA_WSTRING. * stdio-common/vfprintf.c: Add implementation of %C and %S format. * stdio-common/vfscanf.c: Likewise for scanf. * stdlib/l64a.c: Return value for 0 must be the empty string. * stdlib/stdlib.h: Declare reentrant function from rand49 family only if __USE_REENTRANT. Declare rand48 functions also if __USE_XOPEN. * stdlib/strtol.c: Return 0 and set errno to EINVAL when BASE is not a legal value. Return 0 and set errno to EINVAL when strou* sees negativ number. * stdlib/tst-strtol.c: De-ANSI-fy. Change expected results for test of unsigned function and negative input. * string/stratcliff.c: Prevent warnings. * string.h: Move declaration of swab to <unistd.h>. * string/swab.c: De-ANSI-fy. * sysdeps/posix/cuserid.c: Implement using getpwuid_r. * sysdeps/posix/mkstemp.c: Include <stdlib.h> for prototype. * sysdeps/posix/mktemp.c: Likewise. * sysdeps/stub/mkstemp.c: Likewise. * sysdeps/stub/mktemp.c: Likewise. * sysvipc/sys/ipc.h: Prototypes of ftok have to be of types `const char *' and `int'. * sysvipc/ftok.c: Likewise. Make sure only lower 8 bits of PROJ_ID are used. Sun Nov 3 03:21:28 1996 Heiko Schroeder <Heiko.Schroeder@post.rwth-aachen.de> * locale/programs/ld-numeric.c (numeric_output): Compute idx[0] correctly. Sat Nov 2 17:44:32 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/posix/cuserid.c: Use reentrant functions. * manual/users.texi: Tell that cuserid is marked to be withdrawn in XPG4.2. Sat Nov 2 14:26:37 1996 Ulrich Drepper <drepper@cygnus.com> Linus said he will make sure no system call will return a value in -1 ... -4095 as a valid result. * sysdeps/unix/sysv/linux/i386/sysdep.h: Correct test for error. * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise. Sat Nov 2 16:54:49 1996 NIIBE Yutaka <gniibe@mri.co.jp> * sysdeps/stub/lockfile.c [!USE_IN_LIBIO]: Define weak alias for __funlockfile, not a circular alias. Define __IO_ftrylockfile if USE_IN_LIBIO and __ftrylockfile if not, not vice versa. * sysdeps/unix/sysv/linux/i386/sysdep.S (__errno_location): Make it a weak symbol. * sysdeps/unix/sysv/linux/m68k/sysdep.S (__errno_location): Likewise. Likewise. * crypt/Makefile (rpath-link): Extend search path to current directory.
1996-11-06 04:24:40 +00:00
This file is part of the GNU C Library.
1995-02-18 01:27:10 +00:00
update from main archive 961105 Wed Nov 6 04:30:26 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/syscalls.list: Add weak alias llseek for _llseek syscall. Reported by Andy Sewell <puck@pookhill.demon.co.uk>. * string/argz.h: Don't protect by __USE_GNU. Tue Nov 5 23:38:28 1996 Ulrich Drepper <drepper@cygnus.com> * Lots of files: Update and reformat copyright. * Makefile (headers): Add xopen_lim.h. * catgets/nl_types.h: Move __BEGIN_DECLS before definition of nl_catd. * grp/grp.h: Define setgrent, getgrent, endgrent, and getgrent_r if __USE_XOPEN_EXTENDED is defined. * pwd/pwd.h: Define setpwent, getpwent, endpwent, and getpwent_r if __USE_XOPEN_EXTENDED is defined. * io/Makefile (routines): Add lchown. * io/sys/poll.h: Add definition of POLLWRNORM. * io/sys/stat.h: Declare lstat, fchmod, mknod when __USE_XOPEN_EXTENDED is defined. * libio/Makefile (routines): Add obprintf. * libio/obprintf.c: New file. * libio/iolibio.h: Add prototypes for _IO_obstack_vprintf and _IO_obstack_printf. * libio/libio.h: Fix typo. * libio/stdio.h: Declare tempnam if __USE_XOPEN_EXTENDED is defined. Add prototypes for obstack_vprintf and obstack_printf. * manual/creature.texi: Describe _XOPEN_SOURCE macro. * manual/intro.texi: Add reference to NSS chapter. * manual/libc.texinfo: Update UPDATED. Comment out `@printindex cp'. It works again. * manual/memory.texi: Add description for obstack_ptr_grow, obstack_int_grow, obstack_ptr_grow_fast, and obstack_int_grow_fast. * manual/nss.texi: Add a few @cindex entries and change NSS_STATUS_* index entries to @vindex. * manual/users.texi: Correct @cindex entry for Netgroup. * math/mathcalls.h: Use __USE_XOPEN and __USE_XOPEN_EXTENDED to make declarations visible for X/Open sources. * misc/search.h: Declare insque/remque only is __USE_SVID or __USE_XOPEN_EXTENDED is defined. * misc/sys/uio.h (readv, writev): Change return value from int to ssize_t. * posix/Makefile (headers): Add re_comp.h. * posix/re_comp.h: New file. XPG interface to regex functions. * posix/getconf.c: Add all names from XPG4.2. * posix/posix1_lim.h: Increase minimum values for _POSIX_CHILD_MAX and _POSIX_OPEN_MAX to minimums from XPG4.2. * sysdeps/generic/confname.h: Add all _SC_* names from XPG4.2. * sysdeps/posix/sysconf.c: Handle new _SC_* values. * sysdeps/stub/sysconf.c: Likewise. * posix/unistd.h: Add declaration of ualarm and lchown. Declare usleep, fchown, fchdir, nice, getpgid, setsid, getsid, setreuid, setregid, vfork, ttyslot, symlink, readlink, gethostid, truncate, ftruncate, getdtablesize, brk, sbrk, lockf when __USE_XOPEN_EXTENDED is defined. * posix/sys/wait.h: Declare wait3 if __USE_XOPEN_EXTENDED is defined. * shadow/shadow.h: Define SHADOW using _PATH_SHADOW. * sysdeps/generic/paths.h: Define _PATH_SHADOW. * sysdeps/unix/sysv/linux/paths.h: Likewise. * signal/signal.h: Declare killpg, sigstack and sigaltstack when __USE_XOPEN_EXTENDED is defined. * stdio/stdio.h: Declare tempnam when __USE_XOPEN is defined. * stdlib/stdlib.h: Make rand48 functions available when __USE_XOPEN is defined. Likewise for valloc, putenv, realpath, [efg]cvt*, and getsubopt functions. * string/string.h: Make memccpy, strdup, bcmp, bcopy, bzero, index, and rindex available when __USE_XOPEN_EXTENDED is defined. * sysdeps/mach/getpagesize.c: De-ANSI-fy. Change return type to int. * sysdeps/posix/getpagesize.c: Likewise. * sysdeps/stub/getpagesize.c: Likewise. * sysdeps/unix/getpagesize.c: Likewise. * time/africa: Update from tzdata1996l. * time/asia: Likewise. * time/australia: Likewise. * time/europe: Likewise. * time/northamerica: Likewise. * time/pacificnew: Likewise. * time/southamerica: Likewise. * time/tzfile.h: Update from tzcode1996m. * time/time.h: Declare strptime if __USE_XOPEN. Declare daylight and timezone also if __USE_XOPEN. * time/sys/time.h: Remove declaration of ualarm. * wctype/wctype.h: Just reference ISO C standard. Tue Nov 5 01:26:32 1996 Richard Henderson <rth@tamu.edu> * crypt/Makefile: Add crypt routines to libc as well iff $(crypt-in-libc) is set. Do this for temporary binary compatibility on existing Linux/Alpha installations. * stdlib/div.c, sysdeps/generic/div.c: Move file to .../generic/. * stdlib/ldiv.c, sysdeps/generic/ldiv.c: Likewise. * stdlib/lldiv.c, sysdeps/generic/lldiv.c: Likewise. * sysdeps/alpha/Makefile (divrem): Add divlu, dviqu, remlu, and remqu. * sysdeps/alpha/div.S: New file. * sysdeps/alpha/ldiv.S: New file. * sysdeps/alpha/lldiv.S: New file. * sysdeps/alpha/divrem.h: Merge signed and unsigned division. Take pointers from Linus and tighten the inner loops a bit. * sysdeps/alpha/divl.S: Change defines for merged routines. * sysdeps/alpha/divq.S: Likewise. * sysdeps/alpha/reml.S: Likewise. * sysdeps/alpha/remq.S: Likewise. * sysdeps/alpha/divlu.S: Remove file. * sysdeps/alpha/divqu.S: Likewise. * sysdeps/alpha/remlu.S: Likewise. * sysdeps/alpha/remqu.S: Likewise. * sysdeps/alpha/bsd-_setjmp.S: If PROF, call _mcount. * sysdeps/alpha/bsd-setjmp.S: Likewise. * sysdeps/alpha/bzero.S: Likewise. * sysdeps/alpha/ffs.S: Likewise. * sysdeps/alpha/htonl.S: Likewise. * sysdeps/alpha/htons.S: Likewise. * sysdeps/alpha/memchr.S: Likewise. * sysdeps/alpha/memset.S: Likewise. * sysdeps/alpha/s_copysign.S: Likewise. * sysdeps/alpha/s_fabs.S: Likewise. * sysdeps/alpha/setjmp.S: Likewise. * sysdeps/alpha/stpcpy.S: Likewise. * sysdeps/alpha/stpncpy.S: Likewise. * sysdeps/alpha/strcat.S: Likewise. * sysdeps/alpha/strchr.S: Likewise. * sysdeps/alpha/strcpy.S: Likewise. * sysdeps/alpha/strlen.S: Likewise. * sysdeps/alpha/strncat.S: Likewise. * sysdeps/alpha/strncpy.S: Likewise. * sysdeps/alpha/strrchr.S: Likewise. * sysdeps/alpha/udiv_qrnnd.S: Likewise. Fix private labels. Convert two small jumps to use conditional moves. * sysdeps/unix/alpha/sysdep.h: Compress all __STDC__ nastiness. (PSEUDO): If PROF, call _mcount. * sysdeps/unix/sysv/linux/alpha/brk.S: If PROF, call _mcount. * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/llseek.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise. * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise. * sysdeps/alpha/memcpy.S: New file. Odd layout because it should eventually contain memmove as well. * sysdeps/alpha/strcmp.S: New file. * sysdeps/alpha/strncmp.S: New file. * sysdeps/alpha/w_sqrt.S: New file. Tue Nov 5 18:06:06 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/mach/hurd/ttyname_r.c: Use `size_t' for len variable. Tue Nov 5 12:09:29 1996 Ulrich Drepper <drepper@cygnus.com> * sysdep/generic/sysdep.h: Define END only if not yet defined. * sysdep/unix/sysdep.h: Define PSEUDO_END only if not yet defined. Reported by Thomas Bushnell, n/BSG. Mon Nov 4 22:46:53 1996 Ulrich Drepper <drepper@cygnus.com> * manual/users.texi (Netgroup Data): Remove { } around @cindex. Mon Nov 4 19:07:05 1996 Ulrich Drepper <drepper@cygnus.com> * malloc/calloc.c: Check for overflow before trying to allocate memory. Proposed by Neil Matthews <nm@adv.sbc.sony.co.jp>. Fri Nov 1 18:18:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/llio.texi (Operating Modes): Add missing arguments to @deftypevr in O_NONBLOCK description. * manual/time.texi (Time Zone Functions): Enclose type name in braces in description of tzname. FIXME: this does not yet work correctly in info. Sun Nov 3 17:29:06 1996 Ulrich Drepper <drepper@cygnus.com> * features.h: Add X/Open macros. * posix/unistd.h: Define X/Open macros. * sysdeps/generic/confname.h: Add _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, and _SC_2_UPE. * sysdeps/posix/sysconf.c: Handle new constants. * sysdeps/stub/sysconf.c: Likewise. * sysdeps/unix/sysv/linux/posix_opt.h: Add definition of _XOPEN_SHM. * catgets/catgets.c (catopen): Set errno to ENOMEM when we run out of memory. (catgets): Set errno to EBADF when catalog handle is invalid. Set errno to ENOMSG when translation is not available. (catclose): Set errno to EBADF when catalog handle is invalid. * ctype/ctype.h: Declare isascii and toascii when __USE_XOPEN. Likewise for _toupper and _tolower. * manual/arith.texi: Document strtoq, strtoll, strtouq, strtoull, strtof, and strtold. * manual/math.texi: Document HUGE_VALf and HUGE_VALl. * manual/stdio.h: Document ' flag for numeric formats of scanf. * manual/users.texi: Document that cuserid shouldn't be used. * misc/Makefile (routines): Add dirname. (headers): Add libgen.h. (tests): Add tst-dirname. * misc/dirname.c: New file. * misc/libgen.h: New file. * misc/tst-dirname.c: New file. * misc/search.h: Parameter of hcreate must be of type size_t. * misc/hsearch.c: Likewise. * misc/hsearch_r.c: Likewise for hcreate_r. * misc/search.h: Parameters of insque and remque must be `void *'. * misc/insremque.c: Likewise. * posix/unistd.h: Move declarations of mktemp and mkstemp to... * stdlib/stdlib.h: ...here. * posix/unistd.h [__USE_XOPEN]: Add prototypes for crypt, setkey, encrypt, and swab. * stdio-common/printf-parse.h (struct printf_spec): Add pa_wchar and pa_wstring. (parse_one_spec): Remove Linux compatibility code. Recognize %C and %S formats. * stdio-common/printf.h: Add PA_WCHAR and PA_WSTRING. * stdio-common/vfprintf.c: Add implementation of %C and %S format. * stdio-common/vfscanf.c: Likewise for scanf. * stdlib/l64a.c: Return value for 0 must be the empty string. * stdlib/stdlib.h: Declare reentrant function from rand49 family only if __USE_REENTRANT. Declare rand48 functions also if __USE_XOPEN. * stdlib/strtol.c: Return 0 and set errno to EINVAL when BASE is not a legal value. Return 0 and set errno to EINVAL when strou* sees negativ number. * stdlib/tst-strtol.c: De-ANSI-fy. Change expected results for test of unsigned function and negative input. * string/stratcliff.c: Prevent warnings. * string.h: Move declaration of swab to <unistd.h>. * string/swab.c: De-ANSI-fy. * sysdeps/posix/cuserid.c: Implement using getpwuid_r. * sysdeps/posix/mkstemp.c: Include <stdlib.h> for prototype. * sysdeps/posix/mktemp.c: Likewise. * sysdeps/stub/mkstemp.c: Likewise. * sysdeps/stub/mktemp.c: Likewise. * sysvipc/sys/ipc.h: Prototypes of ftok have to be of types `const char *' and `int'. * sysvipc/ftok.c: Likewise. Make sure only lower 8 bits of PROJ_ID are used. Sun Nov 3 03:21:28 1996 Heiko Schroeder <Heiko.Schroeder@post.rwth-aachen.de> * locale/programs/ld-numeric.c (numeric_output): Compute idx[0] correctly. Sat Nov 2 17:44:32 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/posix/cuserid.c: Use reentrant functions. * manual/users.texi: Tell that cuserid is marked to be withdrawn in XPG4.2. Sat Nov 2 14:26:37 1996 Ulrich Drepper <drepper@cygnus.com> Linus said he will make sure no system call will return a value in -1 ... -4095 as a valid result. * sysdeps/unix/sysv/linux/i386/sysdep.h: Correct test for error. * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise. Sat Nov 2 16:54:49 1996 NIIBE Yutaka <gniibe@mri.co.jp> * sysdeps/stub/lockfile.c [!USE_IN_LIBIO]: Define weak alias for __funlockfile, not a circular alias. Define __IO_ftrylockfile if USE_IN_LIBIO and __ftrylockfile if not, not vice versa. * sysdeps/unix/sysv/linux/i386/sysdep.S (__errno_location): Make it a weak symbol. * sysdeps/unix/sysv/linux/m68k/sysdep.S (__errno_location): Likewise. Likewise. * crypt/Makefile (rpath-link): Extend search path to current directory.
1996-11-06 04:24:40 +00:00
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
1995-02-18 01:27:10 +00:00
update from main archive 961105 Wed Nov 6 04:30:26 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/syscalls.list: Add weak alias llseek for _llseek syscall. Reported by Andy Sewell <puck@pookhill.demon.co.uk>. * string/argz.h: Don't protect by __USE_GNU. Tue Nov 5 23:38:28 1996 Ulrich Drepper <drepper@cygnus.com> * Lots of files: Update and reformat copyright. * Makefile (headers): Add xopen_lim.h. * catgets/nl_types.h: Move __BEGIN_DECLS before definition of nl_catd. * grp/grp.h: Define setgrent, getgrent, endgrent, and getgrent_r if __USE_XOPEN_EXTENDED is defined. * pwd/pwd.h: Define setpwent, getpwent, endpwent, and getpwent_r if __USE_XOPEN_EXTENDED is defined. * io/Makefile (routines): Add lchown. * io/sys/poll.h: Add definition of POLLWRNORM. * io/sys/stat.h: Declare lstat, fchmod, mknod when __USE_XOPEN_EXTENDED is defined. * libio/Makefile (routines): Add obprintf. * libio/obprintf.c: New file. * libio/iolibio.h: Add prototypes for _IO_obstack_vprintf and _IO_obstack_printf. * libio/libio.h: Fix typo. * libio/stdio.h: Declare tempnam if __USE_XOPEN_EXTENDED is defined. Add prototypes for obstack_vprintf and obstack_printf. * manual/creature.texi: Describe _XOPEN_SOURCE macro. * manual/intro.texi: Add reference to NSS chapter. * manual/libc.texinfo: Update UPDATED. Comment out `@printindex cp'. It works again. * manual/memory.texi: Add description for obstack_ptr_grow, obstack_int_grow, obstack_ptr_grow_fast, and obstack_int_grow_fast. * manual/nss.texi: Add a few @cindex entries and change NSS_STATUS_* index entries to @vindex. * manual/users.texi: Correct @cindex entry for Netgroup. * math/mathcalls.h: Use __USE_XOPEN and __USE_XOPEN_EXTENDED to make declarations visible for X/Open sources. * misc/search.h: Declare insque/remque only is __USE_SVID or __USE_XOPEN_EXTENDED is defined. * misc/sys/uio.h (readv, writev): Change return value from int to ssize_t. * posix/Makefile (headers): Add re_comp.h. * posix/re_comp.h: New file. XPG interface to regex functions. * posix/getconf.c: Add all names from XPG4.2. * posix/posix1_lim.h: Increase minimum values for _POSIX_CHILD_MAX and _POSIX_OPEN_MAX to minimums from XPG4.2. * sysdeps/generic/confname.h: Add all _SC_* names from XPG4.2. * sysdeps/posix/sysconf.c: Handle new _SC_* values. * sysdeps/stub/sysconf.c: Likewise. * posix/unistd.h: Add declaration of ualarm and lchown. Declare usleep, fchown, fchdir, nice, getpgid, setsid, getsid, setreuid, setregid, vfork, ttyslot, symlink, readlink, gethostid, truncate, ftruncate, getdtablesize, brk, sbrk, lockf when __USE_XOPEN_EXTENDED is defined. * posix/sys/wait.h: Declare wait3 if __USE_XOPEN_EXTENDED is defined. * shadow/shadow.h: Define SHADOW using _PATH_SHADOW. * sysdeps/generic/paths.h: Define _PATH_SHADOW. * sysdeps/unix/sysv/linux/paths.h: Likewise. * signal/signal.h: Declare killpg, sigstack and sigaltstack when __USE_XOPEN_EXTENDED is defined. * stdio/stdio.h: Declare tempnam when __USE_XOPEN is defined. * stdlib/stdlib.h: Make rand48 functions available when __USE_XOPEN is defined. Likewise for valloc, putenv, realpath, [efg]cvt*, and getsubopt functions. * string/string.h: Make memccpy, strdup, bcmp, bcopy, bzero, index, and rindex available when __USE_XOPEN_EXTENDED is defined. * sysdeps/mach/getpagesize.c: De-ANSI-fy. Change return type to int. * sysdeps/posix/getpagesize.c: Likewise. * sysdeps/stub/getpagesize.c: Likewise. * sysdeps/unix/getpagesize.c: Likewise. * time/africa: Update from tzdata1996l. * time/asia: Likewise. * time/australia: Likewise. * time/europe: Likewise. * time/northamerica: Likewise. * time/pacificnew: Likewise. * time/southamerica: Likewise. * time/tzfile.h: Update from tzcode1996m. * time/time.h: Declare strptime if __USE_XOPEN. Declare daylight and timezone also if __USE_XOPEN. * time/sys/time.h: Remove declaration of ualarm. * wctype/wctype.h: Just reference ISO C standard. Tue Nov 5 01:26:32 1996 Richard Henderson <rth@tamu.edu> * crypt/Makefile: Add crypt routines to libc as well iff $(crypt-in-libc) is set. Do this for temporary binary compatibility on existing Linux/Alpha installations. * stdlib/div.c, sysdeps/generic/div.c: Move file to .../generic/. * stdlib/ldiv.c, sysdeps/generic/ldiv.c: Likewise. * stdlib/lldiv.c, sysdeps/generic/lldiv.c: Likewise. * sysdeps/alpha/Makefile (divrem): Add divlu, dviqu, remlu, and remqu. * sysdeps/alpha/div.S: New file. * sysdeps/alpha/ldiv.S: New file. * sysdeps/alpha/lldiv.S: New file. * sysdeps/alpha/divrem.h: Merge signed and unsigned division. Take pointers from Linus and tighten the inner loops a bit. * sysdeps/alpha/divl.S: Change defines for merged routines. * sysdeps/alpha/divq.S: Likewise. * sysdeps/alpha/reml.S: Likewise. * sysdeps/alpha/remq.S: Likewise. * sysdeps/alpha/divlu.S: Remove file. * sysdeps/alpha/divqu.S: Likewise. * sysdeps/alpha/remlu.S: Likewise. * sysdeps/alpha/remqu.S: Likewise. * sysdeps/alpha/bsd-_setjmp.S: If PROF, call _mcount. * sysdeps/alpha/bsd-setjmp.S: Likewise. * sysdeps/alpha/bzero.S: Likewise. * sysdeps/alpha/ffs.S: Likewise. * sysdeps/alpha/htonl.S: Likewise. * sysdeps/alpha/htons.S: Likewise. * sysdeps/alpha/memchr.S: Likewise. * sysdeps/alpha/memset.S: Likewise. * sysdeps/alpha/s_copysign.S: Likewise. * sysdeps/alpha/s_fabs.S: Likewise. * sysdeps/alpha/setjmp.S: Likewise. * sysdeps/alpha/stpcpy.S: Likewise. * sysdeps/alpha/stpncpy.S: Likewise. * sysdeps/alpha/strcat.S: Likewise. * sysdeps/alpha/strchr.S: Likewise. * sysdeps/alpha/strcpy.S: Likewise. * sysdeps/alpha/strlen.S: Likewise. * sysdeps/alpha/strncat.S: Likewise. * sysdeps/alpha/strncpy.S: Likewise. * sysdeps/alpha/strrchr.S: Likewise. * sysdeps/alpha/udiv_qrnnd.S: Likewise. Fix private labels. Convert two small jumps to use conditional moves. * sysdeps/unix/alpha/sysdep.h: Compress all __STDC__ nastiness. (PSEUDO): If PROF, call _mcount. * sysdeps/unix/sysv/linux/alpha/brk.S: If PROF, call _mcount. * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/llseek.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise. * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise. * sysdeps/alpha/memcpy.S: New file. Odd layout because it should eventually contain memmove as well. * sysdeps/alpha/strcmp.S: New file. * sysdeps/alpha/strncmp.S: New file. * sysdeps/alpha/w_sqrt.S: New file. Tue Nov 5 18:06:06 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/mach/hurd/ttyname_r.c: Use `size_t' for len variable. Tue Nov 5 12:09:29 1996 Ulrich Drepper <drepper@cygnus.com> * sysdep/generic/sysdep.h: Define END only if not yet defined. * sysdep/unix/sysdep.h: Define PSEUDO_END only if not yet defined. Reported by Thomas Bushnell, n/BSG. Mon Nov 4 22:46:53 1996 Ulrich Drepper <drepper@cygnus.com> * manual/users.texi (Netgroup Data): Remove { } around @cindex. Mon Nov 4 19:07:05 1996 Ulrich Drepper <drepper@cygnus.com> * malloc/calloc.c: Check for overflow before trying to allocate memory. Proposed by Neil Matthews <nm@adv.sbc.sony.co.jp>. Fri Nov 1 18:18:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/llio.texi (Operating Modes): Add missing arguments to @deftypevr in O_NONBLOCK description. * manual/time.texi (Time Zone Functions): Enclose type name in braces in description of tzname. FIXME: this does not yet work correctly in info. Sun Nov 3 17:29:06 1996 Ulrich Drepper <drepper@cygnus.com> * features.h: Add X/Open macros. * posix/unistd.h: Define X/Open macros. * sysdeps/generic/confname.h: Add _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, and _SC_2_UPE. * sysdeps/posix/sysconf.c: Handle new constants. * sysdeps/stub/sysconf.c: Likewise. * sysdeps/unix/sysv/linux/posix_opt.h: Add definition of _XOPEN_SHM. * catgets/catgets.c (catopen): Set errno to ENOMEM when we run out of memory. (catgets): Set errno to EBADF when catalog handle is invalid. Set errno to ENOMSG when translation is not available. (catclose): Set errno to EBADF when catalog handle is invalid. * ctype/ctype.h: Declare isascii and toascii when __USE_XOPEN. Likewise for _toupper and _tolower. * manual/arith.texi: Document strtoq, strtoll, strtouq, strtoull, strtof, and strtold. * manual/math.texi: Document HUGE_VALf and HUGE_VALl. * manual/stdio.h: Document ' flag for numeric formats of scanf. * manual/users.texi: Document that cuserid shouldn't be used. * misc/Makefile (routines): Add dirname. (headers): Add libgen.h. (tests): Add tst-dirname. * misc/dirname.c: New file. * misc/libgen.h: New file. * misc/tst-dirname.c: New file. * misc/search.h: Parameter of hcreate must be of type size_t. * misc/hsearch.c: Likewise. * misc/hsearch_r.c: Likewise for hcreate_r. * misc/search.h: Parameters of insque and remque must be `void *'. * misc/insremque.c: Likewise. * posix/unistd.h: Move declarations of mktemp and mkstemp to... * stdlib/stdlib.h: ...here. * posix/unistd.h [__USE_XOPEN]: Add prototypes for crypt, setkey, encrypt, and swab. * stdio-common/printf-parse.h (struct printf_spec): Add pa_wchar and pa_wstring. (parse_one_spec): Remove Linux compatibility code. Recognize %C and %S formats. * stdio-common/printf.h: Add PA_WCHAR and PA_WSTRING. * stdio-common/vfprintf.c: Add implementation of %C and %S format. * stdio-common/vfscanf.c: Likewise for scanf. * stdlib/l64a.c: Return value for 0 must be the empty string. * stdlib/stdlib.h: Declare reentrant function from rand49 family only if __USE_REENTRANT. Declare rand48 functions also if __USE_XOPEN. * stdlib/strtol.c: Return 0 and set errno to EINVAL when BASE is not a legal value. Return 0 and set errno to EINVAL when strou* sees negativ number. * stdlib/tst-strtol.c: De-ANSI-fy. Change expected results for test of unsigned function and negative input. * string/stratcliff.c: Prevent warnings. * string.h: Move declaration of swab to <unistd.h>. * string/swab.c: De-ANSI-fy. * sysdeps/posix/cuserid.c: Implement using getpwuid_r. * sysdeps/posix/mkstemp.c: Include <stdlib.h> for prototype. * sysdeps/posix/mktemp.c: Likewise. * sysdeps/stub/mkstemp.c: Likewise. * sysdeps/stub/mktemp.c: Likewise. * sysvipc/sys/ipc.h: Prototypes of ftok have to be of types `const char *' and `int'. * sysvipc/ftok.c: Likewise. Make sure only lower 8 bits of PROJ_ID are used. Sun Nov 3 03:21:28 1996 Heiko Schroeder <Heiko.Schroeder@post.rwth-aachen.de> * locale/programs/ld-numeric.c (numeric_output): Compute idx[0] correctly. Sat Nov 2 17:44:32 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/posix/cuserid.c: Use reentrant functions. * manual/users.texi: Tell that cuserid is marked to be withdrawn in XPG4.2. Sat Nov 2 14:26:37 1996 Ulrich Drepper <drepper@cygnus.com> Linus said he will make sure no system call will return a value in -1 ... -4095 as a valid result. * sysdeps/unix/sysv/linux/i386/sysdep.h: Correct test for error. * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise. Sat Nov 2 16:54:49 1996 NIIBE Yutaka <gniibe@mri.co.jp> * sysdeps/stub/lockfile.c [!USE_IN_LIBIO]: Define weak alias for __funlockfile, not a circular alias. Define __IO_ftrylockfile if USE_IN_LIBIO and __ftrylockfile if not, not vice versa. * sysdeps/unix/sysv/linux/i386/sysdep.S (__errno_location): Make it a weak symbol. * sysdeps/unix/sysv/linux/m68k/sysdep.S (__errno_location): Likewise. Likewise. * crypt/Makefile (rpath-link): Extend search path to current directory.
1996-11-06 04:24:40 +00:00
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
1995-02-18 01:27:10 +00:00
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
Prefer https to http for gnu.org and fsf.org URLs Also, change sources.redhat.com to sourceware.org. This patch was automatically generated by running the following shell script, which uses GNU sed, and which avoids modifying files imported from upstream: sed -ri ' s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g ' \ $(find $(git ls-files) -prune -type f \ ! -name '*.po' \ ! -name 'ChangeLog*' \ ! -path COPYING ! -path COPYING.LIB \ ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \ ! -path manual/texinfo.tex ! -path scripts/config.guess \ ! -path scripts/config.sub ! -path scripts/install-sh \ ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \ ! -path INSTALL ! -path locale/programs/charmap-kw.h \ ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \ ! '(' -name configure \ -execdir test -f configure.ac -o -f configure.in ';' ')' \ ! '(' -name preconfigure \ -execdir test -f preconfigure.ac ';' ')' \ -print) and then by running 'make dist-prepare' to regenerate files built from the altered files, and then executing the following to cleanup: chmod a+x sysdeps/unix/sysv/linux/riscv/configure # Omit irrelevant whitespace and comment-only changes, # perhaps from a slightly-different Autoconf version. git checkout -f \ sysdeps/csky/configure \ sysdeps/hppa/configure \ sysdeps/riscv/configure \ sysdeps/unix/sysv/linux/csky/configure # Omit changes that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines git checkout -f \ sysdeps/powerpc/powerpc64/ppc-mcount.S \ sysdeps/unix/sysv/linux/s390/s390-64/syscall.S # Omit change that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-09-07 05:40:42 +00:00
<https://www.gnu.org/licenses/>. */
1995-02-18 01:27:10 +00:00
Use C99-compliant scanf under _GNU_SOURCE with modern compilers. The only difference between noncompliant and C99-compliant scanf is that the former accepts the archaic GNU extension '%as' (also %aS and %a[...]) meaning to allocate space for the input string with malloc. This extension conflicts with C99's use of %a as a format _type_ meaning to read a floating-point number; POSIX.1-2008 standardized equivalent functionality using the modifier letter 'm' instead (%ms, %mS, %m[...]). The extension was already disabled in most conformance modes: specifically, any mode that doesn't involve _GNU_SOURCE and _does_ involve either strict conformance to C99 or loose conformance to both C99 and POSIX.1-2001 would get the C99-compliant scanf. With compilers new enough to use -std=gnu11 instead of -std=gnu89, or equivalent, that includes the default mode. With this patch, we now provide C99-compliant scanf in all configurations except when _GNU_SOURCE is defined *and* __STDC_VERSION__ or __cplusplus (whichever is relevant) indicates C89/C++98. This leaves the old scanf available under e.g. -std=c89 -D_GNU_SOURCE, but removes it from e.g. -std=gnu11 -D_GNU_SOURCE (it was already not present under -std=gnu11 without -D_GNU_SOURCE) and from -std=gnu89 without -D_GNU_SOURCE. There needs to be an internal override so we can compile the noncompliant scanf itself. This is the same problem we had when we removed 'gets' from _GNU_SOURCE and it's dealt with the same way: there's a new __GLIBC_USE symbol, DEPRECATED_SCANF, which defaults to off under the appropriate conditions for external code, but can be overridden by individual files within stdio. We also run into problems with PLT bypass for internal uses of sscanf, because libc_hidden_proto uses __REDIRECT and so does the logic in stdio.h for choosing which implementation of scanf to use; __REDIRECT isn't transitive, so include/stdio.h needs to bridge the gap with a macro. As far as I can tell, sscanf is the only function in this family that's internally called by unrelated code. Finally, there are several tests in stdio-common that use the extension. bug21.c is a regression test for a crash; it still exercises the relevant code when changed to use %ms instead of %as. scanf14.c through scanf17.c are more complicated since they are actually testing the subtleties of the extension - under what circumstances is 'a' treated as a modifier letter, etc. I changed all of them to use %ms instead of %as as well, but duplicated scanf14.c and scanf16.c as scanf14a.c and scanf16a.c. These still use %as and are compiled with -std=gnu89 to access the old extension. A bunch of diagnostic overrides and manual workarounds for the old stdio.h behavior become unnecessary. Yay! * include/features.h (__GLIBC_USE_DEPRECATED_SCANF): New __GLIBC_USE parameter. Only use deprecated scanf when __USE_GNU is defined and __STDC_VERSION__ is less than 199901L or __cplusplus is less than 201103L, whichever is relevant for the language being compiled. * libio/stdio.h, libio/bits/stdio-ldbl.h: Decide whether to redirect scanf, fscanf, sscanf, vscanf, vfscanf, and vsscanf to their __isoc99_ variants based only on __GLIBC_USE (DEPRECATED_SCANF). * wcsmbs/wchar.h: wcsmbs/bits/wchar-ldbl.h: Likewise for wscanf, fwscanf, swscanf, vwscanf, vfwscanf, and vswscanf. * libio/iovsscanf.c * libio/fwscanf.c * libio/iovswscanf.c * libio/swscanf.c * libio/vscanf.c * libio/vwscanf.c * libio/wscanf.c * stdio-common/fscanf.c * stdio-common/scanf.c * stdio-common/vfscanf.c * stdio-common/vfwscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-compat.c * sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-scanf.c * sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c * sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c: Override __GLIBC_USE_DEPRECATED_SCANF to 1. * stdio-common/sscanf.c: Likewise. Remove ldbl_hidden_def for __sscanf. * stdio-common/isoc99_sscanf.c: Add libc_hidden_def for __isoc99_sscanf. * include/stdio.h: Provide libc_hidden_proto for __isoc99_sscanf, not sscanf. [!__GLIBC_USE (DEPRECATED_SCANF)]: Define sscanf as __isoc99_scanf with a preprocessor macro. * stdio-common/bug21.c, stdio-common/scanf14.c: Use %ms instead of %as, %mS instead of %aS, %m[] instead of %a[]; remove DIAG_IGNORE_NEEDS_COMMENT for -Wformat. * stdio-common/scanf16.c: Likewise. Add __attribute__ ((format (scanf))) to xscanf, xfscanf, xsscanf. * stdio-common/scanf14a.c: New copy of scanf14.c which still uses %as, %aS, %a[]. Remove DIAG_IGNORE_NEEDS_COMMENT for -Wformat. * stdio-common/scanf16a.c: New copy of scanf16.c which still uses %as, %aS, %a[]. Add __attribute__ ((format (scanf))) to xscanf, xfscanf, xsscanf. * stdio-common/scanf15.c, stdio-common/scanf17.c: No need to override feature selection macros or provide definitions of u_char etc. * stdio-common/Makefile (tests): Add scanf14a and scanf16a. (CFLAGS-scanf15.c, CFLAGS-scanf17.c): Remove. (CFLAGS-scanf14a.c, CFLAGS-scanf16a.c): New. Compile these files with -std=gnu89.
2018-02-10 16:58:35 +00:00
/* This file defines one of the deprecated scanf variants. */
#include <features.h>
#undef __GLIBC_USE_DEPRECATED_SCANF
#define __GLIBC_USE_DEPRECATED_SCANF 1
#include <libioP.h>
int
* math/math.h [__NO_LONG_DOUBLE_MATH] (__nldbl_nexttowardf): New 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.
2006-01-14 12:10:44 +00:00
___vfscanf (FILE *s, const char *format, va_list argptr)
{
Add __vfscanf_internal and __vfwscanf_internal with flags arguments. There are two flags currently defined: SCANF_LDBL_IS_DBL is the mode used by __nldbl_ scanf variants, and SCANF_ISOC99_A is the mode used by __isoc99_ scanf variants. In this patch, the new functions honor these flag bits if they're set, but they still also look at the corresponding bits of environmental state, and callers all pass zero. The new functions do *not* have the "errp" argument possessed by _IO_vfscanf and _IO_vfwscanf. All internal callers passed NULL for that argument. External callers could theoretically exist, so I preserved wrappers, but they are flagged as compat symbols and they don't preserve the three-way distinction among types of errors that was formerly exposed. These functions probably should have been in the list of deprecated _IO_ symbols in 2.27 NEWS -- they're not just aliases for vfscanf and vfwscanf. (It was necessary to introduce ldbl_compat_symbol for _IO_vfscanf. Please check that part of the patch very carefully, I am still not confident I understand all of the details of ldbl-opt.) This patch also introduces helper inlines in libio/strfile.h that encapsulate the process of initializing an _IO_strfile object for reading. This allows us to call __vfscanf_internal directly from sscanf, and __vfwscanf_internal directly from swscanf, without duplicating the initialization code. (Previously, they called their v-counterparts, but that won't work if we want to control *both* C99 mode and ldbl-is-dbl mode using the flags argument to__vfscanf_internal.) It's still a little awkward, especially for wide strfiles, but it's much better than what we had. Tested for powerpc and powerpc64le.
2018-03-07 19:31:58 +00:00
return __vfscanf_internal (s, format, argptr, 0);
}
* math/math.h [__NO_LONG_DOUBLE_MATH] (__nldbl_nexttowardf): New 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.
2006-01-14 12:10:44 +00:00
ldbl_strong_alias (___vfscanf, __vfscanf)
ldbl_hidden_def (___vfscanf, __vfscanf)
ldbl_weak_alias (___vfscanf, vfscanf)