This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Process record and replay checked in to main trunk


Guessing it isn't implemented for 64 bit.

Perhaps we should have a --disable-process-record config option?
If only for a back-up plan?

Pierre Muller wrote:
Your patch seems to break multi build for cygwin:

If I configure with --enable-targets=all and --enable-64-bits-bfd


gcc -gstabs+ -O0 -I. -I../../purecvs/gdb -I../../purecvs/gdb/common -I../../pu recvs/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../ ../purecvs/gdb/../include/opcode -I../../purecvs/gdb/../readline/.. -I../bfd -I. ./../purecvs/gdb/../bfd -I../../purecvs/gdb/../include -I../libdecnumber -I../.. /purecvs/gdb/../libdecnumber -I../../purecvs/gdb/gnulib -Ignulib -DMI_OUT=1 -D TUI=1 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-unused -Wno-switch -Wno-char-subscripts -Werror -c -o linux-record.o -MT li nux-record.o -MMD -MP -MF .deps/linux-record.Tpo ../../purecvs/gdb/linux-record. c ../../purecvs/gdb/linux-record.c: In function `record_linux_system_call': ../../purecvs/gdb/linux-record.c:397: warning: unsigned int format, uint32_t arg (arg 2) ../../purecvs/gdb/linux-record.c:397: warning: unsigned int format, uint32_t arg (arg 2) ../../purecvs/gdb/linux-record.c:629: warning: int format, uint32_t arg (arg 3) ../../purecvs/gdb/linux-record.c:629: warning: int format, uint32_t arg (arg 3) ../../purecvs/gdb/linux-record.c:938: warning: unsigned int format, uint32_t arg (arg 2) ../../purecvs/gdb/linux-record.c:938: warning: unsigned int format, uint32_t arg (arg 2) ../../purecvs/gdb/linux-record.c:1636: error: `F_GETLK64' undeclared (first use in this function) ../../purecvs/gdb/linux-record.c:1636: error: (Each undeclared identifier is rep orted only once ../../purecvs/gdb/linux-record.c:1636: error: for each function it appears in.) ../../purecvs/gdb/linux-record.c:1642: error: `F_SETLK64' undeclared (first use in this function) ../../purecvs/gdb/linux-record.c:1643: error: `F_SETLKW64' undeclared (first use in this function) ../../purecvs/gdb/linux-record.c:1789: warning: int format, long int arg (arg 4)

../../purecvs/gdb/linux-record.c:2199: warning: unsigned int format,
uint32_t ar
g (arg 2)
../../purecvs/gdb/linux-record.c:2199: warning: unsigned int format,
uint32_t ar
g (arg 2)
make[1]: *** [linux-record.o] Error 1
make[1]: Leaving directory `/usr/local/src/gdbcvs/multibuild/gdb'
make: *** [all-gdb] Error 2


Maybe it is out of scope to support reverse debugging of linux code for remote target, but would it then be possible to avoid that this source gets compiled?


Pierre Muller Pascal language support maintainer for GDB


-----Message d'origine-----
De : gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] De la
part de Hui Zhu
Envoyé : Thursday, April 30, 2009 10:02 AM
À : gdb ml
Cc : Pedro Alves; Marc Khouzam; Michael Snyder; Thiago Jung Bauermann;
Eli Zaretskii; Mark Kettenis
Objet : Process record and replay checked in to main trunk

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]