Process record and replay checked in to main trunk

Hui Zhu
2009-04-30T07:59:39Z

Hi guys,

Process record and replay make gdb can record inferior execute log and
replay (include reverse debug).
Now, it support I386-Linux single-thread single-inferior native debug.

It was checked in today.
Thanks for evey people that spent time on process record. Precord
can't be a part of gdb without your help. Thank you very much. :)

And precord still has a long way to go. There have a lot of thing need to do:

1. Support i386 more better. Now, precord doesn't support mmx insns,
support fp insns not very well and doesn't support a lot of insns.

2. Support more arches. X86-64 is the first one (linux-record.c).
MIPS, ARM and so on.

3. Support memory free better. Now, precord just can output a warning
for memumap. It can do nothing when there is a sys_brk to free the
memory.
I had make a patch to output a warning when there is a sys_brk to free
the memory and make a plan to make precord can support free memory.
I will keep work on it.

4. Support multi-thread and multi-inferior.
I remember Pedro make a patch for reverse debug resume. I think we
need this patch when multi-inferior check in.

5. Make record speed up and need less memory.
I have made a plan to make p record doesn't record execution log of
some functions (It can set), for example some functions in glibc.

6. Make execution log can dump out to be a file and can replay for next time.
Maybe it can make together with coredump support. It must be a cool
function. :)

Guys, please work on it if you interesting with some of them. And
feel free tell me your ideas and comments. It will help precord a
lot.

Thanks,
Hui