From: Eli Zaretskii <eliz@gnu.org>
To: Joel Brobecker <brobecker@adacore.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFA] unexpected multiple location for breakpoint
Date: Wed, 29 Dec 2010 19:30:00 -0000 [thread overview]
Message-ID: <83oc84bgv3.fsf@gnu.org> (raw)
In-Reply-To: <20101229054841.GF2396@adacore.com>
> Date: Wed, 29 Dec 2010 09:48:41 +0400
> From: Joel Brobecker <brobecker@adacore.com>
> Cc: gdb-patches@sourceware.org
>
> > > If this is a bug, then the only solution I can think of is inserting
> > > a breakpoint at *every* instances of line 53, regardless of
> > > lexical-block relationships.
> >
> > When would that be worse than what we have now?
>
> I worry about the effect at -O0. It is common to see the same source
> line being split across the code. For instance, with conditional
> loops, the condition evaluation is often placed at the end of the
> loop, and its code is associated to the initial line.
Are you saying that GCC does that under -O0? I'd be surprised. But I
realize that it does that for higher optimization levels. Still, my
question is how would it be worse to have the inferior stop several
times through the loop than not stop at all?
> Note that we also have the following explicit comment in the code:
>
> /* For optimized code, compiler can scatter one source line accross
> disjoint ranges of PC values, even when no duplicate functions
> or inline functions are involved. For example, 'for (;;)' inside
> non-template non-inline non-ctor-or-dtor function can result
> in two PC ranges. In this case, we don't want to set breakpoint
> on first PC of each range. [...] */
>
> For the record, attached is the patch that I used. It was written on
> top of the initially proposed patch (in this thread), but just purely
> for convenience. The piece that checks the next entry is to avoid
> inserting a breakpoint on 2 blocks if the two blocks are consecutive.
That's fine, and I think it will take care of the most blatant
offenders.
next prev parent reply other threads:[~2010-12-29 17:57 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-23 1:10 Joel Brobecker
2010-11-26 17:29 ` Joel Brobecker
2010-11-27 18:35 ` Daniel Jacobowitz
2010-12-10 12:23 ` Joel Brobecker
2010-12-28 11:50 ` Joel Brobecker
2010-12-28 20:15 ` Eli Zaretskii
2010-12-29 6:08 ` Joel Brobecker
2010-12-29 8:08 ` Joel Brobecker
2010-12-29 19:30 ` Eli Zaretskii [this message]
2010-12-30 20:40 ` Joel Brobecker
2010-12-30 21:03 ` Eli Zaretskii
2010-12-31 6:35 ` Michael Snyder
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=83oc84bgv3.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