]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb: change gdbarch_char_signed to bool
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 27 Feb 2026 20:05:04 +0000 (15:05 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 9 Mar 2026 17:15:46 +0000 (13:15 -0400)
Just like the previous commit, but for gdbarch_char_signed.

Change-Id: I4cd1f893c45925722391a0f0bccb82c39595a364
Approved-By: Tom Tromey <tom@tromey.com>
21 files changed:
gdb/amdgpu-tdep.c
gdb/arc-tdep.c
gdb/arm-wince-tdep.c
gdb/csky-tdep.c
gdb/gdbarch-gen.c
gdb/gdbarch-gen.h
gdb/gdbarch_components.py
gdb/h8300-tdep.c
gdb/loongarch-tdep.c
gdb/m68hc11-tdep.c
gdb/mn10300-tdep.c
gdb/msp430-tdep.c
gdb/or1k-tdep.c
gdb/riscv-tdep.c
gdb/rl78-tdep.c
gdb/rs6000-tdep.c
gdb/rx-tdep.c
gdb/s12z-tdep.c
gdb/s390-tdep.c
gdb/v850-tdep.c
gdb/xstormy16-tdep.c

index 5a275165fbb2510aa38be0985876c3b0fa2577ad..2f5c613cb591ac1f67170d7da81e2265af017ad5 100644 (file)
@@ -1056,7 +1056,7 @@ amdgpu_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   amdgpu_gdbarch_tdep *tdep = gdbarch_tdep<amdgpu_gdbarch_tdep> (gdbarch);
 
   /* Data types.  */
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
   set_gdbarch_ptr_bit (gdbarch, 64);
   set_gdbarch_addr_bit (gdbarch, 64);
   set_gdbarch_short_bit (gdbarch, 16);
index 99f002341eed81b1bb1747e31e93786ed9e7700f..9b397514df35a1b0b169d86d9c6b857c0baf9b5c 100644 (file)
@@ -2286,7 +2286,7 @@ arc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_double_format (gdbarch, floatformats_ieee_double);
   set_gdbarch_ptr_bit (gdbarch, 32);
   set_gdbarch_addr_bit (gdbarch, 32);
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
 
   set_gdbarch_write_pc (gdbarch, arc_write_pc);
 
index e484d3a180b10758c69fe14eef466329f1d9ff43..39593f4c3f374f667d538695655fc25dee5150c6 100644 (file)
@@ -128,9 +128,6 @@ arm_wince_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->jb_pc = ARM_WINCE_JB_PC;
   tdep->jb_elt_size = ARM_WINCE_JB_ELEMENT_SIZE;
 
-  /* On ARM WinCE char defaults to signed.  */
-  set_gdbarch_char_signed (gdbarch, 1);
-
   /* Shared library handling.  */
   set_gdbarch_skip_trampoline_code (gdbarch, arm_pe_skip_trampoline_code);
 
index d2161f98bf8e483f6c9f37666af207c0a8f6cc25..da9cdc6e535e1db248042235aab6be816de6b141 100644 (file)
@@ -2852,7 +2852,7 @@ csky_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   /* Support simple overlay manager.  */
   set_gdbarch_overlay_update (gdbarch, simple_overlay_update);
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
 
   if (tdesc_data != nullptr)
     {
index 545cc22e567a550c1507dd2fb074b6481f73686a..338c30d3ed9956ec9d03ee24c2219df6157f9eba 100644 (file)
@@ -68,7 +68,7 @@ struct gdbarch
   int ptr_bit = 4*TARGET_CHAR_BIT;
   int addr_bit = 0;
   int dwarf2_addr_size = 0;
-  int char_signed = -1;
+  bool char_signed = true;
   gdbarch_read_pc_ftype *read_pc = nullptr;
   gdbarch_write_pc_ftype *write_pc = nullptr;
   gdbarch_virtual_frame_pointer_ftype *virtual_frame_pointer = legacy_virtual_frame_pointer;
@@ -316,8 +316,6 @@ verify_gdbarch (struct gdbarch *gdbarch)
   if (gdbarch->dwarf2_addr_size == 0)
     gdbarch->dwarf2_addr_size = gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;
   /* Skip verify of dwarf2_addr_size, invalid_p == 0.  */
-  if (gdbarch->char_signed == -1)
-    gdbarch->char_signed = 1;
   /* Skip verify of char_signed, invalid_p == 0.  */
   /* Skip verify of read_pc, has predicate.  */
   /* Skip verify of write_pc, has predicate.  */
@@ -1733,12 +1731,11 @@ set_gdbarch_dwarf2_addr_size (struct gdbarch *gdbarch,
   gdbarch->dwarf2_addr_size = dwarf2_addr_size;
 }
 
-int
+bool
 gdbarch_char_signed (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  /* Check variable changed from its initial value.  */
-  gdb_assert (gdbarch->char_signed != -1);
+  /* Skip verify of char_signed, invalid_p == 0.  */
   if (gdbarch_debug >= 2)
     gdb_printf (gdb_stdlog, "gdbarch_char_signed called\n");
   return gdbarch->char_signed;
@@ -1746,7 +1743,7 @@ gdbarch_char_signed (struct gdbarch *gdbarch)
 
 void
 set_gdbarch_char_signed (struct gdbarch *gdbarch,
-                        int char_signed)
+                        bool char_signed)
 {
   gdbarch->char_signed = char_signed;
 }
index b53cd38930091b08f836ad23d631820e63ffb4f5..b22a3ad74e3221936303ac807e32c1dad63d7114 100644 (file)
@@ -160,10 +160,12 @@ extern void set_gdbarch_addr_bit (struct gdbarch *gdbarch, int addr_bit);
 extern int gdbarch_dwarf2_addr_size (struct gdbarch *gdbarch);
 extern void set_gdbarch_dwarf2_addr_size (struct gdbarch *gdbarch, int dwarf2_addr_size);
 
-/* One if `char' acts like `signed char', zero if `unsigned char'. */
+/* True if `char' acts like `signed char', false if `unsigned char'.
 
-extern int gdbarch_char_signed (struct gdbarch *gdbarch);
-extern void set_gdbarch_char_signed (struct gdbarch *gdbarch, int char_signed);
+   The default value is true (signed). */
+
+extern bool gdbarch_char_signed (struct gdbarch *gdbarch);
+extern void set_gdbarch_char_signed (struct gdbarch *gdbarch, bool char_signed);
 
 extern bool gdbarch_read_pc_p (struct gdbarch *gdbarch);
 
index 2224426c964a9f476e01cc30b4492308acc92efd..2ecd8debef0879e934413b01565142e425b6d2ea 100644 (file)
@@ -363,12 +363,13 @@ and if Dwarf versions < 4 need to be supported.
 
 Value(
     comment="""
-One if `char' acts like `signed char', zero if `unsigned char'.
+True if `char' acts like `signed char', false if `unsigned char'.
+
+The default value is true (signed).
 """,
-    type="int",
+    type="bool",
     name="char_signed",
-    predefault="-1",
-    postdefault="1",
+    predefault="true",
     invalid=False,
 )
 
index 78edb1d012051ee304bc2d0a1076170f052f1201..1846f79e3132585f7604100d28bc6bb153752441 100644 (file)
@@ -1346,7 +1346,7 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
                                       h8300_breakpoint::bp_from_kind);
   set_gdbarch_push_dummy_call (gdbarch, h8300_push_dummy_call);
 
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
   set_gdbarch_int_bit (gdbarch, 2 * TARGET_CHAR_BIT);
   set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
   set_gdbarch_long_long_bit (gdbarch, 8 * TARGET_CHAR_BIT);
index b0716d5d89bc4a1d81cd23759b651f6aac1bb9eb..664d78a01ada97bb7a509588ceeb5f5768c96576 100644 (file)
@@ -2174,7 +2174,6 @@ loongarch_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_long_double_bit (gdbarch, 128);
   set_gdbarch_long_double_format (gdbarch, floatformats_ieee_quad);
   set_gdbarch_ptr_bit (gdbarch, info.bfd_arch_info->bits_per_address);
-  set_gdbarch_char_signed (gdbarch, 1);
 
   info.target_desc = tdesc;
   info.tdesc_data = tdesc_data.get ();
index 2c4eb385ece8e0a9f50e04a0630e509c0e870564..f131b921dfe08707163ac7c7967c6dafebffff38 100644 (file)
@@ -1480,7 +1480,7 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
   set_gdbarch_long_long_bit (gdbarch, 64);
 
   /* Characters are unsigned.  */
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
 
   /* Set register info.  */
   set_gdbarch_fp0_regnum (gdbarch, -1);
index e74f35674287c9f55f4987b3fbbb9f6224cb0b98..ee80bddaeee617f167d46108b39ba0ad094da251 100644 (file)
@@ -1366,7 +1366,7 @@ mn10300_gdbarch_init (struct gdbarch_info info,
     }
 
   /* By default, chars are unsigned.  */
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
 
   /* Registers.  */
   set_gdbarch_num_regs (gdbarch, num_regs);
index 979869e3f681842bf9f7e542d8d65698d281a728..d91c3c44f3ad470aeeccaacb63afff07d05c5dac 100644 (file)
@@ -943,7 +943,7 @@ msp430_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_register_sim_regno (gdbarch, msp430_register_sim_regno);
 
   /* Data types.  */
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
   set_gdbarch_short_bit (gdbarch, 16);
   set_gdbarch_int_bit (gdbarch, 16);
   set_gdbarch_long_bit (gdbarch, 32);
index 816121be925352e4b103ea1c221202264102f3cf..dc066722f20f42aa2c92d2574c5f17ca6c0f5d82 100644 (file)
@@ -1175,7 +1175,6 @@ or1k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double);
   set_gdbarch_ptr_bit (gdbarch, binfo->bits_per_address);
   set_gdbarch_addr_bit (gdbarch, binfo->bits_per_address);
