remote+docs: software/hardware breakpoint traps
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 3d1a082b18093e3ae20dcc10e990e88cf4bb2379..22bda6a9b862f23beaafc1c2ed3312d39a3a3b79 100644 (file)
@@ -1,3 +1,122 @@
+2015-03-04  Pedro Alves  <palves@redhat.com>
+
+       * NEWS: Mention the new "swbreak" and "hwbreak" stop reasons.
+       * remote.c (struct remote_state) <remote_stopped_by_watchpoint_p>:
+       Delete field.
+       <stop_reason>: New field.
+       (PACKET_swbreak_feature, PACKET_hwbreak_feature): New enum values.
+       (packet_set_cmd_state): New function.
+       (remote_protocol_features): Register the "swbreak" and "hwbreak"
+       features.
+       (remote_query_supported): If not disabled with the corresponding
+       "set remote foo-packet" command, report support for the swbreak
+       and hwbreak features.
+       (struct stop_reply) <remote_stopped_by_watchpoint_p>: Delete
+       field.
+       <stop_reason>: New field.
+       (remote_parse_stop_reply): Handle "swbreak" and "hwbreak".
+       (remote_wait_as): Adjust.
+       (remote_stopped_by_sw_breakpoint)
+       (remote_supports_stopped_by_sw_breakpoint)
+       (remote_stopped_by_hw_breakpoint)
+       (remote_supports_stopped_by_hw_breakpoint): New functions.
+       (remote_stopped_by_watchpoint): New function.
+       (init_remote_ops): Install them.
+       (_initialize_remote): Register new "set/show remote
+       swbreak-feature-packet" and "set/show remote
+       swbreak-feature-packet" commands.
+
+2015-03-04  Pedro Alves  <palves@redhat.com>
+
+       * btrace.h: Include target/waitstatus.h.
+       (struct btrace_thread_info) <stop_reason>: New field.
+       * record-btrace.c (record_btrace_step_thread): Use
+       record_check_stopped_by_breakpoint instead of breakpoint_here_p.
+       (record_btrace_decr_pc_after_break): Delete.
+       (record_btrace_stopped_by_sw_breakpoint)
+       (record_btrace_supports_stopped_by_sw_breakpoint)
+       (record_btrace_stopped_by_hw_breakpoint)
+       (record_btrace_supports_stopped_by_hw_breakpoint): New functions.
+       (init_record_btrace_ops): Install them.
+       * record-full.c (record_full_hw_watchpoint): Delete and replace
+       with ...
+       (record_full_stop_reason): ... this throughout.
+       (record_full_exec_insn): Adjust.
+       (record_full_wait_1): Adjust.  No longer re-increment the PC.
+       (record_full_wait_1): Adjust.  Use
+       record_check_stopped_by_breakpoint instead of breakpoint_here_p.
+       (record_full_stopped_by_watchpoint): Adjust.
+       (record_full_stopped_by_sw_breakpoint)
+       (record_full_supports_stopped_by_sw_breakpoint)
+       (record_full_supports_stopped_by_sw_breakpoint)
+       (record_full_stopped_by_hw_breakpoint)
+       (record_full_supports_stopped_by_hw_breakpoint): New functions.
+       (init_record_full_ops, init_record_full_core_ops): Install them.
+       * record.c (record_check_stopped_by_breakpoint): New function.
+       * record.h: Include target/waitstatus.h.
+       (record_check_stopped_by_breakpoint): New declaration.
+
+2015-03-04  Pedro Alves  <palves@redhat.com>
+
+       enum lwp_stop_reason -> enum target_stop_reason
+       * linux-nat.c (linux_resume_one_lwp, check_stopped_by_watchpoint)
+       (linux_nat_stopped_by_watchpoint, status_callback)
+       (linux_nat_wait_1): Adjust.
+       * linux-nat.h (enum lwp_stop_reason): Delete.
+       (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
+       * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
+       * target/waitstatus.h (enum target_stop_reason): New.
+
+2015-03-04  Pedro Alves  <palves@redhat.com>
+
+       * breakpoint.c (need_moribund_for_location_type): New function.
+       (bpstat_stop_status): Don't skipping checking moribund locations
+       of breakpoint types which the target tell caused a stop.
+       (program_breakpoint_here_p): New function, factored out from ...
+       (bp_loc_is_permanent): ... this.
+       (update_global_location_list): Don't create a moribund location if
+       the target supports reporting stops of the type of the removed
+       breakpoint.
+       * breakpoint.h (program_breakpoint_here_p): New declaration.
+       * infrun.c (adjust_pc_after_break): Return early if the target has
+       already adjusted the PC.  Add comments.
+       (handle_signal_stop): If nothing explains a signal, and the target
+       tells us the stop was caused by a software breakpoint, check if
+       there's a breakpoint instruction in the memory.  If so, adjust the
+       PC before presenting the stop to the user.  Otherwise, ignore the
+       trap.  If nothing explains a signal, and the target tells us the
+       stop was caused by a hardware breakpoint, ignore the trap.
+       * target.h (struct target_ops) <to_stopped_by_sw_breakpoint,
+       to_supports_stopped_by_sw_breakpoint, to_stopped_by_hw_breakpoint,
+       to_supports_stopped_by_hw_breakpoint>: New fields.
+       (target_stopped_by_sw_breakpoint)
+       (target_supports_stopped_by_sw_breakpoint)
+       (target_stopped_by_hw_breakpoint)
+       (target_supports_stopped_by_hw_breakpoint): Define.
+       * target-delegates.c: Regenerate.
+
+2015-03-04  Pedro Alves  <palves@redhat.com>
+
+       * infrun.c (follow_fork_inferior): Use the whole of the
+       inferior_ptid and pending_follow.related_pid ptids instead of
+       building ptids from the process components.  Adjust verbose output
+       to use target_pid_to_str.
+       * linux-nat.c (linux_child_follow_fork): Use the whole of the
+       inferior_ptid and pending_follow.related_pid ptids instead of
+       building ptids from the process components.
+
+2015-03-04  Mark Kettenis  <kettenis@gnu.org>
+
+       * inf-ptrace.c [PT_GET_PROCESS_STATE]
+       (inf_ptrace_insert_fork_catchpoint): New function.
+       (inf_ptrace_remove_fork_catchpoint): New function.
+       (inf_ptrace_target) [PT_GET_PROCESS_STATE]: Install them.
+
+2015-03-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * s390-linux-tdep.c (s390_register_name): Return empty string
+       instead of NULL for registers that shouldn't be visible.
+
 2015-03-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
 
        * s390-linux-tdep.c (s390_gdbarch_init): Use the correct syscall
This page took 0.027161 seconds and 4 git commands to generate.