/home/dwmw2/working/pkgs/kernel/devel/kernel-2.6.14/linux-2.6.14/drivers/usb/class/usblp.c:339: internal compiler error: in get_indirect_ref_operands, at tree-ssa-operands.c:1453 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/cc1UwkIM.out file, please attach this to your bugreport. Compile with '-m64 -O -c' to reproduce.
Created attachment 122499 [details] Preprocessed source.
Created attachment 125231 [details] Trivial backport of the patch that fixed the bug in mainline Here's a reduced testcase that is fixed with this trivial backport. It's tricky to exercise the bug in mainline: you have to compile with -fno-tree-fre to get the dom1 pass to perform the optimization that used to break in 4.0. struct foo { char *name; }; struct bar { struct foo *ptr; }; struct xfoo { char *name; } xptr; int x(struct bar * dev) { if (dev->ptr != &xptr) /* warning, different types. */ return 0; return dev->ptr->name == 0; }
There won't be further gcc FC4 erratas, this was fixed in FC5.