From: Tom Tromey Date: Fri, 9 Jan 2026 19:15:43 +0000 (-0700) Subject: Remove the believe_pcc_promotion gdbarch hook X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86cd099eb245d1fd9a05e06235a5740dc66d9d73;p=thirdparty%2Fbinutils-gdb.git Remove the believe_pcc_promotion gdbarch hook The gdbarch believe_pcc_promotion hook was stabs-specific, and so it can be removed. --- diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index 041cffb7a0d..48f83dd57c6 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -2308,8 +2308,6 @@ arc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_cannot_fetch_register (gdbarch, arc_cannot_fetch_register); set_gdbarch_cannot_store_register (gdbarch, arc_cannot_store_register); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); - set_gdbarch_return_value (gdbarch, arc_return_value); set_gdbarch_skip_prologue (gdbarch, arc_skip_prologue); diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c index 8071f651d91..5e133016645 100644 --- a/gdb/bfin-tdep.c +++ b/gdb/bfin-tdep.c @@ -814,7 +814,6 @@ bfin_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_register_name (gdbarch, bfin_register_name); set_gdbarch_register_type (gdbarch, bfin_register_type); set_gdbarch_push_dummy_call (gdbarch, bfin_push_dummy_call); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); set_gdbarch_return_value (gdbarch, bfin_return_value); set_gdbarch_skip_prologue (gdbarch, bfin_skip_prologue); set_gdbarch_inner_than (gdbarch, core_addr_lessthan); diff --git a/gdb/gdbarch-gen.c b/gdb/gdbarch-gen.c index 6560ef8dfc3..73e0b84c6dc 100644 --- a/gdb/gdbarch-gen.c +++ b/gdb/gdbarch-gen.c @@ -100,7 +100,6 @@ struct gdbarch gdbarch_cannot_fetch_register_ftype *cannot_fetch_register = cannot_register_not; gdbarch_cannot_store_register_ftype *cannot_store_register = cannot_register_not; gdbarch_get_longjmp_target_ftype *get_longjmp_target = nullptr; - int believe_pcc_promotion = 0; gdbarch_convert_register_p_ftype *convert_register_p = generic_convert_register_p; gdbarch_register_to_value_ftype *register_to_value = nullptr; gdbarch_value_to_register_ftype *value_to_register = nullptr; @@ -357,7 +356,6 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of cannot_fetch_register, invalid_p == 0. */ /* Skip verify of cannot_store_register, invalid_p == 0. */ /* Skip verify of get_longjmp_target, has predicate. */ - /* Skip verify of believe_pcc_promotion, invalid_p == 0. */ /* Skip verify of convert_register_p, invalid_p == 0. */ /* Skip verify of register_to_value, invalid_p == 0. */ /* Skip verify of value_to_register, invalid_p == 0. */ @@ -744,9 +742,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) gdb_printf (file, "gdbarch_dump: get_longjmp_target = <%s>\n", host_address_to_string (gdbarch->get_longjmp_target)); - gdb_printf (file, - "gdbarch_dump: believe_pcc_promotion = %s\n", - plongest (gdbarch->believe_pcc_promotion)); gdb_printf (file, "gdbarch_dump: convert_register_p = <%s>\n", host_address_to_string (gdbarch->convert_register_p)); @@ -2373,23 +2368,6 @@ set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, gdbarch->get_longjmp_target = get_longjmp_target; } -int -gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - /* Skip verify of believe_pcc_promotion, invalid_p == 0. */ - if (gdbarch_debug >= 2) - gdb_printf (gdb_stdlog, "gdbarch_believe_pcc_promotion called\n"); - return gdbarch->believe_pcc_promotion; -} - -void -set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, - int believe_pcc_promotion) -{ - gdbarch->believe_pcc_promotion = believe_pcc_promotion; -} - int gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type) { diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h index 67f17ea8519..7b3396c4f81 100644 --- a/gdb/gdbarch-gen.h +++ b/gdb/gdbarch-gen.h @@ -380,9 +380,6 @@ typedef int (gdbarch_get_longjmp_target_ftype) (const frame_info_ptr &frame, COR extern int gdbarch_get_longjmp_target (struct gdbarch *gdbarch, const frame_info_ptr &frame, CORE_ADDR *pc); extern void set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype *get_longjmp_target); -extern int gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch); -extern void set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, int believe_pcc_promotion); - typedef int (gdbarch_convert_register_p_ftype) (struct gdbarch *gdbarch, int regnum, struct type *type); extern int gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type); extern void set_gdbarch_convert_register_p (struct gdbarch *gdbarch, gdbarch_convert_register_p_ftype *convert_register_p); diff --git a/gdb/gdbarch_components.py b/gdb/gdbarch_components.py index a63b9d96031..e0fd82c3002 100644 --- a/gdb/gdbarch_components.py +++ b/gdb/gdbarch_components.py @@ -727,12 +727,6 @@ FRAME corresponds to the longjmp frame. predicate=True, ) -Value( - type="int", - name="believe_pcc_promotion", - invalid=False, -) - Method( type="int", name="convert_register_p", diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 5e828b04f0e..29ea499a72b 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -1359,8 +1359,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_long_double_bit (gdbarch, 4 * TARGET_CHAR_BIT); set_gdbarch_long_double_format (gdbarch, floatformats_ieee_single); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); - /* Hook in the DWARF CFI frame unwinder. */ dwarf2_append_unwinders (gdbarch); frame_unwind_append_unwinder (gdbarch, &h8300_frame_unwind); diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index 7d74c82534f..ae5f5328484 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -3079,7 +3079,6 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_sp_regnum (gdbarch, HPPA_SP_REGNUM); set_gdbarch_fp0_regnum (gdbarch, HPPA_FP0_REGNUM); set_gdbarch_addr_bits_remove (gdbarch, hppa_addr_bits_remove); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); set_gdbarch_read_pc (gdbarch, hppa_read_pc); set_gdbarch_write_pc (gdbarch, hppa_write_pc); diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c index b4f8aa679b2..2c4eb385ece 100644 --- a/gdb/m68hc11-tdep.c +++ b/gdb/m68hc11-tdep.c @@ -1521,8 +1521,6 @@ m68hc11_gdbarch_init (struct gdbarch_info info, set_gdbarch_elf_make_msymbol_special (gdbarch, m68hc11_elf_make_msymbol_special); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); - return gdbarch; } diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index eb73800267b..cd4e56edca0 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -1271,7 +1271,6 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_inner_than (gdbarch, core_addr_lessthan); set_gdbarch_frame_align (gdbarch, m68k_frame_align); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); if (flavour == m68k_coldfire_flavour || flavour == m68k_fido_flavour) set_gdbarch_decr_pc_after_break (gdbarch, 2); diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index ab17126e50e..9c3b5e99bcc 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -8452,22 +8452,9 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) info.tdesc_data = tdesc_data.get (); gdbarch_init_osabi (info, gdbarch); - switch (info.osabi) - { - case GDB_OSABI_LINUX: - case GDB_OSABI_NETBSD: - case GDB_OSABI_UNKNOWN: - frame_unwind_append_unwinder (gdbarch, &rs6000_epilogue_frame_unwind); - frame_unwind_append_unwinder (gdbarch, &rs6000_frame_unwind); - frame_base_append_sniffer (gdbarch, rs6000_frame_base_sniffer); - break; - default: - set_gdbarch_believe_pcc_promotion (gdbarch, 1); - - frame_unwind_append_unwinder (gdbarch, &rs6000_epilogue_frame_unwind); - frame_unwind_append_unwinder (gdbarch, &rs6000_frame_unwind); - frame_base_append_sniffer (gdbarch, rs6000_frame_base_sniffer); - } + frame_unwind_append_unwinder (gdbarch, &rs6000_epilogue_frame_unwind); + frame_unwind_append_unwinder (gdbarch, &rs6000_frame_unwind); + frame_base_append_sniffer (gdbarch, rs6000_frame_base_sniffer); set_tdesc_pseudo_register_type (gdbarch, rs6000_pseudo_register_type); set_tdesc_pseudo_register_reggroup_p (gdbarch, diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 7df7efa8414..6cf5acbc542 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -7273,7 +7273,6 @@ 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_believe_pcc_promotion (gdbarch, 0); set_gdbarch_char_signed (gdbarch, 0); /* S/390 GNU/Linux uses either 64-bit or 128-bit long doubles. diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index 81d4ba2a175..4b582c5cf1e 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -2265,8 +2265,6 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_return_in_first_hidden_param_p (gdbarch, sh_return_in_first_hidden_param_p); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); - set_gdbarch_frame_align (gdbarch, sh_frame_align); frame_base_set_default (gdbarch, &sh_frame_base); diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c index 6d650e96781..48a38df7480 100644 --- a/gdb/vax-tdep.c +++ b/gdb/vax-tdep.c @@ -493,7 +493,6 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* Misc info */ set_gdbarch_deprecated_function_start_offset (gdbarch, 2); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); frame_base_set_default (gdbarch, &vax_frame_base); diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c index 4d66d6f4142..d9f81f4167b 100644 --- a/gdb/xtensa-tdep.c +++ b/gdb/xtensa-tdep.c @@ -3194,8 +3194,6 @@ xtensa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* To call functions from GDB using dummy frame. */ set_gdbarch_push_dummy_call (gdbarch, xtensa_push_dummy_call); - set_gdbarch_believe_pcc_promotion (gdbarch, 1); - set_gdbarch_return_value (gdbarch, xtensa_return_value); /* Advance PC across any prologue instructions to reach "real" code. */