This is the mail archive of the
mailing list for the GCC project.
Re: [patch, mips] Follow up to pr54061 patch, fix another abort.
On Wed, 2012-12-12 at 08:21 +0000, Richard Sandiford wrote:
> I'm pretty sure we'll need more eventually though. A quick inspection
> shows that we don't set mips_dbx_regno for DSP_ACC_REGS or ST_REGS.
> DSP_ACC_REGS in paticular seems likely to hit, although you need to
> test with an -mdsp option to get coverage. It's even conceivable
> that we could end up with info for GOT_VERSION_REGNUM.
> I don't think we really gain much by trying to distinguish in mips_dbx_regno
> between INVALID_REGNUM (register isn't used at all by the compiler) and
> IGNORED_DWARF_REGNUM. Especially since we don't distinguish between
> registers that have been disabled through -msoft-float, -mips3 and below
> (for ST_REGS other than $fcc0), -mno-dsp, etc.
OK, you have convinced me. Here is what I am testing, OK to checkin
once I have run it through the testsuite?
2012-12-12 Steve Ellcey <email@example.com>
* config/mips/mips.c (mips_option_override): Set
mips_dbx_regno entries to IGNORED_DWARF_REGNUM by default.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 820b228..7ac8bb7 100644
@@ -16742,7 +16742,7 @@ mips_option_override (void)
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
- mips_dbx_regno[i] = INVALID_REGNUM;
+ mips_dbx_regno[i] = IGNORED_DWARF_REGNUM;
if (GP_REG_P (i) || FP_REG_P (i) || ALL_COP_REG_P (i))
mips_dwarf_regno[i] = i;
@@ -16757,9 +16757,6 @@ mips_option_override (void)
for (i = FP_REG_FIRST; i <= FP_REG_LAST; i++)
mips_dbx_regno[i] = i + start;
- for (i = ALL_COP_REG_FIRST; i <= ALL_COP_REG_LAST; i++)
- mips_dbx_regno[i] = IGNORED_DWARF_REGNUM;
/* Accumulator debug registers use big-endian ordering. */
mips_dbx_regno[HI_REGNUM] = MD_DBX_FIRST + 0;
mips_dbx_regno[LO_REGNUM] = MD_DBX_FIRST + 1;