From fb0f5031bbbe2bed505fe413e178e05807e8db19 Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@polymtl.ca>
Date: Wed, 13 Jan 2021 14:32:23 -0500
Subject: [PATCH] gdb: turn arc_debug into a bool

Shahab suggested we get rid of the verbosity level for the ARC debug
logging [1].  This patch does that, before doing any other change.

gdb/ChangeLog:

	* arc-tdep.h (arc_debug): Change type to bool.
	* arc-tdep.c (arc_debug): Change type to bool.
	(arc_analyze_prologue): Adjust.
	(_initialize_arc_tdep): Use add_setshow_boolean_cmd.
	* arc-linux-nat.c (ps_get_thread_area): Adjust.

[1] https://sourceware.org/pipermail/gdb-patches/2021-January/175075.html

Change-Id: I16688bd42ed8978ae1acf57012c8d41a943044a5
---
 gdb/ChangeLog       |  8 ++++++++
 gdb/arc-linux-nat.c |  2 +-
 gdb/arc-tdep.c      | 16 ++++++++--------
 gdb/arc-tdep.h      |  2 +-
 4 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 58392b25cd9..8b40c5a232c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2021-01-13  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* arc-tdep.h (arc_debug): Change type to bool.
+	* arc-tdep.c (arc_debug): Change type to bool.
+	(arc_analyze_prologue): Adjust.
+	(_initialize_arc_tdep): Use add_setshow_boolean_cmd.
+	* arc-linux-nat.c (ps_get_thread_area): Adjust.
+
 2021-01-13  Simon Marchi  <simon.marchi@polymtl.ca>
 
 	* auto-load.c (auto_load_objfile_script_1): Use bool.
diff --git a/gdb/arc-linux-nat.c b/gdb/arc-linux-nat.c
index db5d44312a6..b03363a4865 100644
--- a/gdb/arc-linux-nat.c
+++ b/gdb/arc-linux-nat.c
@@ -295,7 +295,7 @@ ps_err_e
 ps_get_thread_area (struct ps_prochandle *ph, lwpid_t lwpid, int idx,
 		    void **base)
 {
-  if (arc_debug >= 2)
+  if (arc_debug)
     debug_printf ("arc-linux-nat: ps_get_thread_area called");
 
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c
index 9b845711211..e2f855142e1 100644
--- a/gdb/arc-tdep.c
+++ b/gdb/arc-tdep.c
@@ -87,7 +87,7 @@ struct arc_frame_cache
 
 /* Global debug flag.  */
 
-int arc_debug;
+bool arc_debug;
 
 /* List of "maintenance print arc" commands.  */
 
@@ -1421,7 +1421,7 @@ arc_analyze_prologue (struct gdbarch *gdbarch, const CORE_ADDR entrypoint,
       arc_insn_decode (current_prologue_end, &di, arc_delayed_print_insn,
 		       &insn);
 
-      if (arc_debug >= 2)
+      if (arc_debug)
 	arc_insn_dump (insn);
 
       /* If this instruction is in the prologue, fields in the cache will be
@@ -2517,10 +2517,10 @@ _initialize_arc_tdep ()
 	   &maintenance_print_arc_list);
 
   /* Debug internals for ARC GDB.  */
-  add_setshow_zinteger_cmd ("arc", class_maintenance,
-			    &arc_debug,
-			    _("Set ARC specific debugging."),
-			    _("Show ARC specific debugging."),
-			    _("Non-zero enables ARC specific debugging."),
-			    NULL, NULL, &setdebuglist, &showdebuglist);
+  add_setshow_boolean_cmd ("arc", class_maintenance,
+			   &arc_debug,
+			   _("Set ARC specific debugging."),
+			   _("Show ARC specific debugging."),
+			   _("When set, ARC specific debugging is enabled."),
+			   NULL, NULL, &setdebuglist, &showdebuglist);
 }
diff --git a/gdb/arc-tdep.h b/gdb/arc-tdep.h
index 70fc3d95c48..575cd28cacd 100644
--- a/gdb/arc-tdep.h
+++ b/gdb/arc-tdep.h
@@ -112,7 +112,7 @@ enum arc_regnum
 
 #define arc_print(fmt, args...) fprintf_unfiltered (gdb_stdlog, fmt, ##args)
 
-extern int arc_debug;
+extern bool arc_debug;
 
 /* Target-dependent information.  */