Fixups per Daniel and Eli. Daniel, 1) Regarding register_raw_read, I just sidestepped the issue and added a PC field to my saved context. 2) Regarding threads, I could make checkpoint_command refuse if there are threads -- what's the best way to check that? I could look at to_shortname, or better, I could add an access method for the static variable "threaded" in linux-nat. Mark, I'd still like to have your ok. 2005-12-19 Michael Snyder Checkpoint/Restart for Linux. * linux-nat.c: Add support for debugging multiple forks. Add #include for linux-fork.h (interface spec). (super_mourn_inferior): New function pointer. (child_mourn_inferior): New function / target method. (linux_target): Claim to_mourn_inferior method pointer. (child_follow_fork): Call interface to linux-fork, conditionally add new fork processes to list of debugged processes. (kill_inferior): Use interface to linux-fork to kill multiple processes. * linux-fork.h: New file. * linux-fork.c: New file. Support for debugging multiple forks of the same program. Support for checkpoint and restart commands. * infrun.c (nullify_last_target_wait_ptid): New function. * Makefile.in: Add linux-fork. * config/i386/linux.mh: Add linux-fork. * doc/gdb.texinfo: Add documentation for linux-fork. * doc/gdbint.texinfo: Add internal documentation for checkpoints. * NEWS: Mention new functionality. 2005-12-19 Michael Van Meter Snyder Add testing for checkpoint/restart and multiple fork debugging. * gdb.base/checkpoint.c: New file. * gdb.base/checkpoint.exp: New file. * gdb.base/multi-fork.c: New file. * gdb.base/multi-fork.exp: New file. * gdb.base/pi.txt: New file (data for checkpoint.c test).