2003-03-29 Andrew Cagney <cagney@redhat.com>
* infttrace.h: New file. * hpread.c: Include "gdb_assert.h" and "somsolib.h". (hpread_get_textlow): Detect an uninitialized dn_bufp. (hpread_read_doc_function_type): Detect an initialized type1. (hpread_quick_traverse): Initialize mod_name_string. * somsolib.h: Add #ifdef SOMSOLIB_H wrapper. (som_solib_get_solib_by_pc): Declare. (so_lib_thread_start_addr): Declare. (no_shared_libraries): Declare. * somread.c (init_import_symbols): Make static. Add forward declaration. * config/pa/nm-hppah.h: Include "infttrace.h" for parent_attach_all. (hppa_insert_hw_watchpoint): Declare. (hppa_can_use_hw_watchpoint, hppa_remove_hw_watchpoint): Declare. * hppah-nat.c: Include "gdb_string.h". (parent_attach_all): Delete extern declaration, moved to "infttrace.h". (hppa_can_use_hw_watchpoint): Change type of "type" parameter to int. (hppa_remove_hw_watchpoint, hppa_insert_hw_watchpoint): Ditto. * Makefile.in (infttrace_h): Define. (hpread.o): Update dependencies. (hppah-nat.o, hppa-hpux-tdep.o, hppa-tdep.o): Ditto. * hppa-hpux-tdep.c: Include "gdb_string.h". * hppa-tdep.c (hppa_frame_saved_pc): Initialize "old_pc". * infrun.c (handle_inferior_event): Always initialize stepped_after_stopped_by_watchpoint. Add default and remove fallthrough in switch statement. * infttrace.c (hppa_can_use_hw_watchpoint): Change type of "type" parameter to int. (hppa_remove_hw_watchpoint): Ditto.
This commit is contained in:
parent
2c3bbe771a
commit
65e82032f2
12 changed files with 134 additions and 20 deletions
19
gdb/infrun.c
19
gdb/infrun.c
|
@ -1153,6 +1153,11 @@ void
|
|||
handle_inferior_event (struct execution_control_state *ecs)
|
||||
{
|
||||
CORE_ADDR real_stop_pc;
|
||||
/* NOTE: cagney/2003-03-28: If you're looking at this code and
|
||||
thinking that the variable stepped_after_stopped_by_watchpoint
|
||||
isn't used, then you're wrong! The macro STOPPED_BY_WATCHPOINT,
|
||||
defined in the file "config/pa/nm-hppah.h", accesses the variable
|
||||
indirectly. Mutter something rude about the HP merge. */
|
||||
int stepped_after_stopped_by_watchpoint;
|
||||
int sw_single_step_trap_p = 0;
|
||||
|
||||
|
@ -1165,7 +1170,15 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||
case infwait_thread_hop_state:
|
||||
/* Cancel the waiton_ptid. */
|
||||
ecs->waiton_ptid = pid_to_ptid (-1);
|
||||
/* Fall thru to the normal_state case. */
|
||||
/* See comments where a TARGET_WAITKIND_SYSCALL_RETURN event
|
||||
is serviced in this loop, below. */
|
||||
if (ecs->enable_hw_watchpoints_after_wait)
|
||||
{
|
||||
TARGET_ENABLE_HW_WATCHPOINTS (PIDGET (inferior_ptid));
|
||||
ecs->enable_hw_watchpoints_after_wait = 0;
|
||||
}
|
||||
stepped_after_stopped_by_watchpoint = 0;
|
||||
break;
|
||||
|
||||
case infwait_normal_state:
|
||||
/* See comments where a TARGET_WAITKIND_SYSCALL_RETURN event
|
||||
|
@ -1179,6 +1192,7 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||
break;
|
||||
|
||||
case infwait_nullified_state:
|
||||
stepped_after_stopped_by_watchpoint = 0;
|
||||
break;
|
||||
|
||||
case infwait_nonstep_watch_state:
|
||||
|
@ -1189,6 +1203,9 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||
in combination correctly? */
|
||||
stepped_after_stopped_by_watchpoint = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
internal_error (__FILE__, __LINE__, "bad switch");
|
||||
}
|
||||
ecs->infwait_state = infwait_normal_state;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue