/* Target-dependent code for SPARC.
- Copyright 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
This file is part of GDB.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#ifndef SPARC_TDEP_H
#define SPARC_TDEP_H 1
/* Size of an Procedure Linkage Table (PLT) entry, 0 if we shouldn't
treat the PLT special when doing prologue analysis. */
size_t plt_entry_size;
+
+ /* Alternative location for trap return. Used for single-stepping. */
+ CORE_ADDR (*step_trap) (struct frame_info *frame, unsigned long insn);
};
/* Register numbers of various important registers. */
\f
-extern void sparc_software_single_step (enum target_signal sig,
- int insert_breakpoints_p);
+extern int sparc_software_single_step (struct frame_info *frame);
extern void sparc_supply_rwindow (struct regcache *regcache,
CORE_ADDR sp, int regnum);
/* Register offsets for NetBSD. */
extern const struct sparc_gregset sparc32nbsd_gregset;
+/* Return the address of a system call's alternative return
+ address. */
+extern CORE_ADDR sparcnbsd_step_trap (struct frame_info *frame,
+ unsigned long insn);
+
+extern void sparc32nbsd_elf_init_abi (struct gdbarch_info info,
+ struct gdbarch *gdbarch);
+
extern struct trad_frame_saved_reg *
sparc32nbsd_sigcontext_saved_regs (struct frame_info *next_frame);