X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fsparc64-sol2-tdep.c;h=824444dd669e9e60d2f45849f80b8a2997819031;hb=6d8a0a5e90936d4bea9bf1ce9b4e1c22d9aaccae;hp=1d768fa7d021398c0ad381a7340ca150bd209d3d;hpb=481695ed5f6e0a8a9c9c50bfac1cdd2b3151e6c9;p=binutils-gdb.git diff --git a/gdb/sparc64-sol2-tdep.c b/gdb/sparc64-sol2-tdep.c index 1d768fa7d02..824444dd669 100644 --- a/gdb/sparc64-sol2-tdep.c +++ b/gdb/sparc64-sol2-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for Solaris UltraSPARC. - Copyright (C) 2003-2017 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -180,15 +180,9 @@ sparc64_sol2_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache) { - CORE_ADDR pc = get_frame_pc (this_frame); - const char *name; - - find_pc_partial_function (pc, &name, NULL, NULL); - if (sparc_sol2_pc_in_sigtramp (pc, name)) - return 1; - - return 0; + return sol2_sigtramp_p (this_frame); } + static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind = { SIGTRAMP_FRAME, @@ -201,7 +195,7 @@ static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind = -void +static void sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -216,19 +210,10 @@ sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) sparc64_init_abi (info, gdbarch); - /* The Sun compilers (Sun ONE Studio, Forte Developer, Sun WorkShop, SunPRO) - compiler puts out 0 instead of the address in N_SO stabs. Starting with - SunPRO 3.0, the compiler does this for N_FUN stabs too. */ - set_gdbarch_sofun_address_maybe_missing (gdbarch, 1); - - /* The Sun compilers also do "globalization"; see the comment in - sparc_sol2_static_transform_name for more information. */ - set_gdbarch_static_transform_name - (gdbarch, sparc_sol2_static_transform_name); + sol2_init_abi (info, gdbarch); /* Solaris has SVR4-style shared libraries... */ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); - set_gdbarch_skip_solib_resolver (gdbarch, sol2_skip_solib_resolver); set_solib_svr4_fetch_link_map_offsets (gdbarch, svr4_lp64_fetch_link_map_offsets); @@ -238,13 +223,11 @@ sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) /* Solaris has kernel-assisted single-stepping support. */ set_gdbarch_software_single_step (gdbarch, NULL); - - /* How to print LWP PTIDs from core files. */ - set_gdbarch_core_pid_to_str (gdbarch, sol2_core_pid_to_str); } +void _initialize_sparc64_sol2_tdep (); void -_initialize_sparc64_sol2_tdep (void) +_initialize_sparc64_sol2_tdep () { gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9, GDB_OSABI_SOLARIS, sparc64_sol2_init_abi);