diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-10-21 20:41:50 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-10-21 20:41:50 +0000 |
commit | 100f92e2dea21ccb7de8fb0cb3a9b70d43d55bad (patch) | |
tree | 29f70f683bed980e1fec4d7cf5c1325bf63fed81 /gdb/inferior.h | |
parent | efa0c22e67c2858aec856d734b2a89da68cde606 (diff) | |
download | gdb-100f92e2dea21ccb7de8fb0cb3a9b70d43d55bad.zip gdb-100f92e2dea21ccb7de8fb0cb3a9b70d43d55bad.tar.gz gdb-100f92e2dea21ccb7de8fb0cb3a9b70d43d55bad.tar.bz2 |
* Makefile.in (c-exp.tab.o): Remove notice about shift/reduce conflicts
which no longer occur.
gcc -Wall lint:
* findvar.c (symbol_read_needs_frame), corelow.c (ignore),
inflow.c (gdb_has_a_terminal): Make sure to return a value.
* regex.h: Declare re_set_syntax.
* printcmd.c: Include valprint.h.
* infcmd.c, exec.c, maint.c, core.c: Include language.h.
* maint.c: Include expression.h.
* infrun.c, fork-child.c, corelow.c, inflow.c: Include thread.h.
* inftarg.c: Include command.h.
* coredep.c: Include value.h.
* c-exp.y, m2-exp.y, ch-exp.y: Include bfd.h, symfile.h and objfiles.h.
* ch-typeprint.c: Include typeprint.h.
* ch-valprint.c: Include c-lang.h.
* nlmread.c: Include buildsym.h.
* environ.c: Include gdbcore.h. Only include defs.h once.
(set_in_environ): Cast const char * to char * when passing to
set_gnutarget.
Remove unused variables:
* printcmd.c (printf_command): args_to_vprintf.
* coffread.c (coff_symfile_init): strsection.
Move variables to within the #ifdefs where they are used:
* symtab.c (gdb_mangle_name): opname.
* inftarg.c (child_attach): pid and exec_file.
* inftarg.c (child_detach): siggnal.
* objfiles.c (allocate_objfile): mapto, md, and fd.
* objfiles.c (free_objfile): mmfd.
* infrun.c (wait_for_inferior): Include BPSTAT_WHAT_LAST in switch.
* infrun.c (wait_for_inferior): Remove unused same_pid label.
* inferior.h: Declare set_sigint_trap and clear_sigint_trap.
* parser-defs.h: Declare write_exp_elt_block.
* stabsread.h: Declare elfstab_offset_sections and
coffstab_build_psymtabs.
Diffstat (limited to 'gdb/inferior.h')
-rw-r--r-- | gdb/inferior.h | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/gdb/inferior.h b/gdb/inferior.h index f0dddda..6fdad93 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -36,9 +36,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ * control variables. */ struct inferior_status { - int pc_changed; int stop_signal; - int stop_pc; + CORE_ADDR stop_pc; FRAME_ADDR stop_frame_address; bpstat stop_bpstat; int stop_step; @@ -55,6 +54,12 @@ struct inferior_status { FRAME_ADDR selected_frame_address; int selected_level; char stop_registers[REGISTER_BYTES]; + + /* These are here because if call_function_by_hand has written some + registers and then decides to call error(), we better not have changed + any registers. */ + char registers[REGISTER_BYTES]; + int breakpoint_proceeded; int restore_stack_info; int proceed_to_finish; @@ -66,6 +71,9 @@ save_inferior_status PARAMS ((struct inferior_status *, int)); extern void restore_inferior_status PARAMS ((struct inferior_status *)); +extern void set_sigint_trap PARAMS ((void)); +extern void clear_sigint_trap PARAMS ((void)); + /* File name for default use for standard in/out in the inferior. */ extern char *inferior_io_terminal; @@ -98,8 +106,7 @@ generic_mourn_inferior PARAMS ((void)); extern void terminal_ours PARAMS ((void)); -extern void -run_stack_dummy PARAMS ((char*, CORE_ADDR, char [REGISTER_BYTES])); +extern int run_stack_dummy PARAMS ((CORE_ADDR, char [REGISTER_BYTES])); extern CORE_ADDR read_pc PARAMS ((void)); @@ -171,7 +178,7 @@ void detach PARAMS ((int)); extern void -child_resume PARAMS ((int, int)); +child_resume PARAMS ((int, int, int)); #ifndef PTRACE_ARG3_TYPE #define PTRACE_ARG3_TYPE int /* Correct definition for most systems. */ @@ -260,7 +267,12 @@ extern int stopped_by_random_signal; /* Range to single step within. If this is nonzero, respond to a single-step signal - by continuing to step if the pc is in this range. */ + by continuing to step if the pc is in this range. + + If step_range_start and step_range_end are both 1, it means to step for + a single instruction (FIXME: it might clean up wait_for_inferior in a + minor way if this were changed to the address of the instruction and + that address plus one. But maybe not.). */ extern CORE_ADDR step_range_start; /* Inclusive */ extern CORE_ADDR step_range_end; /* Exclusive */ @@ -301,11 +313,6 @@ extern int proceed_to_finish; extern char stop_registers[REGISTER_BYTES]; -/* Nonzero if pc has been changed by the debugger - since the inferior stopped. */ - -extern int pc_changed; - /* Nonzero if the child process in inferior_pid was attached rather than forked. */ @@ -338,6 +345,7 @@ extern int attach_flag; #define ON_STACK 1 #define BEFORE_TEXT_END 2 #define AFTER_TEXT_END 3 +#define AT_ENTRY_POINT 4 #if !defined (CALL_DUMMY_LOCATION) #define CALL_DUMMY_LOCATION ON_STACK @@ -352,14 +360,16 @@ extern CORE_ADDR text_end; #define PC_IN_CALL_DUMMY(pc, sp, frame_address) \ ((pc) >= text_end - CALL_DUMMY_LENGTH \ && (pc) <= text_end + DECR_PC_AFTER_BREAK) -#else /* Not before text_end. */ +#endif /* Before text_end. */ + #if CALL_DUMMY_LOCATION == AFTER_TEXT_END extern CORE_ADDR text_end; #define PC_IN_CALL_DUMMY(pc, sp, frame_address) \ ((pc) >= text_end \ && (pc) <= text_end + CALL_DUMMY_LENGTH + DECR_PC_AFTER_BREAK) -#else /* On stack. */ +#endif /* After text_end. */ +#if CALL_DUMMY_LOCATION == ON_STACK /* Is the PC in a call dummy? SP and FRAME_ADDRESS are the bottom and top of the stack frame which we are checking, where "bottom" and "top" refer to some section of memory which contains the code for @@ -381,7 +391,14 @@ extern CORE_ADDR text_end; #define PC_IN_CALL_DUMMY(pc, sp, frame_address) \ ((sp) INNER_THAN (pc) && (frame_address != 0) && (pc) INNER_THAN (frame_address)) #endif /* On stack. */ -#endif /* Not before text_end. */ + +#if CALL_DUMMY_LOCATION == AT_ENTRY_POINT +extern CORE_ADDR +entry_point_address PARAMS ((void)); +#define PC_IN_CALL_DUMMY(pc, sp, frame_address) \ + ((pc) >= entry_point_address () \ + && (pc) <= (entry_point_address () + DECR_PC_AFTER_BREAK)) +#endif /* At entry point. */ #endif /* No PC_IN_CALL_DUMMY. */ #endif /* !defined (INFERIOR_H) */ |