diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 064afd7c22639c4fc3871fcc9e2cc21a08f0dd40..6018c632f91f7c2ed04ed445b3bbefe498301f6b 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -1658,7 +1658,7 @@ int gdbarch_wchar_signed (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - /* Check variable changed from pre-default. */ + /* Check variable changed from its initial value. */ gdb_assert (gdbarch->wchar_signed != -1); if (gdbarch_debug >= 2) gdb_printf (gdb_stdlog, "gdbarch_wchar_signed called\n"); @@ -1710,7 +1710,7 @@ int gdbarch_addr_bit (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - /* Check variable changed from pre-default. */ + /* Check variable changed from its initial value. */ gdb_assert (gdbarch->addr_bit != 0); if (gdbarch_debug >= 2) gdb_printf (gdb_stdlog, "gdbarch_addr_bit called\n"); @@ -1728,7 +1728,7 @@ int gdbarch_dwarf2_addr_size (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - /* Check variable changed from pre-default. */ + /* Check variable changed from its initial value. */ gdb_assert (gdbarch->dwarf2_addr_size != 0); if (gdbarch_debug >= 2) gdb_printf (gdb_stdlog, "gdbarch_dwarf2_addr_size called\n"); @@ -1746,7 +1746,7 @@ int gdbarch_char_signed (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - /* Check variable changed from pre-default. */ + /* Check variable changed from its initial value. */ gdb_assert (gdbarch->char_signed != -1); if (gdbarch_debug >= 2) gdb_printf (gdb_stdlog, "gdbarch_char_signed called\n"); @@ -1901,7 +1901,7 @@ int gdbarch_num_regs (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - /* Check variable changed from pre-default. */ + /* Check variable changed from its initial value. */ gdb_assert (gdbarch->num_regs != -1); if (gdbarch_debug >= 2) gdb_printf (gdb_stdlog, "gdbarch_num_regs called\n"); @@ -3919,8 +3919,8 @@ const char * gdbarch_gcore_bfd_target (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - /* Check variable changed from pre-default. */ - gdb_assert (gdbarch->gcore_bfd_target != 0); + /* Check predicate was used. */ + gdb_assert (gdbarch_gcore_bfd_target_p (gdbarch)); if (gdbarch_debug >= 2) gdb_printf (gdb_stdlog, "gdbarch_gcore_bfd_target called\n"); return gdbarch->gcore_bfd_target; @@ -3995,8 +3995,8 @@ ULONGEST gdbarch_max_insn_length (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - /* Check variable changed from pre-default. */ - gdb_assert (gdbarch->max_insn_length != 0); + /* Check predicate was used. */ + gdb_assert (gdbarch_max_insn_length_p (gdbarch)); if (gdbarch_debug >= 2) gdb_printf (gdb_stdlog, "gdbarch_max_insn_length called\n"); return gdbarch->max_insn_length; diff --git a/gdb/gdbarch.py b/gdb/gdbarch.py index 7ff2cabe2e89b30851e176fe8423ddb113b8892a..62592c1b13ee610fc3c477c2e1bb59cdaccf33e3 100755 --- a/gdb/gdbarch.py +++ b/gdb/gdbarch.py @@ -351,15 +351,13 @@ with open("gdbarch.c", "w") as f: if isinstance(c.invalid, str): print(" /* Check variable is valid. */", file=f) print(f" gdb_assert (!({c.invalid}));", file=f) - elif c.postdefault is not None and c.predefault is not None: - print(" /* Check variable changed from pre-default. */", file=f) - print(f" gdb_assert (gdbarch->{c.name} != {c.predefault});", file=f) - elif c.invalid: - if c.predefault: - print(" /* Check variable changed from pre-default. */", file=f) - print( - f" gdb_assert (gdbarch->{c.name} != {c.predefault});", file=f - ) + elif c.predicate: + print(" /* Check predicate was used. */", file=f) + print(f" gdb_assert (gdbarch_{c.name}_p (gdbarch));", file=f) + elif c.invalid or c.postdefault is not None: + init_value = c.predefault or "0" + print(" /* Check variable changed from its initial value. */", file=f) + print(f" gdb_assert (gdbarch->{c.name} != {init_value});", file=f) else: print(f" /* Skip verify of {c.name}, invalid_p == 0 */", file=f) print(" if (gdbarch_debug >= 2)", file=f)