RE: Process record and replay checked in to main trunk

Pierre Muller
2009-05-07T22:24:16Z

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