From: Jeff Johnston <jjohnstn@redhat.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA]: Fix for pending breakpoints in manually loaded/unloaded shlibs
Date: Wed, 18 Aug 2004 19:22:00 -0000 [thread overview]
Message-ID: <4123AC6E.8000300@redhat.com> (raw)
In-Reply-To: <20040818135621.GA26257@nevyn.them.org>
Daniel Jacobowitz wrote:
> On Wed, Aug 11, 2004 at 04:12:07PM -0400, Jeff Johnston wrote:
>
>>Ok?
>
>
> Sorry to keep picking nits; while we discuss the issue of the new
> observer I went over the patch again for minor problems.
>
>
>>+/* Disable any breakpoints that are in in an unloaded shared library. Only
>>+ apply to enabled breakpoints, disabled ones can just stay disabled. */
>>+
>>+void
>>+disable_breakpoints_in_unloaded_shlib (struct so_list *solib)
>>+{
>>+ struct breakpoint *b;
>>+ int disabled_shlib_breaks = 0;
>>+
>>+ /* See also: insert_breakpoints, under DISABLE_UNSETTABLE_BREAK. */
>
>
> Two spaces after a period, please.
>
>
>>+ ALL_BREAKPOINTS (b)
>>+ {
>>+#if defined (PC_SOLIB)
>
>
> I think someone pointed out that you've #ifdef'd out the entire body of
> this loop. Might as well include the whole loop. The #ifdef is nasty,
> but that's a preexisting problem.
>
>
>>+ if ((b->loc->loc_type == bp_loc_hardware_breakpoint
>>+ || b->loc->loc_type == bp_loc_software_breakpoint)
>>+ && breakpoint_enabled (b)
>>+ && !b->loc->duplicate)
>>+ {
>>+ char *so_name = PC_SOLIB (b->loc->address);
>
>
> While I'm ranting about preexisting problems, it would be nice if
> PC_SOLIB returned the solib, instead of just its name... but enh.
>
>
>>+ if (so_name
>>+ && !strcmp (so_name, solib->so_name))
>>+ {
>>+ b->enable_state = bp_shlib_disabled;
>>+ /* At this point, we cannot rely on remove_breakpoint
>>+ succeeding so we must mark the breakpoint as not inserted
>>+ to prevent future errors occurring in remove_breakpoints. */
>>+ b->loc->inserted = 0;
>>+ if (!disabled_shlib_breaks)
>>+ {
>>+ target_terminal_ours_for_output ();
>>+ warning ("Temporarily disabling unloaded shared library breakpoints:");
>>+ }
>>+ disabled_shlib_breaks = 1;
>>+ warning ("breakpoint #%d ", b->number);
>
>
> I think you're missing a space after the colon, in the first warning.
> Also, this use of multiple warning() statements is neither i18n
> friendly nor MI/GUI friendly - you may get a separate dialog box for
> each. I believe other places do this with sprintf; still not 100% i18n
> friendly, but avoids the MI/GUI problems. I can't find an example
> offhand.
>
What you do want to see so I don't waste my time on this. As you already know,
this routine was copied from the routine which disables shared library
breakpoints in breakpoint.c. Is it sufficient to just issue the warning that I
am temporarily disabling unloaded shared library breakpoints and not spell out
each breakpoint in turn? I can see this as really annoying and pointless to an
end-user if there are hundreds or thousands of breakpoints.
-- Jeff J.
next prev parent reply other threads:[~2004-08-18 19:22 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-10 19:09 Jeff Johnston
2004-08-10 19:45 ` Kevin Buettner
2004-08-11 4:07 ` Eli Zaretskii
2004-08-11 15:58 ` Jeff Johnston
2004-08-11 16:58 ` Andrew Cagney
2004-08-11 17:59 ` Eli Zaretskii
2004-08-11 20:42 ` Andrew Cagney
2004-08-11 20:47 ` Daniel Jacobowitz
2004-08-11 22:19 ` Andrew Cagney
2004-08-12 12:58 ` Daniel Jacobowitz
2004-08-12 13:16 ` New observer objfile_mapped; was Andrew Cagney
2004-08-12 13:18 ` Daniel Jacobowitz
2004-08-12 3:45 ` [RFA]: Fix for pending breakpoints in manually loaded/unloaded shlibs Eli Zaretskii
2004-08-12 12:10 ` Andrew Cagney
2004-08-12 18:49 ` Eli Zaretskii
2004-08-12 20:44 ` Andrew Cagney
2004-08-14 11:50 ` Eli Zaretskii
2004-08-18 13:45 ` Daniel Jacobowitz
2004-08-19 3:57 ` Eli Zaretskii
2004-08-11 8:09 ` Michael Chastain
2004-08-11 15:42 ` Jeff Johnston
2004-08-12 13:05 ` Michael Chastain
2004-08-12 13:33 ` Michael Chastain
2004-08-12 17:47 ` Jeff Johnston
2004-08-12 18:59 ` Michael Chastain
2004-08-12 20:23 ` Jeff Johnston
2004-08-11 17:12 ` Daniel Jacobowitz
2004-08-11 20:12 ` Jeff Johnston
2004-08-18 13:56 ` Daniel Jacobowitz
2004-08-18 19:22 ` Jeff Johnston [this message]
2004-08-18 19:39 ` Daniel Jacobowitz
2004-08-18 20:03 ` Jeff Johnston
2004-08-19 4:01 ` Eli Zaretskii
2004-09-01 15:15 ` Andrew Cagney
2004-09-01 18:01 ` Jeff Johnston
2004-09-01 19:30 ` Michael Chastain
2004-09-01 20:44 ` Jeff Johnston
2004-09-01 20:59 ` Michael Chastain
2004-09-01 23:27 ` Jeff Johnston
2004-09-02 3:54 ` Eli Zaretskii
2004-08-23 21:33 ` Jeff Johnston
2004-08-23 22:09 ` Michael Chastain
2004-08-23 22:35 ` Jeff Johnston
2004-08-24 2:26 ` Michael Chastain
2004-08-24 15:51 ` Jeff Johnston
2004-08-24 16:04 ` Michael Chastain
2004-08-12 2:48 ` Andrew Cagney
2004-08-12 3:54 ` 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=4123AC6E.8000300@redhat.com \
--to=jjohnstn@redhat.com \
--cc=drow@false.org \
--cc=gdb-patches@sources.redhat.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