[Bug target/41240] [4.5 regression] ICE: in get_attr_got, at config/mips/mips.md:455 building stage1 N64 libgcc
ro at techfak dot uni-bielefeld dot de
gcc-bugzilla@gcc.gnu.org
Thu Sep 3 13:53:00 GMT 2009
------- Comment #7 from ro at techfak dot uni-bielefeld dot de 2009-09-03 13:53 -------
Subject: Re: [4.5 regression] ICE: in get_attr_got, at config/mips/mips.md:455
building stage1 N64 libgcc
> ------- Comment #5 from ubizjak at gmail dot com 2009-09-03 13:08 -------
> (In reply to comment #3)
>
> > I'm sort of stuck now.
>
> Add -save-temps to failing command on a native compiler, create a crosscompiler
> on i.e. x86_64 and debug ../gcc/cc1 from crosscompiler with -O2 -g
> <some_file>.i in x86_64 host. You don't even need to create binutils cross to
> create cc1, although the full build won't finish.
Good point: I routinely forget about cross compilers until I really have
to. This was really beneficial in this case, since the X4450 is a *much*
faster box. I did have to build cross binutils, though, since the bug is
only triggered when certain assembler features are present (I haven't
checked exactly which ones, but a cross compiler without a cross gas 2.19.1
didn't ICE).
I've come up with the following patch, similar to your's for the alpha:
2009-09-03 Rainer Orth <ro@CeCiTec.Uni-Bielefeld.DE>
PR target/41240
* config/mips/mips.c (mips_function_has_gp_insn): Ignore debug insn.
Index: config/mips/mips.c
===================================================================
--- config/mips/mips.c (revision 151371)
+++ config/mips/mips.c (working copy)
@@ -8579,7 +8579,7 @@
push_topmost_sequence ();
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
- if (USEFUL_INSN_P (insn)
+ if (USEFUL_INSN_P (insn) && !DEBUG_INSN_P (insn)
&& (get_attr_got (insn) != GOT_UNSET
|| mips_small_data_pattern_p (PATTERN (insn))))
{
With it, my testcase passed and the cross-build ran until it hit missing
target headers. I'm now continuing the really bootstrap and will submit it
once that finishes.
Thanks alot.
Rainer
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41240
More information about the Gcc-bugs
mailing list