diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/record-full.c | 7 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/waitpid-reverse.exp | 4 |
4 files changed, 20 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bdd28fe..c5ffe47 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,6 +1,13 @@ 2016-08-10 Pedro Alves <palves@redhat.com> PR gdb/19187 + * record-full.c (record_full_remove_breakpoint): Don't remove the + breakpoint from the record_full_breakpoints VEC if we're detaching + the breakpoint from a fork child. + +2016-08-10 Pedro Alves <palves@redhat.com> + + PR gdb/19187 * break-catch-sig.c (signal_catchpoint_remove_location): Adjust interface. * break-catch-syscall.c (remove_catch_syscall): diff --git a/gdb/record-full.c b/gdb/record-full.c index 4134f39..3777315 100644 --- a/gdb/record-full.c +++ b/gdb/record-full.c @@ -1731,8 +1731,11 @@ record_full_remove_breakpoint (struct target_ops *ops, return ret; } - VEC_unordered_remove (record_full_breakpoint_p, - record_full_breakpoints, ix); + if (reason == REMOVE_BREAKPOINT) + { + VEC_unordered_remove (record_full_breakpoint_p, + record_full_breakpoints, ix); + } return 0; } } diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 1b9ffed..bfd1748 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-08-10 Pedro Alves <palves@redhat.com> + + PR gdb/19187 + * gdb.reverse/waitpid-reverse.exp: Add comment and remove + setup_kfails. + 2016-08-09 Pedro Alves <palves@redhat.com> Simon Marchi <simon.marchi@ericsson.com> diff --git a/gdb/testsuite/gdb.reverse/waitpid-reverse.exp b/gdb/testsuite/gdb.reverse/waitpid-reverse.exp index d583953..e8a1690 100644 --- a/gdb/testsuite/gdb.reverse/waitpid-reverse.exp +++ b/gdb/testsuite/gdb.reverse/waitpid-reverse.exp @@ -18,6 +18,8 @@ # # This test tests waitpid syscall for reverse execution. # +# Also serves as regression test for gdb/19187 (recording across a +# fork). if ![supports_reverse] { return @@ -40,14 +42,12 @@ gdb_test "break marker2" \ "Breakpoint $decimal at $hex: file .*$srcfile, line $decimal.*" \ "set breakpoint at marker2" -setup_kfail "gdb/19187" *-*-* gdb_continue_to_breakpoint "marker2" ".*$srcfile:.*" gdb_test "break marker1" \ "Breakpoint $decimal at $hex: file .*$srcfile, line $decimal.*" \ "set breakpoint at marker1" -setup_kfail "gdb/19187" *-*-* gdb_test "reverse-continue" ".*$srcfile:$decimal.*" "reverse to marker1" # If the variable was recorded properly on syscall, the old contents (-1) |