summaryrefslogtreecommitdiff
path: root/gdb/sol2-tdep.h
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2020-06-25 13:43:46 +0200
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2020-06-25 13:43:46 +0200
commitd412e69677c6ca145ea8f5ff8c61a22952cb0855 (patch)
tree85fb98a2122dfff9a1ff8602d140735e32fe1c5c /gdb/sol2-tdep.h
parent42cc83080dee2c23635130c11b3f71f1ca1f5871 (diff)
downloadbinutils-gdb-d412e69677c6ca145ea8f5ff8c61a22952cb0855.tar.gz
Move common handlers to sol2_init_abi
There's some overlap and duplication between 32 and 64-bit Solaris/SPARC and x86 tdep files, in particular sol2_core_pid_to_str *_sol2_sigtramp_p sol2_skip_solib_resolver *_sol2_static_transform_name (forgotten on amd64) set_gdbarch_sofun_address_maybe_missing (likewise) This patch avoids this by centralizing common code in sol2-tdep.c. While sparc_sol2_pc_in_sigtramp and sparc_sol2_static_transform_name were declared in the shared sparc-tdep.h, they were only used in Solaris files. Tested on amd64-pc-solaris2.11, i386-pc-solaris2.11, sparcv9-sun-solaris2.11, and sparc-sun-solaris2.11, and sparc64-unknown-linux-gnu. * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Remove. (amd64_sol2_init_abi): Use sol2_sigtramp_p. Call sol2_init_abi. Remove calls to set_gdbarch_skip_solib_resolver, set_gdbarch_core_pid_to_str. * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Remove. (i386_sol2_static_transform_name): Remove. (i386_sol2_init_abi): Call sol2_init_abi. Remove calls to set_gdbarch_sofun_address_maybe_missing, set_gdbarch_static_transform_name, set_gdbarch_skip_solib_resolver, set_gdbarch_core_pid_to_str. Use sol2_sigtramp_p. * sol2-tdep.c (sol2_pc_in_sigtramp): New function. (sol2_sigtramp_p): New function. (sol2_static_transform_name): New function. (sol2_skip_solib_resolver, sol2_core_pid_to_str): Make static. (sol2_init_abi): New function. * sol2-tdep.h (sol2_sigtramp_p, sol2_init_abi): Declare. (sol2_skip_solib_resolver, sol2_core_pid_to_str): Remove. * sparc-sol2-tdep.c (sparc_sol2_pc_in_sigtramp): Remove. (sparc32_sol2_sigtramp_frame_sniffer): Just call sol2_sigtramp_p. (sparc_sol2_static_transform_name): Remove. (sparc32_sol2_init_abi): Call sol2_init_abi. Remove calls to set_gdbarch_sofun_address_maybe_missing, set_gdbarch_static_transform_name, set_gdbarch_skip_solib_resolver, set_gdbarch_core_pid_to_str. * sparc-tdep.h (sparc_sol2_pc_in_sigtramp) (sparc_sol2_static_transform_name): Remove * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_sniffer): Just call sol2_sigtramp_p. (sparc64_sol2_init_abi): Call sol2_init_abi. Remove calls to set_gdbarch_sofun_address_maybe_missing, set_gdbarch_static_transform_name, set_gdbarch_skip_solib_resolver, set_gdbarch_core_pid_to_str.
Diffstat (limited to 'gdb/sol2-tdep.h')
-rw-r--r--gdb/sol2-tdep.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/sol2-tdep.h b/gdb/sol2-tdep.h
index b3f01a02f08..ecace995a34 100644
--- a/gdb/sol2-tdep.h
+++ b/gdb/sol2-tdep.h
@@ -22,8 +22,8 @@
struct gdbarch;
-CORE_ADDR sol2_skip_solib_resolver (struct gdbarch *, CORE_ADDR);
+int sol2_sigtramp_p (struct frame_info *this_frame);
-std::string sol2_core_pid_to_str (struct gdbarch *gdbarch, ptid_t ptid);
+void sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch);
#endif /* sol2-tdep.h */