[pushed] Restore some windows-tdep.c code

Message ID 20200419014112.22277-1-tom@tromey.com
State New
Headers show
Series
  • [pushed] Restore some windows-tdep.c code
Related show

Commit Message

Tom Tromey April 19, 2020, 1:41 a.m.
When I removed init_w32_command_list, I weirdly neglected to see if it
was called anywhere else.  This patch restores the function, which is
called from windows-nat.c.  Sorry about the breakage.

Is it possible to have a windows-native gdb that isn't also using
windows-tdep?

Anyway, I'm checking this in.

gdb/ChangeLog
2020-04-18  Tom Tromey  <tom@tromey.com>

	* windows-tdep.c (init_w32_command_list)
	(w32_prefix_command_valid): Restore.
	(_initialize_windows_tdep): Call init_w32_command_list.
---
 gdb/ChangeLog      |  6 ++++++
 gdb/windows-tdep.c | 20 ++++++++++++++++----
 2 files changed, 22 insertions(+), 4 deletions(-)

-- 
2.17.2

Comments

Rogerio Alves via Gdb-patches April 19, 2020, 1:43 a.m. | #1
On Sat, Apr 18, 2020, 20:41 Tom Tromey <tom@tromey.com> wrote:

> When I removed init_w32_command_list, I weirdly neglected to see if it

> was called anywhere else.  This patch restores the function, which is

> called from windows-nat.c.  Sorry about the breakage.

>

> Is it possible to have a windows-native gdb that isn't also using

> windows-tdep?

>

> Anyway, I'm checking this in.

>

> gdb/ChangeLog

> 2020-04-18  Tom Tromey  <tom@tromey.com>

>

>         * windows-tdep.c (init_w32_command_list)

>         (w32_prefix_command_valid): Restore.

>         (_initialize_windows_tdep): Call init_w32_command_list.

> ---

>  gdb/ChangeLog      |  6 ++++++

>  gdb/windows-tdep.c | 20 ++++++++++++++++----

>  2 files changed, 22 insertions(+), 4 deletions(-)

>

> diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c

> index 4af797f9469..e2b7960829f 100644

> --- a/gdb/windows-tdep.c

> +++ b/gdb/windows-tdep.c

> @@ -602,6 +602,21 @@ show_maint_show_all_tib (struct ui_file *file, int

> from_tty,

>                             "Thread Information Block is %s.\n"), value);

>  }

>

> +

> +static int w32_prefix_command_valid = 0;

> +void

> +init_w32_command_list (void)

> +{

> +  if (!w32_prefix_command_valid)

> +    {

> +      add_basic_prefix_cmd

> +       ("w32", class_info,

> +        _("Print information specific to Win32 debugging."),

> +        &info_w32_cmdlist, "info w32 ", 0, &infolist);

> +      w32_prefix_command_valid = 1;

>


Seems like this could be made a bool.

+    }
> +}

> +

>  /* Implementation of `gdbarch_gdb_signal_to_target' for Windows.  */

>

>  static int

> @@ -1077,10 +1092,7 @@ _initialize_windows_tdep ()

>    windows_gdbarch_data_handle

>      = gdbarch_data_register_post_init (init_windows_gdbarch_data);

>

> -  add_basic_prefix_cmd ("w32", class_info,

> -                       _("Print information specific to Win32

> debugging."),

> -                       &info_w32_cmdlist, "info w32 ", 0, &infolist);

> -

> +  init_w32_command_list ();

>    add_cmd ("thread-information-block", class_info, display_tib,

>            _("Display thread information block."),

>            &info_w32_cmdlist);

> --

> 2.17.2

>

>
Tom Tromey April 19, 2020, 3:28 p.m. | #2
>>>>> "Christian" == Christian Biesinger <cbiesinger@google.com> writes:


>  Is it possible to have a windows-native gdb that isn't also using

>  windows-tdep?


Christian>  +      w32_prefix_command_valid = 1;

Christian> Seems like this could be made a bool.

Yeah.  I just wanted to revert this bit to as close as possible to the
earlier code.

I guess I was thinking this flag could be removed, but I see now that
both windows-nat and windows-tdep install variables here.  So, I guess
it's needed.

Tom

Patch

diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c
index 4af797f9469..e2b7960829f 100644
--- a/gdb/windows-tdep.c
+++ b/gdb/windows-tdep.c
@@ -602,6 +602,21 @@  show_maint_show_all_tib (struct ui_file *file, int from_tty,
 			    "Thread Information Block is %s.\n"), value);
 }
 
+
+static int w32_prefix_command_valid = 0;
+void
+init_w32_command_list (void)
+{
+  if (!w32_prefix_command_valid)
+    {
+      add_basic_prefix_cmd
+	("w32", class_info,
+	 _("Print information specific to Win32 debugging."),
+	 &info_w32_cmdlist, "info w32 ", 0, &infolist);
+      w32_prefix_command_valid = 1;
+    }
+}
+
 /* Implementation of `gdbarch_gdb_signal_to_target' for Windows.  */
 
 static int
@@ -1077,10 +1092,7 @@  _initialize_windows_tdep ()
   windows_gdbarch_data_handle
     = gdbarch_data_register_post_init (init_windows_gdbarch_data);
 
-  add_basic_prefix_cmd ("w32", class_info,
-			_("Print information specific to Win32 debugging."),
-			&info_w32_cmdlist, "info w32 ", 0, &infolist);
-
+  init_w32_command_list ();
   add_cmd ("thread-information-block", class_info, display_tib,
 	   _("Display thread information block."),
 	   &info_w32_cmdlist);