*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / gdbthread.h
index 7483a53eb4b4e50a20a216f240730a0030ca940e..0f8deeb8c46c9f6e5d1e56b79d42cc0535e63bc5 100644 (file)
 #ifndef GDBTHREAD_H
 #define GDBTHREAD_H
 
+struct breakpoint;
+struct frame_id;
+struct symtab;
+
 /* For bpstat */
 #include "breakpoint.h"
 
+/* For struct frame_id.  */
+#include "frame.h"
+
 struct thread_info
 {
   struct thread_info *next;
@@ -37,13 +44,12 @@ struct thread_info
   int num;                     /* Convenient handle (GDB thread id) */
   /* State from wait_for_inferior */
   CORE_ADDR prev_pc;
-  CORE_ADDR prev_func_start;
-  char *prev_func_name;
   struct breakpoint *step_resume_breakpoint;
-  struct breakpoint *through_sigtramp_breakpoint;
   CORE_ADDR step_range_start;
   CORE_ADDR step_range_end;
-  CORE_ADDR step_frame_address;
+  struct frame_id step_frame_id;
+  int current_line;
+  struct symtab *current_symtab;
   int trap_expected;
   int handling_longjmp;
   int another_trap;
@@ -78,6 +84,9 @@ extern struct thread_info *add_thread (ptid_t ptid);
 /* Delete an existing thread list entry.  */
 extern void delete_thread (ptid_t);
 
+/* Delete a step_resume_breakpoint from the thread database. */
+extern void delete_step_resume_breakpoint (void *);
+
 /* Translate the integer thread id (GDB's homegrown id, not the system's)
    into a "pid" (which may be overloaded with extra thread information).  */
 extern ptid_t thread_id_to_pid (int);
@@ -105,37 +114,35 @@ extern struct thread_info *iterate_over_threads (thread_callback_func, void *);
 /* infrun context switch: save the debugger state for the given thread.  */
 extern void save_infrun_state (ptid_t ptid,
                               CORE_ADDR prev_pc,
-                              CORE_ADDR prev_func_start,
-                              char     *prev_func_name,
                               int       trap_expected,
                               struct breakpoint *step_resume_breakpoint,
-                              struct breakpoint *through_sigtramp_breakpoint,
                               CORE_ADDR step_range_start,
                               CORE_ADDR step_range_end,
-                              CORE_ADDR step_frame_address,
+                              const struct frame_id *step_frame_id,
                               int       handling_longjmp,
                               int       another_trap,
                               int       stepping_through_solib_after_catch,
                               bpstat    stepping_through_solib_catchpoints,
-                              int       stepping_through_sigtramp);
+                              int       stepping_through_sigtramp,
+                              int       current_line,
+                              struct symtab *current_symtab);
 
 /* infrun context switch: load the debugger state previously saved
    for the given thread.  */
 extern void load_infrun_state (ptid_t ptid,
                               CORE_ADDR *prev_pc,
-                              CORE_ADDR *prev_func_start,
-                              char     **prev_func_name,
                               int       *trap_expected,
                               struct breakpoint **step_resume_breakpoint,
-                              struct breakpoint **through_sigtramp_breakpoint,
                               CORE_ADDR *step_range_start,
                               CORE_ADDR *step_range_end,
-                              CORE_ADDR *step_frame_address,
+                              struct frame_id *step_frame_id,
                               int       *handling_longjmp,
                               int       *another_trap,
                               int       *stepping_through_solib_affter_catch,
                               bpstat    *stepping_through_solib_catchpoints,
-                              int       *stepping_through_sigtramp);
+                              int       *stepping_through_sigtramp,
+                              int       *current_line,
+                              struct symtab **current_symtab);
 
 /* Commands with a prefix of `thread'.  */
 extern struct cmd_list_element *thread_cmd_list;
This page took 0.024025 seconds and 4 git commands to generate.