Subject: PR/35401 CVS commit: [netbsd-4] src
To: None <,,>
From: Pavel Cahyna <>
List: netbsd-bugs
Date: 05/07/2007 19:50:02
The following reply was made to PR lib/35401; it has been noted by GNATS.

From: Pavel Cahyna <>
Subject: PR/35401 CVS commit: [netbsd-4] src
Date: Mon,  7 May 2007 19:49:11 +0000 (UTC)

 Module Name:	src
 Committed By:	pavel
 Date:		Mon May  7 19:49:10 UTC 2007
 Modified Files:
 	src/include [netbsd-4]: stdio.h
 	src/lib/libc/arch/i386/gen [netbsd-4]: fpclassifyl.c isfinitel.c
 	    isinfl.c isnanl.c
 	src/lib/libc/arch/m68k/gen [netbsd-4]: fpclassifyl.c
 	src/lib/libc/arch/x86_64/gen [netbsd-4]: fpclassifyl.c isfinitel.c
 	    isinfl.c isnanl.c
 	src/lib/libc/gdtoa [netbsd-4]: dmisc.c dtoa.c gdtoa.c
 	    gdtoa.h gdtoaimp.h
 	src/lib/libc/stdio [netbsd-4]: fvwrite.c snprintf_ss.c
 	    vfprintf.c vfscanf.c vfwprintf.c vsnprintf_ss.c
 	src/sys/arch/hppa/include [netbsd-4]: ieee.h
 	src/sys/arch/m68k/include [netbsd-4]: ieee.h
 	src/sys/arch/sparc/include [netbsd-4]: ieee.h
 	src/sys/arch/x86/include [netbsd-4]: ieee.h
 	src/sys/sys [netbsd-4]: ieee754.h
 	src/usr.bin/xlint/lint1 [netbsd-4]: scan.l
 Added Files:
 	src/lib/libc/gdtoa [netbsd-4]: hdtoa.c ldtoa.c
 Log Message:
 Pull up following revision(s) (requested by manu in ticket #607):
 	lib/libc/arch/i386/gen/isnanl.c: revision 1.6
 	lib/libc/gdtoa/gdtoa.c: revision 1.2-1.3
 	lib/libc/arch/x86_64/gen/isnanl.c: revision 1.6
 	lib/libc/gdtoa/gdtoaimp.h: revision 1.6
 	sys/arch/m68k/include/ieee.h: revision 1.13
 	usr.bin/xlint/lint1/scan.l: revision 1.36-1.37
 	lib/libc/stdio/snprintf_ss.c: revision 1.4
 	lib/libc/arch/i386/gen/isfinitel.c: revision 1.2
 	lib/libc/stdio/vfscanf.c: revision 1.38
 	sys/arch/sparc/include/ieee.h: revision 1.11-1.12
 	lib/libc/gdtoa/dtoa.c: revision 1.4
 	lib/libc/stdio/ revision 1.35
 	lib/libc/stdio/fvwrite.c: revision 1.17
 	lib/libc/arch/m68k/gen/fpclassifyl.c: revision 1.2
 	lib/libc/arch/i386/gen/isinfl.c: revision 1.6
 	lib/libc/arch/x86_64/gen/isinfl.c: revision 1.6
 	lib/libc/arch/x86_64/gen/isfinitel.c: revision 1.2
 	lib/libc/stdio/vfprintf.c: revision 1.55-1.57
 	lib/libc/stdio/vsnprintf_ss.c: revision 1.3
 	lib/libc/stdio/vfwprintf.c: revision 1.10
 	sys/arch/x86/include/ieee.h: revision 1.10
 	lib/libc/gdtoa/dmisc.c: revision 1.3
 	lib/libc/gdtoa/ revision 1.5
 	sys/arch/hppa/include/ieee.h: revision 1.10
 	lib/libc/arch/x86_64/gen/fpclassifyl.c: revision 1.3
 	lib/libc/arch/i386/gen/fpclassifyl.c: revision 1.2
 	sys/sys/ieee754.h: revision 1.7
 	lib/libc/gdtoa/gdtoa.h: revision 1.7
 	include/stdio.h: revision 1.67-1.68
 	lib/libc/gdtoa/hdtoa.c: revision 1.1-1.4
 	lib/libc/gdtoa/ldtoa.c: revision 1.1-1.4
 defined(_NETBSD_SOURCE) is equivalent to (!defined(_ANSI_SOURCE) &&
 !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)), so there's no
 need to check both of them.
 Fix for issue reported in PR lib/35401 as well as related overflow bugs.
 deal with hex doubles.
 Instead of abusing stdio to get a signal-safe version of sprintf, provide one.
 remove __SAFE
 add long double and hex double support from freebsd.
 make this compile.
 add new prototypes.
 add the new files to the build. Note I am not bumping libc now, because
 these are not used yet.
 Merge the int bit with the high fraction bit. Add constants/macros
 needed by gdtoa.
 add constants used by gdtoa
 since the int bit is merged, do the explicit math.
 ext_int bit is no more.
 ext_int bit is no more.
 - merge change from freebsd
 - add support for building as vfprintf.c
 - XXX: we strdup to simplify the freeing logic. This should be fixed for
   efficiency in the vfprintf case.
 use vfwprintf.c
 enable wide doubles.
 some int -> size_t
 deal with sparc64 that has 112 bits of mantissa.
 make extended precision gdtoa friendly.
 int/size_t changes
 make this gdtoa friendly.
 remove dup definition
 use dtoa() instead of returning empty when we don't have extended precision
 Fix previous, add forgotten pointer dereference in the call to dtoa().
 Add a cheesy workaround marked XXX for the situation where the
 strtod() implementation available in the environment does not
 handle hex floats.
 Discussed with and suggested by christos
 From Christos:  gdtoa fixes for m68k.  M68k ports should build now, but
 printing extended precision is a little off.
 vax does not have <machine/ieee.h> or long double
 It would be nice if the compiler provided something like __IEEE_MATH__
 bring in FreeBSD's vfscanf() to gain multi-byte/collation support.
 Unfortunately it is too difficult to make vfwscanf and this share
 the same code like I did with printf, because for string parsing
 the code is too different.
 To generate a diff of this commit:
 cvs rdiff -r1.66 -r1.66.2.1 src/include/stdio.h
 cvs rdiff -r1.1 -r1.1.16.1 src/lib/libc/arch/i386/gen/fpclassifyl.c \
 cvs rdiff -r1.5 -r1.5.16.1 src/lib/libc/arch/i386/gen/isinfl.c \
 cvs rdiff -r1.1 -r1.1.16.1 src/lib/libc/arch/m68k/gen/fpclassifyl.c
 cvs rdiff -r1.2 -r1.2.16.1 src/lib/libc/arch/x86_64/gen/fpclassifyl.c
 cvs rdiff -r1.1 -r1.1.16.1 src/lib/libc/arch/x86_64/gen/isfinitel.c
 cvs rdiff -r1.5 -r1.5.16.1 src/lib/libc/arch/x86_64/gen/isinfl.c \
 cvs rdiff -r1.4 -r1.4.4.1 src/lib/libc/gdtoa/
 cvs rdiff -r1.2 -r1.2.4.1 src/lib/libc/gdtoa/dmisc.c
 cvs rdiff -r1.3 -r1.3.4.1 src/lib/libc/gdtoa/dtoa.c
 cvs rdiff -r1.1.1.1 -r1. src/lib/libc/gdtoa/gdtoa.c
 cvs rdiff -r1.6 -r1.6.4.1 src/lib/libc/gdtoa/gdtoa.h
 cvs rdiff -r1.5 -r1.5.4.1 src/lib/libc/gdtoa/gdtoaimp.h
 cvs rdiff -r0 -r1.5.2.1 src/lib/libc/gdtoa/hdtoa.c
 cvs rdiff -r0 -r1.4.2.1 src/lib/libc/gdtoa/ldtoa.c
 cvs rdiff -r1.34 -r1.34.2.1 src/lib/libc/stdio/
 cvs rdiff -r1.16 -r1.16.2.1 src/lib/libc/stdio/fvwrite.c
 cvs rdiff -r1.3 -r1.3.2.1 src/lib/libc/stdio/snprintf_ss.c
 cvs rdiff -r1.54 -r1.54.2.1 src/lib/libc/stdio/vfprintf.c
 cvs rdiff -r1.37 -r1.37.4.1 src/lib/libc/stdio/vfscanf.c
 cvs rdiff -r1.9 -r1.9.2.1 src/lib/libc/stdio/vfwprintf.c
 cvs rdiff -r1.2 -r1.2.2.1 src/lib/libc/stdio/vsnprintf_ss.c
 cvs rdiff -r1.9 -r1.9.24.1 src/sys/arch/hppa/include/ieee.h
 cvs rdiff -r1.12 -r1.12.24.1 src/sys/arch/m68k/include/ieee.h
 cvs rdiff -r1.10 -r1.10.24.1 src/sys/arch/sparc/include/ieee.h
 cvs rdiff -r1.9 -r1.9.32.1 src/sys/arch/x86/include/ieee.h
 cvs rdiff -r1.6 -r1.6.24.1 src/sys/sys/ieee754.h
 cvs rdiff -r1.35 -r1.35.2.1 src/usr.bin/xlint/lint1/scan.l
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.