Re: Geometry test on NetBSD (was Re: [HACKERS] RC1?)

Patrick Welche <prlw1@newn.cam.ac.uk>

From: Patrick Welche <prlw1@newn.cam.ac.uk>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org, pgsql-ports@postgresql.org
Date: 2002-11-20T17:57:53Z
Lists: pgsql-hackers
On Wed, Nov 20, 2002 at 06:48:15PM +0100, Peter Eisentraut wrote:
> Tom Lane writes:
> 
> > AFAIK, all modern hardware claims compliance to the IEEE floating-point
> > arithmetic standard, so failure to print minus zero as minus zero is
> > very likely to be a software issue not hardware.  That suggests strongly
> > that the issue is netbsd version (specifically libc version) and not the
> > hardware platform.
> 
> I could confirm my initial suspicion: it's a *printf() library issue.  The
> FreeBSD CVS log tells the tale:
> 
> http://www.de.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdio/vfprintf.c
> 
> The next FreeBSD subrelease (4.8?) should have this fixed.  OpenBSD is not
> fixed.  NetBSD and Darwin seem to have temporarily hidden their cvsweb in
> shame, but I would assume it's the same issue.  Not sure what HP-UX is
> doing about it.

Right, the equivalent for NetBSD vfprintf.c is:

revision 1.40
date: 2001/11/28 11:58:22;  author: kleink;  state: Exp;  lines: +4 -4
Since we're returned the sign of a floating-point number by __dtoa(),
use that to decide whether to include a minus sign in the result.
Fixes printing -0.0, and thus PR lib/3137.

NetBSD 1.5 has revision 1.32, NetBSD 1.6 has revision 1.42

Well spotted,

Patrick