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.