2007-10-08 Pierre Muller <muller@ics.u-strasbg.fr>
[deliverable/binutils-gdb.git] / gdb / config / i386 / nm-i386.h
index 2692cae1995a74436613109ff995d9e1b4b70963..d5cefd17a07b657e95e0e4edcd0f6eadcc9a9aa2 100644 (file)
@@ -1,11 +1,11 @@
 /* Native macro definitions for GDB on an Intel i[3456]86.
-   Copyright 2001, 2004 Free Software Foundation, Inc.
+   Copyright 2001, 2004, 2007 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -14,9 +14,7 @@
    GNU General Public License for more details.
 
    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.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef NM_I386_H
 #define NM_I386_H 1
@@ -47,18 +45,19 @@ extern int i386_region_ok_for_watchpoint (CORE_ADDR addr, int len);
    triggered.  */
 extern int i386_stopped_by_hwbp (void);
 
-/* If the inferior has some break/watchpoint that triggered, return
-   the address associated with that break/watchpoint.  Otherwise,
-   return zero.  */
-extern CORE_ADDR i386_stopped_data_address (void);
+/* If the inferior has some break/watchpoint that triggered, set
+   the address associated with that break/watchpoint and return
+   true.  Otherwise, return false.  */
+extern int i386_stopped_data_address (CORE_ADDR *);
 
-/* Insert a hardware-assisted breakpoint at address ADDR.  SHADOW is
-   unused.  Return 0 on success, EBUSY on failure.  */
-extern int i386_insert_hw_breakpoint (CORE_ADDR addr, void *shadow);
+/* Insert a hardware-assisted breakpoint at BP_TGT->placed_address.
+   Return 0 on success, EBUSY on failure.  */
+struct bp_target_info;
+extern int i386_insert_hw_breakpoint (struct bp_target_info *bp_tgt);
 
-/* Remove a hardware-assisted breakpoint at address ADDR.  SHADOW is
-   unused. Return 0 on success, -1 on failure.  */
-extern int  i386_remove_hw_breakpoint (CORE_ADDR addr, void *shadow);
+/* Remove a hardware-assisted breakpoint at BP_TGT->placed_address.
+   Return 0 on success, -1 on failure.  */
+extern int  i386_remove_hw_breakpoint (struct bp_target_info *bp_tgt);
 
 /* Returns the number of hardware watchpoints of type TYPE that we can
    set.  Value is positive if we can set CNT watchpoints, zero if
@@ -91,9 +90,11 @@ extern int  i386_remove_hw_breakpoint (CORE_ADDR addr, void *shadow);
 
 #define HAVE_CONTINUABLE_WATCHPOINT 1
 
-#define STOPPED_BY_WATCHPOINT(W)       (i386_stopped_data_address () != 0)
+extern int i386_stopped_by_watchpoint (void);
 
-#define target_stopped_data_address()  i386_stopped_data_address ()
+#define STOPPED_BY_WATCHPOINT(W)       (i386_stopped_by_watchpoint () != 0)
+
+#define target_stopped_data_address(target, x)  i386_stopped_data_address(x)
 
 /* Use these macros for watchpoint insertion/removal.  */
 
@@ -103,15 +104,11 @@ extern int  i386_remove_hw_breakpoint (CORE_ADDR addr, void *shadow);
 #define target_remove_watchpoint(addr, len, type) \
   i386_remove_watchpoint (addr, len, type)
 
-#define target_insert_hw_breakpoint(addr, shadow) \
-  i386_insert_hw_breakpoint (addr, shadow)
-
-#define target_remove_hw_breakpoint(addr, shadow) \
-  i386_remove_hw_breakpoint (addr, shadow)
+#define target_insert_hw_breakpoint(bp_tgt) \
+  i386_insert_hw_breakpoint (bp_tgt)
 
-/* child_post_startup_inferior used to
-   reset all debug registers by calling i386_cleanup_dregs ().  */ 
-#define CHILD_POST_STARTUP_INFERIOR
+#define target_remove_hw_breakpoint(bp_tgt) \
+  i386_remove_hw_breakpoint (bp_tgt)
 
 #endif /* I386_USE_GENERIC_WATCHPOINTS */
 
This page took 0.035933 seconds and 4 git commands to generate.