[Bug target/29693] ICE while compiling gcc-3.4.3 with gcc-4.1.1
mikpe at it dot uu.se
gcc-bugzilla@gcc.gnu.org
Sat Nov 5 16:04:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29693
Mikael Pettersson <mikpe at it dot uu.se> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mikpe at it dot uu.se
--- Comment #8 from Mikael Pettersson <mikpe at it dot uu.se> 2011-11-05 16:03:17 UTC ---
The bug still occurs with gcc-4.7-20111029 for arm-linux-gnueabi.
The problem is that dwarf2cfi.c:expand_builtin_init_dwarf_reg_sizes loops from
0 to FIRST_PSEUDO_REGISTER-1 assuming each value maps to a DWARF register.
However, arm_dbx_register_number is a partial function which does
gcc_unreachable for several points in this range. A quick check showed that
CC_REGNUM, FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM, the range of Cirrus FP
regnums, and (in my config) the high VFP regnums all caused gcc_unreachable.
I think the high VFP regnums issue is a fixable bug, the Cirrus regnums could
be mapped to the unspecified vendor range, and CC_REGNUM could be mapped to
CPSR (called SPSR in aadwarf?). I don't know what FRAME_POINTER or ARG_POINTER
should map to though, since they're presumably eliminated virtual registers.
More information about the Gcc-bugs
mailing list