Can't compile Linux 2.6.29.6 kernel with grsecurity-2.1.14-2.6.29.6-200907122214 patch using GCC 4.4.0.
$ gcc -Wp,-MD,drivers/staging/meilhaus/.memain.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include -Iinclude -I/home/net147/gccbug/linux-2.6.29/arch/x86/include -include include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iarch/x86/include/asm/mach-default -Wframe-larger-than=2048 -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fwrapv -fno-dwarf2-cfi-asm -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(memain)" -D"KBUILD_MODNAME=KBUILD_STR(memain)" -c -o drivers/staging/meilhaus/memain.o drivers/staging/meilhaus/memain.c /home/net147/gccbug/linux-2.6.29/arch/x86/include/asm/uaccess_64.h: Assembler messages: /home/net147/gccbug/linux-2.6.29/arch/x86/include/asm/uaccess_64.h:92: Error: suffix or operands invalid for `movq' The compiler outputs the assembly instruction "movq $4294967295,(%rbp)" which causes the compile to fail. Compiling with -O0 or with GCC 4.3.3 works. $ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/usr --enable-shared --enable-languages=c,c++,fortran,objc,obj-c++ --enable-threads=posix --mandir=/usr/share/man --infodir=/usr/share/info --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch --with-tune=generic Thread model: posix gcc version 4.4.0 20090630 (prerelease) (GCC) Related bug: http://bugs.archlinux.org/task/15498. -- Summary: Optimization generates bad assembly causing compile to fail Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: net147 at gmail dot com GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40803