public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Tom Tromey <tom@tromey.com>
To: Guinevere Larsen <blarsen@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 4/4] GDB: introduce ability to disable frame unwinders
Date: Fri, 08 Mar 2024 10:22:10 -0700	[thread overview]
Message-ID: <87le6sr64d.fsf@tromey.com> (raw)
In-Reply-To: <20240306125135.766567-5-blarsen@redhat.com> (Guinevere Larsen's message of "Wed, 6 Mar 2024 13:51:35 +0100")

>>>>> Guinevere Larsen <blarsen@redhat.com> writes:

 
> +static enum frame_unwind_class
> +str_to_frame_unwind_class (const char **c_str)

Comment.

> +{
> +  std::string full_name = "FRAME_UNWIND_";
> +  const int start_length = full_name.length ();
> +  if (strncasecmp (*c_str, full_name.c_str (), start_length) == 0)
> +    full_name = *c_str;

In an earlier patch I was wondering how useful those FRAME_UNWIND_
strings were for the maint output.  Maybe just using human names here
would be overall better.

Then this could just call streq.

Anyway if you want to keep this approach, it's weird to allocate a
string and then use the C API.  Perhaps a string_view would be better.

 
> +/* Helper function to both enable and disable frame unwinders.
> +   if ENABLE is true, this call will be enabling unwinders,
> +   otherwise the unwinders will be disabled.  */
> +static void
> +enable_disable_frame_unwinders (const char *args, int from_tty, bool enable)
> +{
> +
> +  reinit_frame_cache ();

Stray blank line.

> +  if (args == nullptr)
> +    {
> +      error (_("specify which frame unwinder(s) should be %s"),
> +	     (enable)? "enabled" : "disabled");
> +    }

No braces.

> +  /* First see if the user wants to change all unwinders.  */
> +  if (check_for_argument (&args, "-all"))
> +    {
> +      for (const frame_unwind *u : unwinder_list)
> +	{
> +	  u->set_enabled (enable);
> +	}

This also looks over-braced.

> +  add_cmd ("disable", class_maintenance, maintenance_disable_frame_unwinders,
> +	   _("\
> +Disable one or more frame unwinder(s).\n\
> +Usage: maint frame-unwinder disable [OPTION] UNWINDER\n\
> +\n\
> +The meaning of UNWINDER depends on the OPTION given. These are the possibilities:\n\
> +\t-all    - UNWINDER is ignored. All available unwinders will be disabled\n\
> +\t-name   - UNWINDER is the exact name of the frame unwinder is to be disabled\n\
> +\t-class  - UNWINDER is the class of unwinders to be disabled.\n\

I guess I'd write that more like

disable [-all | -name UNWINDER | -class NAME]

or something like that, rather than spelling out that UNWINDER is
ignored in one case.


I think there's probably a bug in bugzilla about disabling unwinders, so
this should probably have a Bug: trailer.

Tom

  parent reply	other threads:[~2024-03-08 17:22 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-06 12:51 [PATCH 0/4] Modernize frame unwinders and add disable feature Guinevere Larsen
2024-03-06 12:51 ` [PATCH 1/4] gdb: make gdbarch store a vector of frame unwinders Guinevere Larsen
2024-03-08 16:34   ` Tom Tromey
2024-03-11 10:51     ` Guinevere Larsen
2024-03-11 18:01       ` Tom Tromey
2024-03-06 12:51 ` [PATCH 2/4] gdb: add "unwinder class" to " Guinevere Larsen
2024-03-08 16:40   ` Tom Tromey
2024-03-06 12:51 ` [PATCH 3/4] gdb: Migrate frame unwinders to use C++ classes Guinevere Larsen
2024-03-07 11:01   ` Lancelot SIX
2024-03-07 11:04     ` Guinevere Larsen
2024-03-08 17:07   ` Tom Tromey
2024-03-12 16:24     ` Guinevere Larsen
2024-03-06 12:51 ` [PATCH 4/4] GDB: introduce ability to disable frame unwinders Guinevere Larsen
2024-03-06 13:47   ` Eli Zaretskii
2024-03-06 14:07     ` Guinevere Larsen
2024-03-06 14:16       ` Eli Zaretskii
2024-03-08 17:22   ` Tom Tromey [this message]
2024-03-11 14:09     ` Guinevere Larsen
2024-03-11 14:56 ` [PATCH 0/4] Modernize frame unwinders and add disable feature Luis Machado
2024-03-11 15:00   ` Guinevere Larsen
2024-03-11 15:10     ` Luis Machado
2024-03-13 12:08       ` Guinevere Larsen
2024-03-13 12:44         ` Luis Machado

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=87le6sr64d.fsf@tromey.com \
    --to=tom@tromey.com \
    --cc=blarsen@redhat.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).