This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Patch: Alpha 32: incorrect parameter debug info.


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
===================================================


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]