diff options
Diffstat (limited to 'gdb/sparc64-sol2-tdep.c')
-rw-r--r-- | gdb/sparc64-sol2-tdep.c | 105 |
1 files changed, 46 insertions, 59 deletions
diff --git a/gdb/sparc64-sol2-tdep.c b/gdb/sparc64-sol2-tdep.c index 9daefa2..f4bd63c 100644 --- a/gdb/sparc64-sol2-tdep.c +++ b/gdb/sparc64-sol2-tdep.c @@ -32,45 +32,43 @@ #include "solib-svr4.h" /* From <sys/regset.h>. */ -const struct sparc_gregmap sparc64_sol2_gregmap = -{ - 32 * 8, /* "tstate" */ - 33 * 8, /* %pc */ - 34 * 8, /* %npc */ - 35 * 8, /* %y */ - -1, /* %wim */ - -1, /* %tbr */ - 1 * 8, /* %g1 */ - 16 * 8, /* %l0 */ - 8 /* sizeof (%y) */ +const struct sparc_gregmap sparc64_sol2_gregmap = { + 32 * 8, /* "tstate" */ + 33 * 8, /* %pc */ + 34 * 8, /* %npc */ + 35 * 8, /* %y */ + -1, /* %wim */ + -1, /* %tbr */ + 1 * 8, /* %g1 */ + 16 * 8, /* %l0 */ + 8 /* sizeof (%y) */ }; -const struct sparc_fpregmap sparc64_sol2_fpregmap = -{ - 0 * 8, /* %f0 */ - 33 * 8, /* %fsr */ +const struct sparc_fpregmap sparc64_sol2_fpregmap = { + 0 * 8, /* %f0 */ + 33 * 8, /* %fsr */ }; static void sparc64_sol2_supply_core_gregset (const struct regset *regset, - struct regcache *regcache, - int regnum, const void *gregs, size_t len) + struct regcache *regcache, int regnum, + const void *gregs, size_t len) { sparc64_supply_gregset (&sparc64_sol2_gregmap, regcache, regnum, gregs); } static void sparc64_sol2_collect_core_gregset (const struct regset *regset, - const struct regcache *regcache, - int regnum, void *gregs, size_t len) + const struct regcache *regcache, int regnum, + void *gregs, size_t len) { sparc64_collect_gregset (&sparc64_sol2_gregmap, regcache, regnum, gregs); } static void sparc64_sol2_supply_core_fpregset (const struct regset *regset, - struct regcache *regcache, - int regnum, const void *fpregs, size_t len) + struct regcache *regcache, int regnum, + const void *fpregs, size_t len) { sparc64_supply_fpregset (&sparc64_sol2_fpregmap, regcache, regnum, fpregs); } @@ -83,20 +81,13 @@ sparc64_sol2_collect_core_fpregset (const struct regset *regset, sparc64_collect_fpregset (&sparc64_sol2_fpregmap, regcache, regnum, fpregs); } -static const struct regset sparc64_sol2_gregset = - { - NULL, - sparc64_sol2_supply_core_gregset, - sparc64_sol2_collect_core_gregset - }; - -static const struct regset sparc64_sol2_fpregset = - { - NULL, - sparc64_sol2_supply_core_fpregset, - sparc64_sol2_collect_core_fpregset - }; - +static const struct regset sparc64_sol2_gregset + = { NULL, sparc64_sol2_supply_core_gregset, + sparc64_sol2_collect_core_gregset }; + +static const struct regset sparc64_sol2_fpregset + = { NULL, sparc64_sol2_supply_core_fpregset, + sparc64_sol2_collect_core_fpregset }; static struct sparc_frame_cache * sparc64_sol2_sigtramp_frame_cache (frame_info_ptr this_frame, @@ -117,8 +108,8 @@ sparc64_sol2_sigtramp_frame_cache (frame_info_ptr this_frame, /* The third argument is a pointer to an instance of `ucontext_t', which has a member `uc_mcontext' that contains the saved registers. */ - regnum = - (cache->copied_regs_mask & 0x04) ? SPARC_I2_REGNUM : SPARC_O2_REGNUM; + regnum + = (cache->copied_regs_mask & 0x04) ? SPARC_I2_REGNUM : SPARC_O2_REGNUM; mcontext_addr = get_frame_register_unsigned (this_frame, regnum) + 64; cache->saved_regs[SPARC64_CCR_REGNUM].set_addr (mcontext_addr + 0 * 8); @@ -158,19 +149,18 @@ sparc64_sol2_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { - struct sparc_frame_cache *cache = - sparc64_sol2_sigtramp_frame_cache (this_frame, this_cache); + struct sparc_frame_cache *cache + = sparc64_sol2_sigtramp_frame_cache (this_frame, this_cache); (*this_id) = frame_id_build (cache->base, cache->pc); } static struct value * sparc64_sol2_sigtramp_frame_prev_register (frame_info_ptr this_frame, - void **this_cache, - int regnum) + void **this_cache, int regnum) { - struct sparc_frame_cache *cache = - sparc64_sol2_sigtramp_frame_cache (this_frame, this_cache); + struct sparc_frame_cache *cache + = sparc64_sol2_sigtramp_frame_cache (this_frame, this_cache); return trad_frame_get_prev_register (this_frame, cache->saved_regs, regnum); } @@ -183,18 +173,14 @@ sparc64_sol2_sigtramp_frame_sniffer (const struct frame_unwind *self, return sol2_sigtramp_p (this_frame); } -static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind = -{ - "sparc64 solaris sigtramp", - SIGTRAMP_FRAME, - default_frame_unwind_stop_reason, - sparc64_sol2_sigtramp_frame_this_id, - sparc64_sol2_sigtramp_frame_prev_register, - NULL, - sparc64_sol2_sigtramp_frame_sniffer -}; - - +static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind + = { "sparc64 solaris sigtramp", + SIGTRAMP_FRAME, + default_frame_unwind_stop_reason, + sparc64_sol2_sigtramp_frame_this_id, + sparc64_sol2_sigtramp_frame_prev_register, + NULL, + sparc64_sol2_sigtramp_frame_sniffer }; static void sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) @@ -215,8 +201,8 @@ sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) /* Solaris has SVR4-style shared libraries... */ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); - set_solib_svr4_fetch_link_map_offsets - (gdbarch, svr4_lp64_fetch_link_map_offsets); + set_solib_svr4_fetch_link_map_offsets (gdbarch, + svr4_lp64_fetch_link_map_offsets); /* ...which means that we need some special handling when doing prologue analysis. */ @@ -227,9 +213,10 @@ sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) } 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); + gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9, GDB_OSABI_SOLARIS, + sparc64_sol2_init_abi); } |