Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Joel Brobecker <brobecker@adacore.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFA] Fix "break foo" when `foo's prologue ends before line	table
Date: Mon, 11 May 2009 20:49:00 -0000	[thread overview]
Message-ID: <83tz3rxt4p.fsf@gnu.org> (raw)
In-Reply-To: <20090511192709.GG14773@adacore.com>

> Date: Mon, 11 May 2009 21:27:09 +0200
> From: Joel Brobecker <brobecker@adacore.com>
> Cc: gdb-patches@sourceware.org
> 
> I'm always reluctant to introduce code I don't understand, and usually
> leave it out until I see a bug - that's why I was asking. Have you
> tried without this part?

No, but I will.  Keep in mind, though, that the program which I was
using as my test case is just a toy test case.  Even if it works
there, I cannot be sure it will work in more complex cases.  I will
take your word for it, though ;-)

>    foo ()
>    {
>      a ();
>      b ();
>    }
> 
> If for some reason the optimizer rearanged the code like this:
> 
>    foo ()
>    {
>      b ();
>      a ();
>    }

Are such rearrangements permitted?  I mean, are we talking about a
real-life situation here?

> Do you really want "break foo" to break on the line where a () is
> called?

It's hard to say, really.  There are arguments for both, but I
personally tend to think that stopping on the call to `a' is what I'd
want.

What do others think?

>                                        In other words, when I break on
> a function, I expect that by the time I reach that function breakpoint,
> none of the real code has been executed yet - I want to debug the
> function :-).

This could be impossible anyway, if the compiler moves some of the
body into the prologue, right?

> > Is it guaranteed that the line table is always sorted by PC?
> 
> Yep:
> 
> /* The order of entries in the linetable is significant.  They should
>    be sorted by increasing values of the pc field.

Well, granted, I've seen that comment.  But (a) are we sure all of our
comments are necessarily accurate to rely on them?, and (b) it
continues to say

                                                If there is more than
   one entry for a given pc, then I'm not sure what should happen (and
   I not sure whether we currently handle it the best way).

Not very reassuring...


  reply	other threads:[~2009-05-11 20:49 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-09 14:26 Eli Zaretskii
2009-05-11 12:56 ` Joel Brobecker
2009-05-11 18:21   ` Eli Zaretskii
2009-05-11 19:27     ` Joel Brobecker
2009-05-11 20:49       ` Eli Zaretskii [this message]
2009-05-11 21:20         ` Daniel Jacobowitz
2009-05-12  3:13           ` Eli Zaretskii
2009-05-11 21:28         ` Joel Brobecker
2009-05-16 11:18         ` Eli Zaretskii
2009-05-20 23:07           ` Joel Brobecker
2009-05-23 10:20             ` Eli Zaretskii
2009-05-25  7:26               ` Joel Brobecker
2009-05-11 19:42 ` Daniel Jacobowitz
2009-05-11 20:40   ` Eli Zaretskii
2009-05-11 21:19     ` Joel Brobecker
2009-05-12  3:09       ` Eli Zaretskii

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=83tz3rxt4p.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    /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