[mips,stabs] Do any MIPS targets use stabs?

Submitted by Steve Ellcey on Jan. 7, 2013, 6:27 p.m.

Details

Message ID 99d6779b-5dee-4fac-bc73-26055eaa0857@EXCHHUB01.MIPS.com
State New
Headers show

Commit Message

Steve Ellcey Jan. 7, 2013, 6:27 p.m.
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?

I saw the discussion about removing STABS completely from GCC, etc. but it
looks like there is still some users who want it on some targets.

Here is my default patch which just undef's it for the mti targets.

Steve Ellcey
sellcey@mips.com



2013-01-07  Steve Ellcey  <sellcey@mips.com>

	* config/mips/mips-mti-elf.h: undef DBX_DEBUGGING_INFO.
	* config/mips/mips-mti-linux.h: Ditto.

Comments

Richard Sandiford Jan. 7, 2013, 8:30 p.m.
"Steve Ellcey " <sellcey@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.

I don't mind removing stabs from all MIPS targets, but I'd like to
understand why we get the execution failure first.

Richard
Steve Ellcey Jan. 7, 2013, 8:41 p.m.
On Mon, 2013-01-07 at 20:30 +0000, Richard Sandiford wrote:
> "Steve Ellcey " <sellcey@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
> 
> Do you know why selecting stabs causes an execution failure?
> That shouldn't happen regardless of whether the debug info itself is good.
> 
> I don't mind removing stabs from all MIPS targets, but I'd like to
> understand why we get the execution failure first.
> 
> Richard

No, I don't know why I get the execution failure.  I dug around a bit
but could not figure out what or where the problem was coming from.  I
assume the executable is accessing a bad address or an uninitialized bit
of memory somewhere but I could not figure out where.  The actual
executable code is the same with or without the debug information.  I
don't even know if this is a bug in GCC or in the GNU simulator.  My
inability to figure out where the problem was occurring is the main
reason I started wondering why I even cared about stabs.

Steve Ellcey
sellcey@mips.com

Patch hide | download patch | download mbox

diff --git a/gcc/config/mips/mti-elf.h b/gcc/config/mips/mti-elf.h
index f6b38a5..f90b060 100644
--- a/gcc/config/mips/mti-elf.h
+++ b/gcc/config/mips/mti-elf.h
@@ -41,3 +41,6 @@  along with GCC; see the file COPYING3.  If not see
 									\
   /* Configuration-independent MIPS rules.  */				\
   BASE_DRIVER_SELF_SPECS
+
+
+#undef DBX_DEBUGGING_INFO
diff --git a/gcc/config/mips/mti-linux.h b/gcc/config/mips/mti-linux.h
index cda9bdc..c12138f 100644
--- a/gcc/config/mips/mti-linux.h
+++ b/gcc/config/mips/mti-linux.h
@@ -45,3 +45,5 @@  along with GCC; see the file COPYING3.  If not see
 									\
   /* Use the standard linux specs for everything else.  */		\
   LINUX64_DRIVER_SELF_SPECS
+
+#undef DBX_DEBUGGING_INFO