This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Gcc 4.2 miscompiles binutils on x86 and x86-64
- From: Andreas Schwab <schwab at suse dot de>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: Alexandre Oliva <aoliva at redhat dot com>, R Hill <dirtyepic dot sk at gmail dot com>, Nick Clifton <nickc at redhat dot com>, binutils at sources dot redhat dot com, gcc at gcc dot gnu dot org
- Date: Sun, 30 Apr 2006 13:23:20 +0200
- Subject: Re: Gcc 4.2 miscompiles binutils on x86 and x86-64
- References: <or4q2gsou6.fsf@free.oliva.athome.lsd.ic.unicamp.br> <20060302183313.GB29439@lucon.org> <orzmk8r8jl.fsf@free.oliva.athome.lsd.ic.unicamp.br> <44081538.7070304@redhat.com> <4453042B.3040005@gmail.com> <20060429145053.GA3225@lucon.org> <or3bfwushl.fsf@free.oliva.athome.lsd.ic.unicamp.br> <20060429235415.GA6521@lucon.org>
"H. J. Lu" <hjl@lucon.org> writes:
> It looks like a gcc bug to me. Gcc 4.2 miscompiles:
>
> more_than_enough_bits_for_digits
> = (number_of_digits_to_use * 3321928 / 1000000 + 1);
>
> in atof_generic. When number_of_digits_to_use == 1, gcc 4.2 -O2 gets
> more_than_enough_bits_for_digits as 4. The correct value is 37.
Why do you think 3321928 / 1000000 == 36?
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."