This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch: Alpha 32: incorrect parameter debug info.
- To: law at cygnus dot com
- Subject: Re: Patch: Alpha 32: incorrect parameter debug info.
- From: Donn Terry <donn at interix dot com>
- Date: Tue, 27 Apr 1999 09:10:45 -0600
- CC: "egcs-patches at cygnus dot com" <egcs-patches at cygnus dot com>
- References: <18044.925197695@upchuck.cygnus.com>
Jeffrey A Law wrote:
>
> In message <371D47F5.EDFC66CB@interix.com>you write:
> > This is a multi-part message in MIME format.
> > --------------331D37765B38A30E6BB6AA08
> > Content-Type: text/plain; charset=us-ascii
> > Content-Transfer-Encoding: 7bit
> >
> > --
> >
> > ===================================================
> > Donn Terry mailto:donn@interix.com
> > Softway Systems, Inc. http://www.interix.com
> > 2850 McClelland Dr, Ste. 1800 Ft.Collins CO 80525
> > Tel: +1-970-204-9900 Fax: +1-970-204-9951
> > ===================================================
> > --------------331D37765B38A30E6BB6AA08
> > Content-Type: text/plain; charset=us-ascii; name="25.arg.debug"
> > Content-Transfer-Encoding: 7bit
> > Content-Disposition: inline; filename="25.arg.debug"
> >
> > Like the MIPS, the Alpha needs to emit function argument information
> > after they have been calculated (after the entry point). Since we
> > are concerend (at least at the moment) about stabs debug, not Dwarf,
> > we need to make MIPS_DEBUGGING_INFO apply to stabs.
> >
> > Fri Feb 12 22:27:02 1999 Donn Terry (donn@interix.com)
> >
> > * final.c (final_scan_insn): Emit args info for
> > stabs (as well as Dwarf) if MIPS_DEBUGGING_INFO is on.
> > * dbxout.c (dbxout_really_begin_function): Delay args
> > stabs info when MIPS_DEBUGGING_INFO.
> This doesn't make any sense. MIPS debugging info has been working fine for
> years. We should not be changing it's behavior unless we have strong evidence
> that it is really wrong on all the targets that define MIPS_DEBUGGING_INFO.
>
> jeff
There's nothing wrong with MIPS_DEBUGGING_INFO, I'm just using
it to turn on more correct behavior. I don't know if anyone
but me uses stabs on the alpha; if not, then the reason it
doesn't work is that no-one's tested it. If there are other
users, then there may yet remain an issue.
Specificially, function argument information (specifically,
their offsets) is not computed until after the prologue has
been emitted. As the code stands currently, the stabs debug
information is emitted BEFORE the prologue, and thus reflects
the argument offsets of the prior function (or ??? if there
wasn't one).
This patch simply makes stabs follow the other debug formats and
emit the argument debug info after it's been computed.
MIPS_DEBGUGGING_INFO works just fine for this. (Paralllel
code already exists in final_start_function earlier in the
sdbout.c). Without the change to dbxout.c, you get two copies
of the arguments info (and gdb honors both, making life REAL
interesting.)
I'll be more than happy to provide assembler samples of
before and after if this is necessary.
Donn
--
===================================================
Donn Terry mailto:donn@interix.com
Softway Systems, Inc. http://www.interix.com
2850 McClelland Dr, Ste. 1800 Ft.Collins CO 80525
Tel: +1-970-204-9900 Fax: +1-970-204-9951
===================================================