daily update
[deliverable/binutils-gdb.git] / gdb / breakpoint.h
index 0716e9c79b1b0eada9f3cb808b02b7b6302cc638..67a67e34054f05b722bd615275b533fe27319790 100644 (file)
@@ -1,5 +1,6 @@
 /* Data structures associated with breakpoints in GDB.
-   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+   2002, 2003, 2004
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -207,6 +208,9 @@ enum bp_loc_type
 
 struct bp_location
 {
+  /* Chain pointer to the next breakpoint location.  */
+  struct bp_location *next;
+
   /* Type of this breakpoint location.  */
   enum bp_loc_type loc_type;
 
@@ -234,6 +238,10 @@ struct bp_location
      bp_loc_other.  */
   CORE_ADDR address;
 
+  /* For any breakpoint type with an address, this is the BFD section
+     associated with the address.  Used primarily for overlay debugging.  */
+  asection *section;
+
   /* "Real" contents of byte where breakpoint has been inserted.
      Valid only when breakpoints are in the program.  Under the complete
      control of the target insert_breakpoint and remove_breakpoint routines.
@@ -376,10 +384,19 @@ struct breakpoint
        triggered.  */
     char *exec_pathname;
 
-    asection *section;
-
     /* Methods associated with this breakpoint.  */
     struct breakpoint_ops *ops;
+
+    /* Was breakpoint issued from a tty?  Saved for the use of pending breakpoints.  */
+    int from_tty;
+
+    /* Flag value for pending breakpoint.
+       first bit  : 0 non-temporary, 1 temporary.
+       second bit : 0 normal breakpoint, 1 hardware breakpoint. */
+    int flag;
+
+    /* Is breakpoint pending on shlib loads?  */
+    int pending;
   };
 \f
 /* The following stuff is an abstract data type "bpstat" ("breakpoint
@@ -397,7 +414,8 @@ extern void bpstat_clear (bpstat *);
    is part of the bpstat is copied as well.  */
 extern bpstat bpstat_copy (bpstat);
 
-extern bpstat bpstat_stop_status (CORE_ADDR *pc, int not_a_sw_breakpoint);
+extern bpstat bpstat_stop_status (CORE_ADDR pc, ptid_t ptid, 
+                                 int stopped_by_watchpoint);
 \f
 /* This bpstat_what stuff tells wait_for_inferior what to do with a
    breakpoint (a challenging task).  */
@@ -600,12 +618,7 @@ extern enum breakpoint_here breakpoint_here_p (CORE_ADDR);
 
 extern int breakpoint_inserted_here_p (CORE_ADDR);
 
-/* FIXME: cagney/2002-11-10: The current [generic] dummy-frame code
-   implements a functional superset of this function.  The only reason
-   it hasn't been removed is because some architectures still don't
-   use the new framework.  Once they have been fixed, this can go.  */
-struct frame_info;
-extern int deprecated_frame_in_dummy (struct frame_info *);
+extern int software_breakpoint_inserted_here_p (CORE_ADDR);
 
 extern int breakpoint_thread_match (CORE_ADDR, ptid_t);
 
@@ -783,4 +796,13 @@ extern void delete_command (char *arg, int from_tty);
    remove fails. */
 extern int remove_hw_watchpoints (void);
 
+
+/* Indicator of whether exception catchpoints should be nuked between
+   runs of a program.  */
+extern int deprecated_exception_catchpoints_are_fragile;
+
+/* Indicator of when exception catchpoints set-up should be
+   reinitialized -- e.g. when program is re-run.  */
+extern int deprecated_exception_support_initialized;
+
 #endif /* !defined (BREAKPOINT_H) */
This page took 0.024804 seconds and 4 git commands to generate.