http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54031
--- Comment #4 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-07-19 17:28:26 UTC --- Created attachment 27835 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27835 preprocessed source of the compilation unit involved I've narrowed it down to a single compilation unit kernel/time/clocksource.c. The function __clocksource_register_scale causes the hang. (When I compile clocksource.c with an older compiler and copy the object file into the kernel tree compiled with the latest gcc-4.8 then the kernel works fine.) These are the options: --save-temps -Wp,-MD,kernel/time/.clocksource.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/include -I/usr/src/linux/arch/x86/includ e -Iarch/x86/include/generated -Iinclude -include /usr/src/linux/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigrap hs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -march=native -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCO NFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -m no-3dnow -mno-avx -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -Wdeclaration-after-statement -Wno- pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(clocksource)" -D"KBUILD _MODNAME=KBUILD_STR(clocksource)" -c -o kernel/time/clocksource.o kernel/time/clocksource.c