Subject: Re: strtod does not underflow
To: MacBSD <port-mac68k@NetBSD.org>
From: =?ISO-8859-1?Q?R=E9mi_Zara?= <remi_zara@mac.com>
List: port-mac68k
Date: 12/22/2004 20:19:48
--Apple-Mail-1-881937247
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=ISO-8859-1;
	delsp=yes;
	format=flowed

Hi,

Replying to my own mail:

I was hoping to debug the problem by compiling my test program =20
alongside  strtod.c from libc with debug options and tracing what was =20=

happening.
But doing this, strtod DOES underflow....

I guess I'll have to build a debugging libc...

Any directions for doing this ?

Regards,

R=E9mi Zara

Le 20 d=E9c. 04, =E0 23:19, R=E9mi Zara a =E9crit :

> Hi,
>
> Some postgresql regression tests fail on 2.0 mac68k because some =20
> double values do not undeflow.
> (see for regression test log =20
> http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=3Dosprey&dt=3D2004-12=20=

> -20%2005:00:21)
>
> Here is a test program:
>
> test.c:
>
> #include <stdlib.h>
> #include <errno.h>
>
> int main() {
>         double res;
>         double zero =3D 0.0;
>         char *small =3D "10e-400";
>         res =3D strtod(small,NULL);
>         printf("%e, %d\n", res, errno);
>         if (res =3D=3D zero) {
>                 printf("res =3D=3D zero\n");
>         }
> }
>
> the output is:
> #test
> 0.000000e+00, 0
> res =3D=3D zero
>
> So strtod returned 0, but did not set errno to ERANGE (34)
>
> testing shows that 10e400 overflows, but to underflow, one must go to =20=

> as little as 10e-512 (10e-511 shows the same result as 10e-400).
>
> So is there a bug in NetBSD's strtod ?
> Is something wrong with the test program ?
>
> Regards,
>
> R=E9mi Zara
> --
> R=E9mi Zara
> http://www.remi-zara.net/
--
R=E9mi Zara
http://www.remi-zara.net/

--Apple-Mail-1-881937247
Content-Transfer-Encoding: base64
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Disposition: attachment;
	filename=smime.p7s

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGFjCCAs8w
ggI4oAMCAQICAw2XNjANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0EwHhcNMDQxMjA5MjAyODUzWhcNMDUxMjA5MjAyODUzWjBDMR8wHQYDVQQD
ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSAwHgYJKoZIhvcNAQkBFhFyZW1pX3phcmFAbWFjLmNv
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIsZ+/0xA/dn0wrw+Tey2DOvgVPl+f7
DTUM5V0f70xGtI4dimfwE8rGeBPZRxRtNZGM9ohshySLPdKbH7Vps1pl1QjeOE5PG02CsmKRejFG
zD1Rl+rEYHRhkEov8av084KkLUwwBAmc3WSV0kKM4juQMEWyc0YhEegyU1LhvN+0nf/P632owxFs
Y3A2K8LStUPVM7KFU9LC8/Rq6xmtitBO1MBQBjJfPreFH42Hn4/g/sZKZlGCK7aM8lakIzI1Xrr5
wyLP+XcrhFPN3fWvYQWyWY7/rka5p7lteUBYN6C2mtZX+f0No6/K9sm7rm+w+e7Om1ECVMoplGjK
rMHCnr0CAwEAAaMuMCwwHAYDVR0RBBUwE4ERcmVtaV96YXJhQG1hYy5jb20wDAYDVR0TAQH/BAIw
ADANBgkqhkiG9w0BAQQFAAOBgQCnQ3aug7iiJshcOck8Po503ZBCqt3NXUgKQzuTsFyuzp3KQhUi
uvi5dAirsusKCRAaJAegYBWIq0Kpcou0PAdNpTpbapnLsOJ6Rk0sFbKNkAeNuSZ3bEFFIuk1lmXn
HoZZluw9AEh27bzWuwhKMGidMFhHgXyXTzwLd3u4IZt+AjCCAz8wggKooAMCAQICAQ0wDQYJKoZI
hvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcT
CUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmlj
YXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFp
bCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMzA3
MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUg
Q29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwg
SXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV+065yplaHmjAdQRw
nd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqqP3FWy688Cwfn8R+R
NiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEEQB5kGXJgt/sCAwEA
AaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwu
dGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1UdDwQEAwIBBjApBgNV
HREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZIhvcNAQEFBQADgYEA
SIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFiw9k6GX6E
sZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU1341YheILc
IRk13iSx0x1G/11fZU8xggLnMIIC4wIBATBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3
dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h
aWwgSXNzdWluZyBDQQIDDZc2MAkGBSsOAwIaBQCgggFTMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B
BwEwHAYJKoZIhvcNAQkFMQ8XDTA0MTIyMjE5MTk0OVowIwYJKoZIhvcNAQkEMRYEFHRSRfmLQNSA
mHGmJ+wwCVS68SLvMHgGCSsGAQQBgjcQBDFrMGkwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRo
YXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVl
bWFpbCBJc3N1aW5nIENBAgMNlzYwegYLKoZIhvcNAQkQAgsxa6BpMGIxCzAJBgNVBAYTAlpBMSUw
IwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVy
c29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDDZc2MA0GCSqGSIb3DQEBAQUABIIBAC5Q146ffhQn
B+jqo7pdSDhgIMCbXNvlCQXXLkWfFZrVk9iwQTORqYC+CzJA7XbRiQSmMmpkcVz79TlJyBOD9A4o
jezHvpLgPssCwRW1rbXw4PDZN8YKV/fzZwuzd2Z0qzfXdyO82hmIDJkY1v+Ky2/YFc4JhjvOYGca
d3mPyMreY6H7h82aPruaZsJWpUYfyGGnfLJfwSh+duYrY4XSybMqUNfxEVjKrdsuRkP7KIgRKKes
ZIzUaLgmKKUaKKCEuTL/Qwf+k0Cd80NS33i//kI2bw7l5Mf2SV+/5OONoTqGyUPvedWvt7OqAOn+
2BuzTd/41+DhXfJKrim7dcYc4gQAAAAAAAA=

--Apple-Mail-1-881937247--