binutils-gdb/gdb/testsuite/gdb.reverse
Pedro Alves 01d3dedf60 Fix PR gdb/19187 (process record over a fork causes internal error)
Right after a fork is detected, we detach breakpoints from the child
(detach_breakpoints), which calls into target_remove_breakpoint with
inferior_ptid pointing at the child process, but leaves the breakpoint
marked inserted (in the parent).

The problem is that record-full.c always deletes all knowledge of the
breakpoint.  Then when we later really delete the breakpoint from the
parent, we fail the assertion, since the breakpoint is unexpectedly
not found in the record-full.c breakpoint table.

The fix is simply to not forget about the breakpoint if we're
detaching it from a fork child.

gdb/ChangeLog:
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.

gdb/testsuite/ChangeLog:
2016-08-10  Pedro Alves  <palves@redhat.com>

	PR gdb/19187
	* gdb.reverse/waitpid-reverse.exp: Add comment and remove
	setup_kfails.
2016-08-10 23:03:29 +01:00
..
amd64-tailcall-reverse.c
amd64-tailcall-reverse.exp
amd64-tailcall-reverse.S
break-precsave.exp
break-reverse.c
break-reverse.exp Add quotation mark in test message 2016-03-24 09:53:50 +00:00
consecutive-precsave.exp
consecutive-reverse.c
consecutive-reverse.exp
finish-precsave.exp
finish-reverse-bkpt.exp Fix gdb.reverse/finish-reverse-bkpt.exp 2016-04-07 17:06:14 +01:00
finish-reverse.c
finish-reverse.exp
fstatat-reverse.c
fstatat-reverse.exp
getresuid-reverse.c
getresuid-reverse.exp
i386-precsave.exp
i386-reverse.c
i386-reverse.exp
i386-sse-reverse.c
i386-sse-reverse.exp
i387-env-reverse.c
i387-env-reverse.exp
i387-stack-reverse.c
i387-stack-reverse.exp
insn-reverse.c Fix various bugs in arm_record_exreg_ld_st_insn 2016-02-26 15:00:36 +00:00
insn-reverse.exp
machinestate-precsave.exp
machinestate.c
machinestate.exp
ms1.c
next-reverse-bkpt-over-sr.exp Fix gdb.reverse/next-reverse-bkpt-over-sr.exp 2016-04-07 16:57:09 +01:00
pipe-reverse.c
pipe-reverse.exp
readv-reverse.c
readv-reverse.exp
recvmsg-reverse.c
recvmsg-reverse.exp
rerun-prec.c
rerun-prec.exp
s390-mvcle.c
s390-mvcle.exp
shr1.c
shr2.c
shr.h
sigall-precsave.exp
sigall-reverse.c
sigall-reverse.exp
singlejmp-reverse-nodebug.c
singlejmp-reverse-nodebug.S
singlejmp-reverse.c
singlejmp-reverse.exp
singlejmp-reverse.S
solib-precsave.exp Rename gdb_load_shlibs to gdb_load_shlib 2016-04-27 18:09:14 -04:00
solib-reverse.c
solib-reverse.exp Rename gdb_load_shlibs to gdb_load_shlib 2016-04-27 18:09:14 -04:00
step-precsave.exp Tweak gdb.reverse/step-precsave.exp and gdb.reverse/step-reverse.exp 2016-04-22 12:14:40 +01:00
step-reverse.c
step-reverse.exp Tweak gdb.reverse/step-precsave.exp and gdb.reverse/step-reverse.exp 2016-04-22 12:14:40 +01:00
time-reverse.c
time-reverse.exp
until-precsave.exp Simplify gdb.reverse/until-reverse.c 2016-03-30 16:36:51 +01:00
until-reverse.c Simplify gdb.reverse/until-reverse.c 2016-03-30 16:36:51 +01:00
until-reverse.exp Simplify gdb.reverse/until-reverse.c 2016-03-30 16:36:51 +01:00
ur1.c
waitpid-reverse.c
waitpid-reverse.exp Fix PR gdb/19187 (process record over a fork causes internal error) 2016-08-10 23:03:29 +01:00
watch-precsave.exp
watch-reverse.c
watch-reverse.exp