This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]