Richard Sandiford <rdsandif...@googlemail.com> writes: > "Steve Ellcey " <sell...@mips.com> writes: >> While testing all the variations of my mips-mti-elf target I found that >> a number of debug tests like gcc.dg/debug/trivial.c fail when compiled >> using a stabs debug flag (-gstabs3 for example) and -mips16. While running >> the GNU simulator I get: >> >> mips-core: 1 byte read to unmapped address 0xffffe820 at 0xffffffff80020278 >> program stopped with signal 10 (User defined signal 1). >> FAIL: gcc.dg/debug/trivial.c -gstabs3 -O execution test >> >> Since I don't actually care about STABS I was looking at undefining >> DBX_DEBUGGING_INFO in mips-mti-elf.h and mips-mti-linux.h which makes >> the failures a moot point for me since I would no longer run the tests >> with any -stabs flags. >> >> But I was wondering, are there any MIPS targets that do use stabs? If not >> maybe we should just remove the define of DBX_DEBUGGING_INFO from mips.h >> instead of undefing it just for my targets. Opinions? > > Do you know why selecting stabs causes an execution failure? > That shouldn't happen regardless of whether the debug info itself is good.
Ah, sorry, this reminded me of a patch I'd written a year ago and never got around to sanity-checking. Does it fix the problem for you? Richard Index: gas/config/tc-mips.c =================================================================== --- gas/config/tc-mips.c 2012-01-28 14:47:10.000000000 +0000 +++ gas/config/tc-mips.c 2012-01-28 14:48:14.000000000 +0000 @@ -1476,7 +1476,9 @@ static const pseudo_typeS mips_pseudo_ta {"section", s_change_section, 0}, {"short", s_cons, 1}, {"single", s_float_cons, 'f'}, + {"stabd", s_mips_stab, 'd'}, {"stabn", s_mips_stab, 'n'}, + {"stabs", s_mips_stab, 's'}, {"text", s_change_sec, 't'}, {"word", s_cons, 2}, @@ -16817,9 +16819,7 @@ s_insn (int ignore ATTRIBUTE_UNUSED) static void s_mips_stab (int type) { - if (type == 'n') - mips_mark_labels (); - + mips_mark_labels (); s_stab (type); }