-  set_gdbarch_char_signed (gdbarch, 1);
 
   /* Information about the target architecture */
   set_gdbarch_return_value (gdbarch, or1k_return_value);
index f98b70d2584fba4c50d810cde1762787d4a95e96..bc6b60699c38dc131320c37b74e711d468737b9f 100644 (file)
@@ -4313,7 +4313,7 @@ riscv_gdbarch_init (struct gdbarch_info info,
   set_gdbarch_long_double_bit (gdbarch, 128);
   set_gdbarch_long_double_format (gdbarch, floatformats_ieee_quad);
   set_gdbarch_ptr_bit (gdbarch, riscv_isa_xlen (gdbarch) * 8);
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
   set_gdbarch_type_align (gdbarch, riscv_type_align);
 
   /* Information about the target architecture.  */
index 34b986775a48ee79ccfc5463dde13cef325dcc36..07cdce13ebc1c7641ee117306b4bf2158d847003 100644 (file)
@@ -1443,7 +1443,7 @@ rl78_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_register_sim_regno (gdbarch, rl78_register_sim_regno);
 
   /* Data types.  */
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
   set_gdbarch_short_bit (gdbarch, 16);
   set_gdbarch_int_bit (gdbarch, 16);
   set_gdbarch_long_bit (gdbarch, 32);
index 444dd5ffc386329a5d73f890a421eb7910746d4d..33d3e9ccd46b117dc184ed0c60862c90d2303c66 100644 (file)
@@ -8371,7 +8371,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_float_bit (gdbarch, 4 * TARGET_CHAR_BIT);
   set_gdbarch_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
   set_gdbarch_long_double_bit (gdbarch, 16 * TARGET_CHAR_BIT);
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
 
   set_gdbarch_frame_align (gdbarch, rs6000_frame_align);
   if (wordsize == 8)
index 1c433fd35e62477a5c3b3c920c2051d757105a29..2e91ae756ce3e89181902f2724424af84228fa88 100644 (file)
@@ -1018,7 +1018,7 @@ rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_skip_prologue (gdbarch, rx_skip_prologue);
 
   /* Target builtin data types.  */
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
   set_gdbarch_short_bit (gdbarch, 16);
   set_gdbarch_int_bit (gdbarch, 32);
   set_gdbarch_long_bit (gdbarch, 32);
index c326b7277a93441e93f8a68e99aa4b15c1b0639c..b95e9f2004688a2b4ef16d9a14aac0a4caa0feea 100644 (file)
@@ -630,7 +630,7 @@ s12z_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_long_long_bit (gdbarch, 32);
   set_gdbarch_ptr_bit (gdbarch, 24);
   set_gdbarch_addr_bit (gdbarch, 24);
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
 
   set_gdbarch_ps_regnum (gdbarch, REG_CCW);
   set_gdbarch_pc_regnum (gdbarch, REG_P);
index ab00b65d6406c7d06d10da5f0b8de4be80ef166a..3c36ab12acb871887c24bd4b5b0f3b53569b05ec 100644 (file)
@@ -7271,7 +7271,7 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   tdesc_arch_data_up tdesc_data = tdesc_data_alloc ();
   info.tdesc_data = tdesc_data.get ();
 
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
 
   /* S/390 GNU/Linux uses either 64-bit or 128-bit long doubles.
      We can safely let them default to 128-bit, since the debug info
index 5021dad1c1dfe8c2895649e6545e22fba56dba40..a373964d6cbdc91928e9cc35c25542f835c46f0f 100644 (file)
@@ -1426,7 +1426,6 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_register_type (gdbarch, v850_register_type);
 
-  set_gdbarch_char_signed (gdbarch, 1);
   set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
   set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
   set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
index b51668169ebf21220151e52f3040f4e2f09defb9..c8a613ff6d5e50bc7bdf4dc93105f79fe53ede8a 100644 (file)
@@ -772,7 +772,7 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_register_name (gdbarch, xstormy16_register_name);
   set_gdbarch_register_type (gdbarch, xstormy16_register_type);
 
-  set_gdbarch_char_signed (gdbarch, 0);
+  set_gdbarch_char_signed (gdbarch, false);
   set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
   set_gdbarch_int_bit (gdbarch, 2 * TARGET_CHAR_BIT);
   set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);