This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Stange gcc 3.3 bug on Linux/ia64
On Tue, Jul 01, 2003 at 11:19:44PM -0700, Zack Weinberg wrote:
> "H. J. Lu" <hjl@lucon.org> writes:
>
> > I have a very strange gcc 3.3 bug on Linux/ia64. At random, I got
> > bootstrap failure:
> [...]
>
> Interesting bug, but the patch you sent is fixing a non-bug, and one
> that could not cause the problem you see even if it were a bug. You
> should be looking at the scheduler or the register allocator.
>
> cpplib in 3.3 relies on documented and standardized behavior of mmap,
> which valgrind deliberately does not support because use of it is
> usually a bug. Specifically, the memory between the end of a file
> that's been mmapped into memory, and the nearest higher page boundary,
> is guaranteed to be zero-filled by the kernel. (In 3.4 we are no
One mmap test in gcc 3.3 failed on Linux/ia64:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3163
I guess I can put some check in gcc to see if it is always true under
Linux/ia64.
> longer using mmap to read files.)
The bug can be in hardware/firmware, kernel, glibc and/or gcc. I saw
it under both UP kernel with -j2 and SMP kernel with -j4. Since the bug
always happens to the same file with the same result and the resulting
output is correct, but different between runs, I suspect some parts
of gcc will generate different, but correct output, depending on size,
address, value, ... of the input source.
H.J.