Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Hans-Peter Nilsson <hans-peter.nilsson@axis.com>
To: drow@false.org
Cc: hans-peter.nilsson@axis.com, orjan.friberg@axis.com,
	gdb-patches@sources.redhat.com
Subject: Re: [CRIS] dwarf2 frame sniffer problem?
Date: Tue, 16 Mar 2004 23:38:00 -0000	[thread overview]
Message-ID: <200403162338.i2GNc03e013679@ignucius.se.axis.com> (raw)
In-Reply-To: <20040316222709.GA19066@nevyn.them.org> (message from Daniel Jacobowitz on Tue, 16 Mar 2004 17:27:09 -0500)

> Date: Tue, 16 Mar 2004 17:27:09 -0500
> From: Daniel Jacobowitz <drow@false.org>

> On Tue, Mar 16, 2004 at 09:50:28PM +0100, Hans-Peter Nilsson wrote:
> > > Date: Tue, 16 Mar 2004 14:13:01 -0500
> > > From: Daniel Jacobowitz <drow@false.org>
> > > On Tue, Mar 16, 2004 at 05:26:16PM +0100, Orjan Friberg wrote:
> > > > Would emitting that label *after* the prologue be an option (i.e. 
> > > > leaving us without dwarf2 information while still in the prologue)?
> > > Nope.  Then when you step into the prologue (i.e. "step over") unwind
> > > information will be incorrect.
> > Is that the whole effect, incorrectness for gdb usage *inside*
> > the prologue?
> 
> Probably yes.  So backtraces will not be affected but every bit of
> running is likely to misbehave.

*When* do things go wrong?  Is it all gdb run-type commands all
the time, or is it just when (manually) looking around after
(manually) doing "stepi" into the prologue but not out of it?
Something else?  Just curious in case you have the answer at
hand; I'll try and pursue splitting up EH & debug info.

> > Yeah, there should be a way to emit
> > different dwarf2 EH from that for debug.  Hmm, maybe it would
> > work to just withholding all advance_loc codes except the last
> > one for for_eh && !flag_asynchronous_unwind_tables in
> > gcc/dwarf2out.c (sort of).  And a target-specific hook for
> > "advancing loc", which could use the new gas dwarf2 directives
> > so it's not always advance_loc4.  Getting off-topic here...
> 
> Yeah, that may be the best way to solve this - emit more info in the
> .debug_frame than in .eh_frame, if you aren't supporting asynchronous
> unwinding.  Like throwing from signal handlers taken during prologues,
> et cetera.

Yeah, flag_asynchronous_unwind_tables means all that.  ISTR Java
and Ada uses that, or should.

> GDB gets _very_ cranky when unwind information is specified but not
> correct.

Opportunities for improvements in the failure mode here? ;-)

brgds, H-P


WARNING: multiple messages have this Message-ID
From: Hans-Peter Nilsson <hans-peter.nilsson@axis.com>
To: drow@false.org
Cc: hans-peter.nilsson@axis.com, orjan.friberg@axis.com,
	gdb-patches@sources.redhat.com
Subject: Re: [CRIS] dwarf2 frame sniffer problem?
Date: Fri, 19 Mar 2004 00:09:00 -0000	[thread overview]
Message-ID: <200403162338.i2GNc03e013679@ignucius.se.axis.com> (raw)
Message-ID: <20040319000900.DjYVL03M_kHV5L9nS_k9a70f_clyX3EBL40DF8_Vj-w@z> (raw)
In-Reply-To: <20040316222709.GA19066@nevyn.them.org> (message from Daniel Jacobowitz on Tue, 16 Mar 2004 17:27:09 -0500)

> Date: Tue, 16 Mar 2004 17:27:09 -0500
> From: Daniel Jacobowitz <drow@false.org>

