From: Simon Marchi Date: Fri, 9 Jan 2026 16:56:45 +0000 (-0500) Subject: gdb: remove gdbarch_stab_reg_to_regnum X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32a9b85573c3c06de22bf65c4752ee00a4527a25;p=thirdparty%2Fbinutils-gdb.git gdb: remove gdbarch_stab_reg_to_regnum It is unused, presumably since we removed stab support. Change-Id: I71d00707afc4a4a23a1644b4233caaa47f4301e4 Approved-By: Tom Tromey --- diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index 331ef6f0a64..a4a6e9483b2 100755 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -3592,12 +3592,7 @@ amd64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch, set_gdbarch_fp0_regnum (gdbarch, AMD64_ST0_REGNUM); /* %st(0) */ /* The "default" register numbering scheme for AMD64 is referred to - as the "DWARF Register Number Mapping" in the System V psABI. - The preferred debugging format for all known AMD64 targets is - actually DWARF2, and GCC doesn't seem to support DWARF (that is - DWARF-1), but we provide the same mapping just in case. This - mapping is also used for stabs, which GCC does support. */ - set_gdbarch_stab_reg_to_regnum (gdbarch, amd64_dwarf_reg_to_regnum); + as the "DWARF Register Number Mapping" in the System V psABI. */ set_gdbarch_dwarf2_reg_to_regnum (gdbarch, amd64_dwarf_reg_to_regnum); /* We don't override SDB_REG_RO_REGNUM, since COFF doesn't seem to diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c index dad0a05c433..d2161f98bf8 100644 --- a/gdb/csky-tdep.c +++ b/gdb/csky-tdep.c @@ -2828,7 +2828,6 @@ csky_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_write_pc (gdbarch, csky_write_pc); csky_add_reggroups (gdbarch); set_gdbarch_register_reggroup_p (gdbarch, csky_register_reggroup_p); - set_gdbarch_stab_reg_to_regnum (gdbarch, csky_dwarf_reg_to_regnum); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, csky_dwarf_reg_to_regnum); dwarf2_frame_set_init_reg (gdbarch, csky_dwarf2_frame_init_reg); diff --git a/gdb/gdbarch-gen.c b/gdb/gdbarch-gen.c index 1f70d37a3fc..f2591709a89 100644 --- a/gdb/gdbarch-gen.c +++ b/gdb/gdbarch-gen.c @@ -85,7 +85,6 @@ struct gdbarch int pc_regnum = -1; int ps_regnum = -1; int fp0_regnum = -1; - gdbarch_stab_reg_to_regnum_ftype *stab_reg_to_regnum = no_op_reg_to_regnum; gdbarch_ecoff_reg_to_regnum_ftype *ecoff_reg_to_regnum = no_op_reg_to_regnum; gdbarch_sdb_reg_to_regnum_ftype *sdb_reg_to_regnum = no_op_reg_to_regnum; gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum = no_op_reg_to_regnum; @@ -347,7 +346,6 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of pc_regnum, invalid_p == 0. */ /* Skip verify of ps_regnum, invalid_p == 0. */ /* Skip verify of fp0_regnum, invalid_p == 0. */ - /* Skip verify of stab_reg_to_regnum, invalid_p == 0. */ /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0. */ /* Skip verify of sdb_reg_to_regnum, invalid_p == 0. */ /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0. */ @@ -707,9 +705,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) gdb_printf (file, "gdbarch_dump: fp0_regnum = %s\n", plongest (gdbarch->fp0_regnum)); - gdb_printf (file, - "gdbarch_dump: stab_reg_to_regnum = <%s>\n", - host_address_to_string (gdbarch->stab_reg_to_regnum)); gdb_printf (file, "gdbarch_dump: ecoff_reg_to_regnum = <%s>\n", host_address_to_string (gdbarch->ecoff_reg_to_regnum)); @@ -2156,23 +2151,6 @@ set_gdbarch_fp0_regnum (struct gdbarch *gdbarch, gdbarch->fp0_regnum = fp0_regnum; } -int -gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, int stab_regnr) -{ - gdb_assert (gdbarch != NULL); - gdb_assert (gdbarch->stab_reg_to_regnum != NULL); - if (gdbarch_debug >= 2) - gdb_printf (gdb_stdlog, "gdbarch_stab_reg_to_regnum called\n"); - return gdbarch->stab_reg_to_regnum (gdbarch, stab_regnr); -} - -void -set_gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, - gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum) -{ - gdbarch->stab_reg_to_regnum = stab_reg_to_regnum; -} - int gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch, int ecoff_regnr) { diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h index 897f33ca3d2..2fbb09a38f8 100644 --- a/gdb/gdbarch-gen.h +++ b/gdb/gdbarch-gen.h @@ -283,12 +283,6 @@ extern void set_gdbarch_ps_regnum (struct gdbarch *gdbarch, int ps_regnum); extern int gdbarch_fp0_regnum (struct gdbarch *gdbarch); extern void set_gdbarch_fp0_regnum (struct gdbarch *gdbarch, int fp0_regnum); -/* Convert stab register number (from `r' declaration) to a gdb REGNUM. */ - -typedef int (gdbarch_stab_reg_to_regnum_ftype) (struct gdbarch *gdbarch, int stab_regnr); -extern int gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, int stab_regnr); -extern void set_gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, gdbarch_stab_reg_to_regnum_ftype *stab_reg_to_regnum); - /* Provide a default mapping from a ecoff register number to a gdb REGNUM. */ typedef int (gdbarch_ecoff_reg_to_regnum_ftype) (struct gdbarch *gdbarch, int ecoff_regnr); diff --git a/gdb/gdbarch_components.py b/gdb/gdbarch_components.py index dcd82d85d32..3f23dfce877 100644 --- a/gdb/gdbarch_components.py +++ b/gdb/gdbarch_components.py @@ -544,17 +544,6 @@ Value( invalid=False, ) -Method( - comment=""" -Convert stab register number (from `r' declaration) to a gdb REGNUM. -""", - type="int", - name="stab_reg_to_regnum", - params=[("int", "stab_regnr")], - predefault="no_op_reg_to_regnum", - invalid=False, -) - Method( comment=""" Provide a default mapping from a ecoff register number to a gdb REGNUM. diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 1eb798a34c6..5e828b04f0e 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -1252,7 +1252,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_num_regs (gdbarch, 13); set_gdbarch_num_pseudo_regs (gdbarch, 1); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, h8300_dbg_reg_to_regnum); - set_gdbarch_stab_reg_to_regnum (gdbarch, h8300_dbg_reg_to_regnum); set_gdbarch_register_name (gdbarch, h8300_register_name); set_gdbarch_ptr_bit (gdbarch, 2 * TARGET_CHAR_BIT); set_gdbarch_addr_bit (gdbarch, 2 * TARGET_CHAR_BIT); @@ -1263,7 +1262,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_num_regs (gdbarch, 13); set_gdbarch_num_pseudo_regs (gdbarch, 1); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, h8300_dbg_reg_to_regnum); - set_gdbarch_stab_reg_to_regnum (gdbarch, h8300_dbg_reg_to_regnum); set_gdbarch_register_name (gdbarch, h8300h_register_name); if (info.bfd_arch_info->mach != bfd_mach_h8300hn) { @@ -1282,7 +1280,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_num_regs (gdbarch, 16); set_gdbarch_num_pseudo_regs (gdbarch, 2); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, h8300s_dbg_reg_to_regnum); - set_gdbarch_stab_reg_to_regnum (gdbarch, h8300s_dbg_reg_to_regnum); set_gdbarch_register_name (gdbarch, h8300s_register_name); if (info.bfd_arch_info->mach != bfd_mach_h8300sn) { @@ -1301,7 +1298,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_num_regs (gdbarch, 18); set_gdbarch_num_pseudo_regs (gdbarch, 2); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, h8300s_dbg_reg_to_regnum); - set_gdbarch_stab_reg_to_regnum (gdbarch, h8300s_dbg_reg_to_regnum); set_gdbarch_register_name (gdbarch, h8300sx_register_name); if (info.bfd_arch_info->mach != bfd_mach_h8300sxn) { diff --git a/gdb/i386-go32-tdep.c b/gdb/i386-go32-tdep.c index 23b754e4148..731f97c756e 100644 --- a/gdb/i386-go32-tdep.c +++ b/gdb/i386-go32-tdep.c @@ -37,10 +37,8 @@ i386_go32_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) tdep->tdesc = i386_target_description (X86_XSTATE_X87_MASK, false); /* Native compiler is GCC, which uses the SVR4 register numbering - even in COFF and STABS. See the comment in i386_gdbarch_init, - before the calls to set_gdbarch_stab_reg_to_regnum and - set_gdbarch_sdb_reg_to_regnum. */ - set_gdbarch_stab_reg_to_regnum (gdbarch, i386_svr4_reg_to_regnum); + even in COFF. See the comment in i386_gdbarch_init, before the + call to set_gdbarch_sdb_reg_to_regnum. */ set_gdbarch_sdb_reg_to_regnum (gdbarch, i386_svr4_reg_to_regnum); set_gdbarch_has_dos_based_file_system (gdbarch, 1); diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 6fde4d19aee..9843ea6b3dc 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -4244,9 +4244,6 @@ i386_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) static const char *const stap_register_indirection_suffixes[] = { ")", NULL }; - /* We typically use stabs-in-ELF with the SVR4 register numbering. */ - set_gdbarch_stab_reg_to_regnum (gdbarch, i386_svr4_reg_to_regnum); - /* Registering SystemTap handlers. */ set_gdbarch_stap_integer_prefixes (gdbarch, stap_integer_prefixes); set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes); @@ -8894,16 +8891,12 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) the defaults below will have to be overridden, like i386_elf_init_abi() does. */ - /* Use the dbx register numbering scheme for stabs and COFF. */ - set_gdbarch_stab_reg_to_regnum (gdbarch, i386_dbx_reg_to_regnum); + /* Use the dbx register numbering scheme for COFF. */ set_gdbarch_sdb_reg_to_regnum (gdbarch, i386_dbx_reg_to_regnum); /* Use the SVR4 register numbering scheme for DWARF 2. */ set_gdbarch_dwarf2_reg_to_regnum (gdbarch, i386_svr4_dwarf_reg_to_regnum); - /* We don't set gdbarch_stab_reg_to_regnum, since ECOFF doesn't seem to - be in use on any of the supported i386 targets. */ - set_gdbarch_print_float_info (gdbarch, i387_print_float_info); set_gdbarch_get_longjmp_target (gdbarch, i386_get_longjmp_target); diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c index 7bb53b4034f..308e2e15ac0 100644 --- a/gdb/m32c-tdep.c +++ b/gdb/m32c-tdep.c @@ -980,7 +980,6 @@ make_regs (struct gdbarch *arch) set_gdbarch_deprecated_pseudo_register_write (arch, m32c_pseudo_register_write); set_gdbarch_register_sim_regno (arch, m32c_register_sim_regno); - set_gdbarch_stab_reg_to_regnum (arch, m32c_debug_info_reg_to_regnum); set_gdbarch_dwarf2_reg_to_regnum (arch, m32c_debug_info_reg_to_regnum); set_gdbarch_register_reggroup_p (arch, m32c_register_reggroup_p); diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c index fd522de2466..e4a0408836d 100644 --- a/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c @@ -2427,7 +2427,6 @@ mep_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_deprecated_pseudo_register_write (gdbarch, mep_pseudo_register_write); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, mep_debug_reg_to_regnum); - set_gdbarch_stab_reg_to_regnum (gdbarch, mep_debug_reg_to_regnum); set_gdbarch_register_reggroup_p (gdbarch, mep_register_reggroup_p); reggroup_add (gdbarch, mep_csr_reggroup); diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 8251fb1e4c4..69767f50075 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -7895,28 +7895,6 @@ mips_skip_trampoline_code (const frame_info_ptr &frame, CORE_ADDR pc) return pc != requested_pc ? pc : 0; } -/* Convert a dbx stab register number (from `r' declaration) to a GDB - [1 * gdbarch_num_regs .. 2 * gdbarch_num_regs) REGNUM. */ - -static int -mips_stab_reg_to_regnum (struct gdbarch *gdbarch, int num) -{ - int regnum; - if (num >= 0 && num < 32) - regnum = num; - else if (num >= 38 && num < 70) - regnum = num + mips_regnum (gdbarch)->fp0 - 38; - else if (num == 70) - regnum = mips_regnum (gdbarch)->hi; - else if (num == 71) - regnum = mips_regnum (gdbarch)->lo; - else if (mips_regnum (gdbarch)->dspacc != -1 && num >= 72 && num < 78) - regnum = num + mips_regnum (gdbarch)->dspacc - 72; - else - return -1; - return gdbarch_num_regs (gdbarch) + regnum; -} - /* Convert a dwarf, dwarf2, or ecoff register number to a GDB [1 * gdbarch_num_regs .. 2 * gdbarch_num_regs) REGNUM. */ @@ -8689,7 +8667,6 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_dummy_id (gdbarch, mips_dummy_id); /* Map debug register numbers onto internal register numbers. */ - set_gdbarch_stab_reg_to_regnum (gdbarch, mips_stab_reg_to_regnum); set_gdbarch_ecoff_reg_to_regnum (gdbarch, mips_dwarf_dwarf2_ecoff_reg_to_regnum); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index c06c3031086..40f0a824352 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -2257,11 +2257,6 @@ ppc_linux_init_abi (struct gdbarch_info info, /* Linux DWARF register mapping is different from the other OSes. */ set_gdbarch_dwarf2_reg_to_regnum (gdbarch, rs6000_linux_dwarf2_reg_to_regnum); - /* Note on Linux the mapping for the DWARF registers and the stab registers - use the same numbers. Install rs6000_linux_dwarf2_reg_to_regnum for the - stab register mappings as well. */ - set_gdbarch_stab_reg_to_regnum (gdbarch, - rs6000_linux_dwarf2_reg_to_regnum); dwarf2_frame_set_adjust_regnum (gdbarch, rs6000_linux_adjust_frame_regnum); if (tdep->wordsize == 4) diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 937da907aa7..ab17126e50e 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -3355,48 +3355,6 @@ rs6000_gen_return_address (struct gdbarch *gdbarch, } -/* Convert a DBX STABS register number to a GDB register number. */ -static int -rs6000_stab_reg_to_regnum (struct gdbarch *gdbarch, int num) -{ - ppc_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - - if (0 <= num && num <= 31) - return tdep->ppc_gp0_regnum + num; - else if (32 <= num && num <= 63) - /* FIXME: jimb/2004-05-05: What should we do when the debug info - specifies registers the architecture doesn't have? Our - callers don't check the value we return. */ - return tdep->ppc_fp0_regnum + (num - 32); - else if (77 <= num && num <= 108) - return tdep->ppc_vr0_regnum + (num - 77); - else if (1200 <= num && num < 1200 + 32) - return tdep->ppc_ev0_upper_regnum + (num - 1200); - else - switch (num) - { - case 64: - return tdep->ppc_mq_regnum; - case 65: - return tdep->ppc_lr_regnum; - case 66: - return tdep->ppc_ctr_regnum; - case 76: - return tdep->ppc_xer_regnum; - case 109: - return tdep->ppc_vrsave_regnum; - case 110: - return tdep->ppc_vrsave_regnum - 1; /* vscr */ - case 111: - return tdep->ppc_acc_regnum; - case 112: - return tdep->ppc_spefscr_regnum; - default: - return num; - } -} - - /* Convert a Dwarf 2 register number to a GDB register number. */ static int rs6000_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int num) @@ -8430,7 +8388,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_value_to_register (gdbarch, rs6000_value_to_register); set_gdbarch_value_from_register (gdbarch, rs6000_value_from_register); - set_gdbarch_stab_reg_to_regnum (gdbarch, rs6000_stab_reg_to_regnum); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, rs6000_dwarf2_reg_to_regnum); if (wordsize == 4) diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 93a4d45904b..7df7efa8414 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -7309,7 +7309,6 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_fp0_regnum (gdbarch, S390_F0_REGNUM); set_gdbarch_guess_tracepoint_registers (gdbarch, s390_guess_tracepoint_registers); - set_gdbarch_stab_reg_to_regnum (gdbarch, s390_dwarf_reg_to_regnum); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, s390_dwarf_reg_to_regnum); set_gdbarch_value_from_register (gdbarch, s390_value_from_register); set_gdbarch_dwarf2_reg_piece_offset (gdbarch, s390_dwarf2_reg_piece_offset); diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c index d355423021b..4d66d6f4142 100644 --- a/gdb/xtensa-tdep.c +++ b/gdb/xtensa-tdep.c @@ -3184,8 +3184,7 @@ xtensa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_pc_regnum (gdbarch, tdep->pc_regnum); set_gdbarch_ps_regnum (gdbarch, tdep->ps_regnum); - /* Renumber registers for known formats (stabs and dwarf2). */ - set_gdbarch_stab_reg_to_regnum (gdbarch, xtensa_reg_to_regnum); + /* Renumber registers for known formats (dwarf2). */ set_gdbarch_dwarf2_reg_to_regnum (gdbarch, xtensa_reg_to_regnum); /* We provide our own function to get register information. */