On Mon, 2013-07-15 at 21:13 +0200, Jakub Jelinek wrote: > > Looking at the patch, you've changed FIRST_PSEUDO_REGISTER (internal gcc > > thing, so fine), but that also changed DWARF_FRAME_REGISTER which was > > computed based on FIRST_PSEUDO_REGISTER. Isn't that an ABI break in the > > unwinder (think about having parts of unwinder linked from different > > versions of libgcc)? > > Can't we just tweak DWARF_FRAME_REGISTER not to include those registers?
Thanks for noticing this. > I'd say something like (but, untested and can't test it right now (and no > access to power8 anyway)): Do we also need to update DWARF_REG_TO_UNWIND_COLUMN similarly, which also uses FIRST_PSEUDO_REGISTER when the dwarf reg is an SPE synthetic register? Or should we just break the dependence on FIRST_PSEUDO_REGISTER altogether so this type of thing doesn't happen again? Otherwise, we should place a comment at the definition of FIRST_PSEUDO_REGISTER warning of it's use in DWARF_FRAME_REGISTER. Peter