Two characters!

Roman Zippel was nice enough to point out what the exact patch is that fixes the bug which makes GCC 4.0 segfault so many times when optimizing at -O3 or above.

Whee.

The fix involves adding two characters on one single line. That's it.

Of course I've ceased my (now futile) attempts to find it out by binary search, and am about to (natively) build a gcc with that patch applied. Hopefully that'll work.

I've also noticed that it currently is somewhat impossible to build a cross-compiler from the gcc-4.0 source. But that's for another time.