Tracking down a compiler bug - any hints?

From: Valdis Kletnieks
Date: Thu May 31 2012 - 19:16:35 EST


So I had a nicely working kernel at 3.3.0-rc6-next-20120305.

I got distracted for a while, so the next kernel I built was
3.4.0-next-20120523. This locked up on me good and solid when it tried to
launch X. No panic, no dmesg, nothing on netconsole, just a fast and deadly
freeze that required holding down the power button to clear. Been there, done
that, time to break out the bisect. 'git bisect bad next-20120523', 'git
bisect good 3.3-rc6' and go to it. And I got like 8 bisects in a row that locked
up. Even worse, all 95 or so commits that were left were included in
next-20120305.

Then I tried rebuilding next-20120305 using the exact same config I
had working (zcat /proc/config.gz > .config) - *THAT* kernel locked up.

This is when I noticed that my working kernel was compiled with gcc 4.6.2,
and all the busted ones were compiled with 4.7.0. Backleveled to 4.6.2,
and both next-20120305 and next-20120523 build and boot just fine.

So obviously something is skunky with 4.7.0. But where do I go from here?

(Side note - I'd love to get this resolved, as currently my laptop is in a semi-screwed
state due to RPM hell - backleveling gcc required backleveling glibc, and several
other packages, and some stuff is still busted because I didn't backlevel *them*.
It's amazing how many packages link against 'gmp' for no obvious reason :)

Attachment: pgp00000.pgp
Description: PGP signature