http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57436
Steven Bosscher <steven at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |steven at gcc dot gnu.org
--- Comment #1 from Steven Bosscher <steven at gcc dot gnu.org> ---
(In reply to Andreas Radke from comment #0)
> Any idea what this could be and how to track this down? It's a pretty
> nasty bug in gcc it seems to me.
Jumping to conclusions like that isn't helpful (but unfortunately
typical for kernel folk): It *may* be a bug in gcc, but it may just
as well be a bug in the kernel. Relying on undefined behavior or
stuff like that.
Have you looked at some of the caveats in the GCC 4.8 relase notes?
(See http://gcc.gnu.org/gcc-4.8/changes.html). The problem you're
seeing could be related to the aggressive loop optimizations that
GCC 4.8 has enabled. You could try -fno-aggressive-loop-optimizations.
(IIRC it's enabled by default in recent linux kernel configurations,
but I'm not sure.)
Another common problem is alias violations. You could try compiling
with -Wstrict-aliasing=2 and see if there are any real alias rules
violations.
If that all fails, you could try compile individual files (or all of
XFS, perhaps) with -O1 or even just -O0, try to isolate the file that
causes the breakage, and start comparing assembly. All that, assuming
you have a file system you can repeatedly wreck, of course :-)