The problem occurs with both 3.4.5 and 3.4.6. I haven't tested newer compilers,
but 3.3.6 works. Problem can be avoided by reducing -O2 to -O1.
$ m68k-linux-gcc -O2 ice.c -c -o /dev/null
fs/ocfs2/dlm/dlmlock.c: In function `dlmlock':
fs/ocfs2/dlm/dlmlock.c:698: error: unrecognizable insn:
(insn 5403 1876 1883 93 fs/ocfs2/cluster/tcp.h:77 (set (reg:DI 1008)
(plus:DI (reg:DI 424 [ dlm_next_cookie ])
(const_int 1 [0x1]))) -1 (nil)
(expr_list:REG_DEAD (reg:DI 424 [ dlm_next_cookie ])
(nil)))
fs/ocfs2/dlm/dlmlock.c:698: internal compiler error: in extract_insn, at
recog.c:2083
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
$ m68k-linux-gcc ice.c -c -o /dev/null
$ m68k-linux-gcc -v
Reading specs from
/opt/btc-0.10/gcc-3.4.6-binutils-2.17.50.0.2-glibc-2.3.6/lib/gcc/m68k-linux/3.4.6/specs
Configured with: ../gcc-3.4.6/configure
--prefix=/opt/btc-0.10/gcc-3.4.6-binutils-2.17.50.0.2-glibc-2.3.6
--target=m68k-linux
--with-sysroot=/opt/btc-0.10/gcc-3.4.6-binutils-2.17.50.0.2-glibc-2.3.6/m68k-linux/sysroot
--enable-altivec --enable-threads=posix --enable-__cxa_atexit
--enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.6
--
Summary: ICE while building Linux kernel
Product: gcc
Version: 3.4.6
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ft01 at webmastery dot com dot au
GCC build triplet: powerpc-apple-darwin8.6.0
GCC host triplet: powerpc-apple-darwin8.6.0
GCC target triplet: m68k-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27815