Age | Commit message (Collapse) | Author |
|
|
|
|
|
The nan* functions handle their string argument by constructing a
NAN(...) string on the stack as a VLA and passing it to strtod
functions.
This approach has problems discussed in bug 16961 and bug 16962: the
stack usage is unbounded, and it gives incorrect results in certain
cases where the argument is not a valid n-char-sequence.
The natural fix for both issues is to refactor the NaN payload parsing
out of strtod into a separate function that the nan* functions can
call directly, so that no temporary string needs constructing on the
stack at all. This patch does that refactoring in preparation for
fixing those bugs (but without actually using the new functions from
nan* - which will also require exporting them from libc at version
GLIBC_PRIVATE). This patch is not intended to change any user-visible
behavior, so no tests are added (fixes for the above bugs will of
course add tests for them).
This patch builds on my recent fixes for strtol and strtod issues in
Turkish locales. Given those fixes, the parsing of NaN payloads is
locale-independent; thus, the new functions do not need to take a
locale_t argument.
Tested for x86_64, x86, mips64 and powerpc.
* stdlib/strtod_nan.c: New file.
* stdlib/strtod_nan_double.h: Likewise.
* stdlib/strtod_nan_float.h: Likewise.
* stdlib/strtod_nan_main.c: Likewise.
* stdlib/strtod_nan_narrow.h: Likewise.
* stdlib/strtod_nan_wide.h: Likewise.
* stdlib/strtof_nan.c: Likewise.
* stdlib/strtold_nan.c: Likewise.
* sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h: Likewise.
* sysdeps/ieee754/ldbl-128ibm/strtod_nan_ldouble.h: Likewise.
* sysdeps/ieee754/ldbl-96/strtod_nan_ldouble.h: Likewise.
* wcsmbs/wcstod_nan.c: Likewise.
* wcsmbs/wcstof_nan.c: Likewise.
* wcsmbs/wcstold_nan.c: Likewise.
* stdlib/Makefile (routines): Add strtof_nan, strtod_nan and
strtold_nan.
* wcsmbs/Makefile (routines): Add wcstod_nan, wcstold_nan and
wcstof_nan.
* include/stdlib.h (__strtof_nan): Declare and use
libc_hidden_proto.
(__strtod_nan): Likewise.
(__strtold_nan): Likewise.
(__wcstof_nan): Likewise.
(__wcstod_nan): Likewise.
(__wcstold_nan): Likewise.
* include/wchar.h (____wcstoull_l_internal): Declare.
* stdlib/strtod_l.c: Do not include <ieee754.h>.
(____strtoull_l_internal): Remove declaration.
(STRTOF_NAN): Define macro.
(SET_MANTISSA): Remove macro.
(STRTOULL): Likewise.
(____STRTOF_INTERNAL): Use STRTOF_NAN to parse NaN payload.
* stdlib/strtof_l.c (____strtoull_l_internal): Remove declaration.
(STRTOF_NAN): Define macro.
(SET_MANTISSA): Remove macro.
* sysdeps/ieee754/ldbl-128/strtold_l.c (STRTOF_NAN): Define macro.
(SET_MANTISSA): Remove macro.
* sysdeps/ieee754/ldbl-128ibm/strtold_l.c (STRTOF_NAN): Define
macro.
(SET_MANTISSA): Remove macro.
* sysdeps/ieee754/ldbl-64-128/strtold_l.c (STRTOF_NAN): Define
macro.
(SET_MANTISSA): Remove macro.
* sysdeps/ieee754/ldbl-96/strtold_l.c (STRTOF_NAN): Define macro.
(SET_MANTISSA): Remove macro.
* wcsmbs/wcstod_l.c (____wcstoull_l_internal): Remove declaration.
* wcsmbs/wcstof_l.c (____wcstoull_l_internal): Likewise.
* wcsmbs/wcstold_l.c (____wcstoull_l_internal): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
2004-03-14 Ulrich Drepper <drepper@redhat.com>
Make the non-_l functions wrappers around the _l functions.
* include/monetary.h: Declare __vstrmon_l.
* include/string.h: Add libc_hidden_proto for __strcoll_l and
__strxfrm_l.
* include/time.h: Define ptime_locale_status. Declare
__strptime_internal.
* include/wchar.h: Add libc_hidden_proto for __wcscoll_l and
__wcsxfrm_l.
* stdlib/strfmon.c: Move the code to strfmon_l.c. Add little
wrapper around __vstrfmon_l.
* stdlib/strfmon_l.c: Add real implementation. Split into new
function __vstrfmon_l to allow calling it from strfmon.
* stdlib/strtod.c: Move real code to strtod_l.c and add wrapper.
* stdlib/strtod_l.c: Add real implementation.
* stdlib/strtof.c: Adjust to changed strtod.c.
* stdlib/strtof_l.c: Include strtod_l.c now.
* stdlib/strtold.c: New file.
* stdlib/strtold_l.c: Removed.
* string/strcoll.c: Move real code to strcoll_l.c: Add wrapper.
* string/strcoll_l.c: Add real implementation.
* string/strxfrm.c: Move real code to strxfrm_l.c: Add wrapper.
* string/strxfrm_l.c: Add real implementation.
* sysdeps/generic/strtol.c: Move real implementation to strtol_l.c.
Add wrappers.
* sysdeps/generic/strtol_l.c: Add real implementation.
* sysdeps/generic/strtold.c: Removed.
* sysdeps/generic/strtold_l.c: New file.
* sysdeps/generic/strtoll_l.c: Include strtol_l.c now. Adjust
#defines.
* sysdeps/generic/strtoul_l.c: Likewise.
* sysdeps/generic/strtoull_l.c: Likewise.
* sysdeps/generic/wcstol_l.c: Likewise.
* sysdeps/generic/wcstoll_l.c: Likewise.
* sysdeps/generic/wcstoul_l.c: Likewise.
* sysdeps/generic/wcstoull_l.c: Likewise.
* sysdeps/ieee754/ldbl-128/strtold.c: Removed.
* sysdeps/ieee754/ldbl-128/strtold_l.c: New file.
* sysdeps/ieee754/ldbl-96/strtold.c: Removed.
* sysdeps/ieee754/ldbl-96/strtold_l.c: New file.
* sysdeps/m68k/strtold.c: Removed.
* sysdeps/m68k/strtold_l.c: New file.
* time/strftime.c: Move real code to strftime_l.c. Add wrapper.
* time/strftime_l.c: Add real implementation.
* time/strptime.c: Move real code to strptime_l.c. Add wrapper.
* time/strptime_l.c: Add real implementation.
* time/wcsftime.c: Simplify since only wrappers are defined in
strftime.c.
* time/wcsftime_l.c: Include strftime_l.c.
* wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c
anymore.
* wcsmbs/wcscoll_l.c: Include strcoll_l.c.
* wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c
anymore.
* wcsmbs/wcsxfrm_l.c: Include strxfrm_l.c.
* wcsmbs/wcstod.c: Prepare to include new strtod.c.
* wcsmbs/wcstod_l.c: Include strtod_l.c.
* wcsmbs/wcstof.c: Prepare to include new strtof.c.
* wcsmbs/wcstof_l.c: Include strtof_l.c.
* wcsmbs/wcstold.c: Prepare to include new strtold.c.
* wcsmbs/wcstold_l.c: Include strtold_l.c.
* locale/uselocale.c: Use _NL_CURRENT_LOCALE instead of __libc_tsd_get.
* sysdeps/generic/strcasecmp.c: Optimize a bit. It's better to get
a reference to the current locale and then use the _l functions.
* sysdeps/generic/strncase.c: Likewise.
|
|
with no __ prefix.
* locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
* ctype/ctype.h [__USE_GNU]: Add declarations and macros for
all *_l functions with no __ prefix.
* wctype/wcfuncs_l.c: Define weak aliases without __ for all fns.
* ctype/ctype_l.c: Likewise.
* locale/nl_langinfo.c: Likewise.
* string/string.h [__USE_GNU]: Add decls for all *_l fns with no __.
* stdlib/stdlib.h [__USE_GNU]: Likewise.
* wcsmbs/wchar.h [__USE_GNU]: Likewise.
* wctype/wctype.h [__USE_GNU]: Likewise.
* string/strcoll_l.c (strcoll_l): Define as weak alias.
* string/strxfrm_l.c (strxfrm_l): Define as weak alias.
* sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias.
* sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias.
* stdlib/strtod_l.c (strtod_l): Define as weak alias.
* stdlib/strtof_l.c (strtof_l): Define as weak alias.
* stdlib/strtold_l.c (strtold_l): Define as weak alias.
* wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias.
(__wcscasecmp_l): Add libc_hidden_def.
* wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias.
(__wcsncasecmp_l): Add libc_hidden_def.
* wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias.
* wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias.
* wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias.
* wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias.
* wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias.
* sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias.
* sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias.
* sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias.
* sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias.
* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias.
* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias.
* wctype/wctrans_l.c (wctrans_l) Define as weak alias.
* wctype/towctrans_l.c (towctrans_l) Define as weak alias.
* wctype/wctype_l.c (wctype_l) Define as weak alias.
|
|
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
|
|
* stdlib/strtof_l.c: Declare ____strtoull_l_internal.
* stdlib/strtod_l.c: Likewise.
* stdlib/strtold_l.c: Likewise.
* intl/gettextP.h [_LIBC] (SWAP): Use byteswap.h macros.
|
|
1997-05-26 22:51 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC_LOCAL instead of AC_PROC_CC.
* aclocal.m4: Add AC_PROG_CC_LOCAL which does not fail for
environments in which linking is not possible at configure time
(since te libc is just build).
Based on patches by Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>.
* time/scheck.c (scheck): Make 2nd parameter const.
* time/private.h: Likewise.
1997-05-26 18:58 Ulrich Drepper <drepper@cygnus.com>
* stdlib/random_r.c (__initstate_r): Initialize randomizer type in
state array only at right place.
Reported by Sven Verdoolaege <skimo@breughel.ufsia.ac.be>.
* stdlib/erand48_r.c (__erand48_r): Don't generate numbers in
[0.5,1.0) but really in [0.0, 1.0).
Patch by Oliver Gathmann <gathmann@scar.utoronto.ca>.
1997-05-22 12:50 Eric Delaunay <delaunay@lix.polytechnique.fr>
* shlib-versions: Provide Linux/SPARC defaults.
1997-05-26 15:00 Matthias Urlichs <urlichs@noris.de>
* stdlib/strtod_l.c: Add missing #include <xlocale.h>.
* stdlib/strtof_l.c: Likewise.
* stdlib/strtol_l.c: Likewise.
* stdlib/strtold_l.c: Likewise.
* stdlib/strtoll_l.c: Likewise.
* stdlib/strtoul_l.c: Likewise.
* stdlib/strtoull_l.c: Likewise.
1997-05-26 02:42 Zack Weinberg <zack@rabi.phys.columbia.edu>
* hurd/dtable.c: De-ansidecl-fy.
* math/test-math.c: Likewise.
* signal/tst-signal.c: Likewise.
* stdio/getc.c: Likewise.
* stdio/obstream.c: Likewise.
* stdio/putc.c: Likewise.
* stdio-common/bug1.c: Likewise.
* stdio-common/bug2.c: Likewise.
* stdio-common/bug6.c: Likewise.
* stdio-common/fscanf.c: Likewise.
* stdlib/testsort.c: Likewise.
* string/tester.c: Likewise.
* sysdeps/am29k/ffs.c: Likewise.
* sysdeps/generic/bb_init_func.c: Likewise.
* sysdeps/generic/bcopy.c: Likewise.
* sysdeps/generic/bzero.c: Likewise.
* sysdeps/generic/div.c: Likewise.
* sysdeps/generic/ffs.c: Likewise.
* sysdeps/generic/memccpy.c: Likewise.
* sysdeps/generic/memcpy.c: Likewise.
* sysdeps/generic/memmove.c: Likewise.
* sysdeps/generic/memset.c: Likewise.
* sysdeps/generic/vfork.c: Likewise.
* sysdeps/generic/vtimes.c: Likewise.
* sysdeps/i386/bzero.c: Likewise.
* sysdeps/i386/ffs.c: Likewise.
* sysdeps/i960/ffs.c: Likewise.
* sysdeps/m68k/ffs.c: Likewise.
* sysdeps/m88k/ffs.c: Likewise.
* sysdeps/mach/hurd/_exit.c: Likewise.
* sysdeps/mach/hurd/accept.c: Likewise.
* sysdeps/mach/hurd/access.c: Likewise.
* sysdeps/mach/hurd/adjtime.c: Likewise.
* sysdeps/mach/hurd/bind.c: Likewise.
* sysdeps/mach/hurd/brk.c: Likewise.
* sysdeps/mach/hurd/chdir.c: Likewise.
* sysdeps/mach/hurd/chflags.c: Likewise.
* sysdeps/mach/hurd/chmod.c: Likewise.
* sysdeps/mach/hurd/chown.c: Likewise.
* sysdeps/mach/hurd/chroot.c: Likewise.
* sysdeps/mach/hurd/close.c: Likewise.
* sysdeps/mach/hurd/connect.c: Likewise.
* sysdeps/mach/hurd/defs.c: Likewise.
* sysdeps/mach/hurd/dup2.c: Likewise.
* sysdeps/mach/hurd/execve.c: Likewise.
* sysdeps/mach/hurd/fchdir.c: Likewise.
* sysdeps/mach/hurd/fchflags.c: Likewise.
* sysdeps/mach/hurd/fchmod.c: Likewise.
* sysdeps/mach/hurd/fchown.c: Likewise.
* sysdeps/mach/hurd/fcntl.c: Likewise.
* sysdeps/mach/hurd/fdopen.c: Likewise.
* sysdeps/mach/hurd/flock.c: Likewise.
* sysdeps/mach/hurd/fsync.c: Likewise.
* sysdeps/mach/hurd/ftruncate.c: Likewise.
* sysdeps/mach/hurd/getdtsz.c: Likewise.
* sysdeps/mach/hurd/getegid.c: Likewise.
* sysdeps/mach/hurd/geteuid.c: Likewise.
* sysdeps/mach/hurd/getgid.c: Likewise.
* sysdeps/mach/hurd/getgroups.c: Likewise.
* sysdeps/mach/hurd/gethostid.c: Likewise.
* sysdeps/mach/hurd/gethostname.c: Likewise.
* sysdeps/mach/hurd/getitimer.c: Likewise.
* sysdeps/mach/hurd/getlogin.c: Likewise.
* sysdeps/mach/hurd/getpeername.c: Likewise.
* sysdeps/mach/hurd/getpgid.c: Likewise.
* sysdeps/mach/hurd/getpid.c: Likewise.
* sysdeps/mach/hurd/getppid.c: Likewise.
* sysdeps/mach/hurd/getsockname.c: Likewise.
* sysdeps/mach/hurd/getsockopt.c: Likewise.
* sysdeps/mach/hurd/getuid.c: Likewise.
* sysdeps/mach/hurd/ioctl.c: Likewise.
* sysdeps/mach/hurd/isatty.c: Likewise.
* sysdeps/mach/hurd/link.c: Likewise.
* sysdeps/mach/hurd/listen.c: Likewise.
* sysdeps/mach/hurd/lseek.c: Likewise.
* sysdeps/mach/hurd/mkdir.c: Likewise.
* sysdeps/mach/hurd/open.c: Likewise.
* sysdeps/mach/hurd/pipe.c: Likewise.
* sysdeps/mach/hurd/read.c: Likewise.
* sysdeps/mach/hurd/readlink.c: Likewise.
* sysdeps/mach/hurd/reboot.c: Likewise.
* sysdeps/mach/hurd/recv.c: Likewise.
* sysdeps/mach/hurd/recvfrom.c: Likewise.
* sysdeps/mach/hurd/rename.c: Likewise.
* sysdeps/mach/hurd/rewinddir.c: Likewise.
* sysdeps/mach/hurd/rmdir.c: Likewise.
* sysdeps/mach/hurd/sbrk.c: Likewise.
* sysdeps/mach/hurd/seekdir.c: Likewise.
* sysdeps/mach/hurd/select.c: Likewise.
* sysdeps/mach/hurd/setegid.c: Likewise.
* sysdeps/mach/hurd/seteuid.c: Likewise.
* sysdeps/mach/hurd/setgid.c: Likewise.
* sysdeps/mach/hurd/setgroups.c: Likewise.
* sysdeps/mach/hurd/sethostid.c: Likewise.
* sysdeps/mach/hurd/sethostname.c: Likewise.
* sysdeps/mach/hurd/setlogin.c: Likewise.
* sysdeps/mach/hurd/setpgid.c: Likewise.
* sysdeps/mach/hurd/setregid.c: Likewise.
* sysdeps/mach/hurd/setreuid.c: Likewise.
* sysdeps/mach/hurd/setrlimit.c: Likewise.
* sysdeps/mach/hurd/setsid.c: Likewise.
* sysdeps/mach/hurd/setsockopt.c: Likewise.
* sysdeps/mach/hurd/settimeofday.c: Likewise.
* sysdeps/mach/hurd/setuid.c: Likewise.
* sysdeps/mach/hurd/shutdown.c: Likewise.
* sysdeps/mach/hurd/sigaction.c: Likewise.
* sysdeps/mach/hurd/sigaltstack.c: Likewise.
* sysdeps/mach/hurd/sigpending.c: Likewise.
* sysdeps/mach/hurd/sigprocmask.c: Likewise.
* sysdeps/mach/hurd/sigstack.c: Likewise.
* sysdeps/mach/hurd/sigsuspend.c: Likewise.
* sysdeps/mach/hurd/socket.c: Likewise.
* sysdeps/mach/hurd/socketpair.c: Likewise.
* sysdeps/mach/hurd/stdio_init.c: Likewise.
* sysdeps/mach/hurd/symlink.c: Likewise.
* sysdeps/mach/hurd/sync.c: Likewise.
* sysdeps/mach/hurd/sysd-stdio.c: Likewise.
* sysdeps/mach/hurd/telldir.c: Likewise.
* sysdeps/mach/hurd/truncate.c: Likewise.
* sysdeps/mach/hurd/umask.c: Likewise.
* sysdeps/mach/hurd/unlink.c: Likewise.
* sysdeps/mach/hurd/wait4.c: Likewise.
* sysdeps/mach/hurd/utimes.c: Likewise.
* sysdeps/mach/hurd/write.c: Likewise.
* sysdeps/mach/adjtime.c: Likewise.
* sysdeps/mach/gettimeofday.c: Likewise.
* sysdeps/mach/usleep.c: Likewise.
* sysdeps/mips/__longjmp.c: Likewise.
* sysdeps/posix/clock.c: Likewise.
* sysdeps/posix/ctermid.c: Likewise.
* sysdeps/posix/defs.c: Likewise.
* sysdeps/posix/dup.c: Likewise.
* sysdeps/posix/libc_fatal.c: Likewise.
* sysdeps/posix/stdio_init.c: Likewise.
* sysdeps/rs6000/ffs.c: Likewise.
* sysdeps/sparc/e_sqrt.c: Likewise.
* sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
* sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
* sysdeps/standalone/i386/force_cpu386/console.c: Likewise.
* sysdeps/standalone/i960/nindy960/_exit.c: Likewise.
* sysdeps/standalone/i960/nindy960/brdinit.c: Likewise.
* sysdeps/standalone/i960/nindy960/console.c: Likewise.
* sysdeps/standalone/m68k/m68020/mvme136/_exit.c: Likewise.
* sysdeps/standalone/m68k/m68020/mvme136/brdinit.c: Likewise.
* sysdeps/standalone/brk.c: Likewise.
* sysdeps/stub/_exit.c: Likewise.
* sysdeps/stub/brdinit.c: Likewise.
* sysdeps/stub/console.c: Likewise.
* sysdeps/stub/defs.c: Likewise.
* sysdeps/stub/errlist.c: Likewise.
* sysdeps/stub/libc_fatal.c: Likewise.
* sysdeps/stub/siglist.c: Likewise.
* sysdeps/stub/stdio_init.c: Likewise.
* sysdeps/stub/strtsupp.c: Likewise.
* sysdeps/unix/bsd/bsd4.4/tcgetattr.c: Likewise.
* sysdeps/unix/bsd/bsd4.4/tcsetattr.c: Likewise.
* sysdeps/unix/bsd/bsd4.4/wait3.c: Likewise.
* sysdeps/unix/bsd/sun/sunos4/tcflow.c: Likewise.
* sysdeps/unix/bsd/sun/sunos4/tcflush.c: Likewise.
* sysdeps/unix/bsd/sun/sunos4/tcgetattr.c: Likewise.
* sysdeps/unix/bsd/sun/sunos4/tcsendbrk.c: Likewise.
* sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
* sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
* sysdeps/unix/bsd/bsdstat.h: Likewise.
* sysdeps/unix/bsd/clock.c: Likewise.
* sysdeps/unix/bsd/gtty.c: Likewise.
* sysdeps/unix/bsd/init-posix.c: Likewise.
* sysdeps/unix/bsd/setgid.c: Likewise.
* sysdeps/unix/bsd/setrgid.c: Likewise.
* sysdeps/unix/bsd/setruid.c: Likewise.
* sysdeps/unix/bsd/setuid.c: Likewise.
* sysdeps/unix/bsd/stty.c: Likewise.
* sysdeps/unix/bsd/telldir.c: Likewise.
* sysdeps/unix/bsd/ualarm.c: Likewise.
* sysdeps/unix/common/glue-ctype.c: Likewise.
* sysdeps/unix/sparc/start.c: Likewise.
* sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
* sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
* sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
* sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
* sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
* sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
* sysdeps/unix/sysv/irix4/start.c: Likewise.
* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
* sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
* sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/ftruncate.c: Likewise.
* sysdeps/unix/sysv/sysv4/gethostname.c: Likewise.
* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
* sysdeps/unix/sysv/gethostname.c: Likewise.
* sysdeps/unix/sysv/tcgetpgrp.c: Likewise.
* sysdeps/unix/sysv/tcsetpgrp.c: Likewise.
* sysdeps/unix/alarm.c: Likewise.
* sysdeps/unix/make_errlist.c: Likewise.
* sysdeps/unix/rewinddir.c: Likewise.
* sysdeps/unix/seekdir.c: Likewise.
* sysdeps/unix/time.c: Likewise.
* sysdeps/unix/utime.c: Likewise.
* sysdeps/vax/__longjmp.c: Likewise.
* sysdeps/vax/memccpy.c: Likewise.
* time/strftime.c: Likewise.
1997-05-25 21:57 Miles Bader <miles@gnu.ai.mit.edu>
* argp-parse.c (parser_init): For the special case where no
parsing function is supplied for an argp, propagate its input to
its first child, if any.
* argp.h (struct argp_state): `argp' field renamed to `root_argp'.
* argp-help.c (__argp_state_help, argp_args_usage, hol_help):
Replace references to STATE->argp with STATE->root_argp.
* argp-parse.c (parser_init): Likewise.
1997-05-26 14:17 Ulrich Drepper <drepper@cygnus.com>
* manual/main.texi: Clarify situation for other not supported ports.
Proposed by Andreas Jaeger <aj@arthur.rhein-neckar.de>.
We recommend binutils 2.8.
1997-05-26 12:17 Ulrich Drepper <drepper@cygnus.com>
* netinet/in.h: New file. Wrapper around inet/netinet/in.h.
1997-05-25 09:51 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/i386/elf/start.S: Change local label "nofini"
to ".Lnofini".
* sysdeps/i386/i386-mcount.S: Use GOT, instead of GOTOFF.
1997-05-24 17:45 H.J. Lu <hjl@gnu.ai.mit.edu>
* gmon/gmon.c (_mcleanup): Free tostruct array allocated in monstartup.
(dl_main): Define _dl_verbose based on DL_WARN environment variable.
|
|
1997-05-24 03:51 Ulrich Drepper <drepper@cygnus.com>
* stdlib/Makefile (routines): Add strtol_l, strtoul_l, strtoll_l,
strtoull_l, strtof_l, strtod_l, and strtold_l.
* stdlib/stdlib.h: Add prototypes for new functions.
* stdlib/strtod.c: Change for compiling as strtoX_l.
* stdlib/strtol.c: Likewise.
* stdlib/strtof.c: Likewise.
* stdlib/strtold.c: Likewise.
* stdlib/strtod_l.c: New file.
* stdlib/strtof_l.c: New file.
* stdlib/strtold_l.c: New file.
* stdlib/strtol_l.c: New file.
* stdlib/strtoul_l.c: New file.
* stdlib/strtoll_l.c: New file.
* stdlib/strtoull_l.c: New file.
* string/Makefile (routines): Add strcasecmp_l and strncase_l.
* string/string.h: Add prototypes for new functions.
* sysdeps/generic/strcasecmp.c: Change for compiling as strcasecmp_l.
* sysdeps/generic/strncase.c: Change for compiling as strncasecmp_l.
* sysdeps/generic/strcasecmp_l.c: New file.
* sysdeps/generic/strncase_l.c: New file.
* wcsmbs/Makefile (routines): Add wcstol_l, wcstoul_l, wcstoll_l,
wcstoull_l, wcstod_l, wcstold_l, wcstof_l, wcscasecmp_l, and
wcsncase_l.
* wcsmbs/wchar.h: Add prototypes for new functions.
* wcsmbs/wcscasecmp.c: Change for compiling as wcscasecmp_l.
* wcsmbs/wcsncase.c: Change for compiling as wcsncasecmp_l.
* wcsmbs/wcscasecmp_l.c: New file.
* wcsmbs/wcsncase_l.c: New file.
* wcsmbs/wcstof.c: Change for compiling as wcstof_l.c
* wcsmbs/wcstold.c: Change for compiling as wcstold_l.c
* wcsmcs/wcstod_l.c: New file.
* wcsmcs/wcstof_l.c: New file.
* wcsmcs/wcstold_l.c: New file.
* wcsmcs/wcstol_l.c: New file.
* wcsmcs/wcstoul_l.c: New file.
* wcsmcs/wcstoll_l.c: New file.
* wcsmcs/wcstoull_l.c: New file.
* Makeconfig (binfmt-subdir): New variable. Set to `elf' if
$(elf) is defined. More to come later when other binary formats
are supported.
* Makefile (subdirs): Remove elf. Add $(binfmt-subdir).
Suggested by Philip Blundell.
* stdlib/Makefile (headers): Add fmtmsg.h.
(routines): Add fmtmsg.
* stdlib/fmtmsg.c: New file.
* stdlib/fmtmsg.h: New file.
* manual/stdio.texi: Add description of fmtmsg and addseverity.
* manual/examples/fmtmsgexpl.c: Example program for fmtmsg
documentation.
1997-05-23 15:26 Philip Blundell <pjb27@cam.ac.uk>
* resolv/res_query.c (res_querydomain): Avoid potential buffer
overrun. Reported by Dan A. Dickey <ddickey@transition.com>.
1997-05-22 18:36 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* elf/dl-support.c (_dl_sysdep_open_zero_fill,
_dl_sysdep_read_whole_file): Moved functions to ...
* elf/dl-misc.c: This new file.
* sysdeps/generic/dl-sysdepio.c: Delete file and move functions...
* elf/dl-misc.c: ... here.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill,
_dl_sysdep_read_whole_file): Delete functions; they now come from
elf/dl-misc.c (dl-support.c had contained identical versions).
* sysdeps/mach/hurd/dl-sysdepio.c: Delete file; move functions...
* sysdeps/mach/hurd/dl-sysdep.c: ... here, but mark them weak so
that the regular ones in dl-misc work once we've initialized.
* elf/Makefile (dl-routines): Remove dl-sysdepio.c. Add dl-misc.c.
1997-05-22 21:55 Philip Blundell <pjb27@cam.ac.uk>
* inet/Makefile (headers): Add netinet/inbits.h.
* inet/netinet/in.h: New file.
* sysdeps/generic/netinet/inbits.h: Likewise.
* sysdeps/unix/sysv/linux/netinet/inbits.h: Likewise.
* sysdeps/generic/netinet/ip6.h: Move to...
* inet/netinet/ip6.h: ... here.
* sysdeps/generic/netinet/icmp6.h: Move to...
* inet/netinet/icmp6.h: ... here.
* sysdeps/unix/sysv/linux/netinet/in.h: Remove.
* sysdeps/generic/netinet/in.h: Remove.
1997-05-22 05:40 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): If we are
not looking at the new thread-safe .plt, don't be lazy about relocs.
(_dl_runtime_resolve): Fix up arithmetic for new .plt layout.
(elf_alpha_fix_plt): Insert wmb as appropriate to ensure safety.
* elf/dynamic-link.h (ELF_DYNAMIC_RELOCATE): Let
elf_machine_runtime_setup() decide if we can actually be lazy.
* elf/rtld.c (_dl_start): So don't call it.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Return lazy.
* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/sparc/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/stub/dl-machine.h (elf_machine_runtime_setup): Update
skeleton definition.
1997-05-22 18:45 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu/__math.h (logb): Remove second value placed on
stack by fxtract.
1997-05-22 13:07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sunrpc/rpcsvc/rusers.x: Provide and correct prototypes,
add cast to (xdrproc_t) where necessary to prevent warnings.
1997-05-22 12:18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Remove I/O functions.
* sunrpc/rpcinfo.c (get_inet_address): Use INADDR_NONE and INADDR_ANY
* sysdeps/libm-ieee754/s_cexp.c: Fix typo: string_alias ->
* nss/XXX-lookup.c: Add missing explanation.
|