Subject: Re: strtoull bug
To: <>
From: Ignatios Souvatzis <>
List: tech-toolchain
Date: 05/02/2000 21:12:20
Content-Type: text/plain; charset=us-ascii

On Mon, May 01, 2000 at 03:34:58PM -0700, Chris G. Demetriou wrote:
> (Ignatios Souvatzis) writes:
> > May I add this as a stopgap fix?
> It'd be Very Good if we had a list of these kinds of stop-gap fixes,
> so that new versions of the compiler could be tested with them removed
> (and, hopefully, in the long run, so that regression tests could be
> created for them).

So... here is the first version of the docs/hacks file, intended for stuff
like this. Somebody might eventually write a HTML converter for it.


Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=hacks

# hack		title
# port		...
#	affected ports, space seperated, if not "all"
# file		affected file : revision : line from : line to
#	affected files and revision and line numbers describing hack
#	multiple lines if necessary.
# pr		NNNN ...
#	problem reports this hack works around, if known. Space seeperated.
# regress	src/regress/directory/where/test/found
#	regression test directories, if available.
# descr
#	insert short informal description (multiline). (Longer ones should be
#	in the PR database. More formal descriptions might be in the regress
#	tree. See above).
# kcah
#	closing bracket.

hack	gcc-arm32-schedule
file	basesrc/lib/libc/stdlib/strtoull.c	: 1.3 : 78 : 81
file	basesrc/lib/libc/stdlib/strtouq.c	: 1.15 : 73 : 76
pr	9613
	strtoull() was returning a wrong result for small numbers with bit 31
	set. This is a gcc/arm32 compiler bug in gcc < 2.95.2. Adding
	(void)&acc; works around it.