summaryrefslogtreecommitdiff
path: root/gdb/gdbthread.h
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2001-06-13 22:56:16 +0000
committerMichael Snyder <msnyder@specifix.com>2001-06-13 22:56:16 +0000
commite8b35f4e5586ff02bc736d4e521fd69c05efddae (patch)
tree54572040e731786dc2931f5af3adecc766d6f670 /gdb/gdbthread.h
parente625a1f43dcd86d605599570a71186ba204134d9 (diff)
downloadgdb-e8b35f4e5586ff02bc736d4e521fd69c05efddae.tar.gz
2001-06-13 Michael Snyder <msnyder@redhat.com>
* gdbthread.h (struct thread_info): Add new fields: current_line, current_symtab, step_sp, for saved infrun state. * thread.c (save_infrun_state, load_infrun_state): Save and restore current_line, current_symtab, and step_sp. (add_thread): Rather than adding assignments to initialize the new fields, just use memset (tp, 0, sizeof (*tp). This way future new fields will not be overlooked. * infrun.c (handle_inferior_event): Save and restore save_sp, current_line, and current_symtab when switching threads.
Diffstat (limited to 'gdb/gdbthread.h')
-rw-r--r--gdb/gdbthread.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h
index 0c6fb84b8cd..da89b36eee1 100644
--- a/gdb/gdbthread.h
+++ b/gdb/gdbthread.h
@@ -44,6 +44,9 @@ struct thread_info
CORE_ADDR step_range_start;
CORE_ADDR step_range_end;
CORE_ADDR step_frame_address;
+ CORE_ADDR step_sp;
+ int current_line;
+ struct symtab *current_symtab;
int trap_expected;
int handling_longjmp;
int another_trap;
@@ -120,7 +123,10 @@ extern void save_infrun_state (ptid_t ptid,
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,
+ CORE_ADDR step_sp);
/* infrun context switch: load the debugger state previously saved
for the given thread. */
@@ -138,7 +144,10 @@ extern void load_infrun_state (ptid_t ptid,
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,
+ CORE_ADDR *step_sp);
/* Commands with a prefix of `thread'. */
extern struct cmd_list_element *thread_cmd_list;