> On Tue, Mar 16, 2004 at 09:50:28PM +0100, Hans-Peter Nilsson wrote:
> > > Date: Tue, 16 Mar 2004 14:13:01 -0500
> > > From: Daniel Jacobowitz <drow@false.org>
> > > On Tue, Mar 16, 2004 at 05:26:16PM +0100, Orjan Friberg wrote:
> > > > Would emitting that label *after* the prologue be an option (i.e. 
> > > > leaving us without dwarf2 information while still in the prologue)?
> > > Nope.  Then when you step into the prologue (i.e. "step over") unwind
> > > information will be incorrect.
> > Is that the whole effect, incorrectness for gdb usage *inside*
> > the prologue?
> 
> Probably yes.  So backtraces will not be affected but every bit of
> running is likely to misbehave.

*When* do things go wrong?  Is it all gdb run-type commands all
the time, or is it just when (manually) looking around after
(manually) doing "stepi" into the prologue but not out of it?
Something else?  Just curious in case you have the answer at
hand; I'll try and pursue splitting up EH & debug info.

> > Yeah, there should be a way to emit
> > different dwarf2 EH from that for debug.  Hmm, maybe it would
> > work to just withholding all advance_loc codes except the last
> > one for for_eh && !flag_asynchronous_unwind_tables in
> > gcc/dwarf2out.c (sort of).  And a target-specific hook for
> > "advancing loc", which could use the new gas dwarf2 directives
> > so it's not always advance_loc4.  Getting off-topic here...
> 
> Yeah, that may be the best way to solve this - emit more info in the
> .debug_frame than in .eh_frame, if you aren't supporting asynchronous
> unwinding.  Like throwing from signal handlers taken during prologues,
> et cetera.

Yeah, flag_asynchronous_unwind_tables means all that.  ISTR Java
and Ada uses that, or should.

> GDB gets _very_ cranky when unwind information is specified but not
> correct.

Opportunities for improvements in the failure mode here? ;-)

brgds, H-P


  reply	other threads:[~2004-03-16 23:38 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-10 16:53 Orjan Friberg
2004-03-10 16:59 ` Daniel Jacobowitz
2004-03-19  0:09   ` Daniel Jacobowitz
2004-03-19  0:09   ` Orjan Friberg
2004-03-11 14:09     ` Orjan Friberg
2004-03-11 15:55     ` Orjan Friberg
2004-03-11 17:05       ` Andrew Cagney
2004-03-19  0:09         ` Orjan Friberg
2004-03-12 12:00           ` Orjan Friberg
2004-03-19  0:09         ` Andrew Cagney
2004-03-11 17:11       ` Daniel Jacobowitz
2004-03-12 10:23         ` Orjan Friberg
2004-03-19  0:09           ` Daniel Jacobowitz
2004-03-12 15:38             ` Daniel Jacobowitz
2004-03-15 10:19             ` Orjan Friberg
2004-03-19  0:09               ` Orjan Friberg
2004-03-16 16:26             ` Orjan Friberg
2004-03-16 19:13               ` Daniel Jacobowitz
2004-03-16 20:51                 ` Hans-Peter Nilsson
2004-03-16 22:27                   ` Daniel Jacobowitz
2004-03-16 23:38                     ` Hans-Peter Nilsson [this message]
2004-03-16 23:58                       ` Daniel Jacobowitz
2004-03-19  0:09                         ` Daniel Jacobowitz
2004-03-19  0:09                       ` Hans-Peter Nilsson
2004-03-19  0:09                     ` Daniel Jacobowitz
2004-03-19  0:09                   ` Hans-Peter Nilsson
2004-03-19  0:09                 ` Daniel Jacobowitz
2004-03-19  0:09               ` Orjan Friberg
2004-03-19  0:09           ` Orjan Friberg
2004-03-19  0:09           ` Orjan Friberg
2004-03-12 13:50             ` Orjan Friberg
2004-03-19  0:09           ` Orjan Friberg
2004-03-12 15:38             ` Orjan Friberg
2004-03-19  0:09         ` Daniel Jacobowitz
2004-03-19  0:09       ` Orjan Friberg
2004-03-19  0:09 ` Orjan Friberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200403162338.i2GNc03e013679@ignucius.se.axis.com \
    --to=hans-peter.nilsson@axis.com \
    --cc=drow@false.org \
    --cc=gdb-patches@sources.redhat.com \
    --cc=orjan.friberg@axis.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox