/* Internal interfaces for the GNU/Linux specific target code for gdbserver.
- Copyright 2002, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 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. */
#ifdef HAVE_LINUX_REGSETS
typedef void (*regset_fill_func) (void *);
int (*cannot_store_register) (int);
CORE_ADDR (*get_pc) (void);
void (*set_pc) (CORE_ADDR newpc);
- const char *breakpoint;
+ const unsigned char *breakpoint;
int breakpoint_len;
CORE_ADDR (*breakpoint_reinsert_addr) (void);
int decr_pc_after_break;
int (*breakpoint_at) (CORE_ADDR pc);
+
+ /* Watchpoint related functions. See target.h for comments. */
+ int (*insert_watchpoint) (char type, CORE_ADDR addr, int len);
+ int (*remove_watchpoint) (char type, CORE_ADDR addr, int len);
+ int (*stopped_by_watchpoint) (void);
+ CORE_ADDR (*stopped_data_address) (void);
+
+ /* Whether to left-pad registers for PEEKUSR/POKEUSR if they are smaller
+ than an xfer unit. */
+ int left_pad_xfer;
};
extern struct linux_target_ops the_low_target;
event already received in a wait()). */
int stopped;
+ /* When stopped is set, the last wait status recorded for this process. */
+ int last_status;
+
/* If this flag is set, we have sent a SIGSTOP to this process and are
waiting for it to stop. */
int sigstop_sent;