Playing around with gcc 3.3.3, I compiled a 2.6 series kernel for i386 and discovered it panics on boot. The problem was gcc 3.3.3 can inline functions even if declared after their call sites. This causes i386 to not boot, since do_test_wp_bit() must not exist in the __init section. Similar problems may exist in the boot code for other architectures, but I can't confirm that at this time. x86_64 is not affected. I've included a small trivial fix that is harmless for users not using gcc 3.3.3. Testing: my 2.6 kernel now boots when compiled with gcc 3.3.3 compiler. Cheers, Zach Amsden zach@vmware.com