aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/record-full.c7
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.reverse/waitpid-reverse.exp4
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)