[v2,0/4] gdb: LoongArch: Add process record/replay and reverse debugging support

Message ID 20241122090624.2355-1-lihui@loongson.cn
Headers
Series gdb: LoongArch: Add process record/replay and reverse debugging support |

Message

Hui Li Nov. 22, 2024, 9:06 a.m. UTC
  This series add record/replay and reverse debugging support on LoongArch.

Changes v1 -> v2:
Suggested by Guinevere Larsen:
- Rewrite gdb/arch/loongarch-insn.h using inline function.
- Call record_full functions directly in loongarch_record_xxxx_insn()
  at gdb/loongarch-tdep.c
- Fix some typo, and modify some function names in gdb/arch/loongarch-insn.h,
  gdb/loongarch-tdep.c and gdb/loongarch-linux-tdep.c.

Hui Li (4):
  gdb: LoongArch: Add instruction definition for process record
  gdb: LoongArch: Add basic process record/replay support
  gdb: LoongArch: Add system call support for process record/replay
  gdb: Add LoongArch process record/replay support in NEWS and doc

 gdb/NEWS                     |    3 +
 gdb/arch/loongarch-insn.h    | 2556 ++++++++++++++++++++++++++++++++++
 gdb/arch/loongarch-syscall.h |  348 +++++
 gdb/configure.tgt            |    2 +-
 gdb/doc/gdb.texinfo          |    2 +-
 gdb/loongarch-linux-tdep.c   |  570 ++++++++
 gdb/loongarch-tdep.c         |  513 +++++++
 gdb/loongarch-tdep.h         |    7 +
 gdb/testsuite/lib/gdb.exp    |    2 +
 9 files changed, 4001 insertions(+), 2 deletions(-)
 create mode 100644 gdb/arch/loongarch-insn.h
 create mode 100644 gdb/arch/loongarch-syscall.h
  

Comments

Tom Tromey Nov. 22, 2024, 4:32 p.m. UTC | #1
>>>>> "Hui" == Hui Li <lihui@loongson.cn> writes:

Hui> This series add record/replay and reverse debugging support on LoongArch.
Hui> Changes v1 -> v2:
Hui> Suggested by Guinevere Larsen:
Hui> - Rewrite gdb/arch/loongarch-insn.h using inline function.
Hui> - Call record_full functions directly in loongarch_record_xxxx_insn()
Hui>   at gdb/loongarch-tdep.c
Hui> - Fix some typo, and modify some function names in gdb/arch/loongarch-insn.h,
Hui>   gdb/loongarch-tdep.c and gdb/loongarch-linux-tdep.c.

Thanks for the patch.
Considering that Guinevere thinks this is ok, I do too.
Approved-By: Tom Tromey <tom@tromey.com>

Tom
  
Tiezhu Yang Nov. 25, 2024, 11:21 a.m. UTC | #2
On 11/22/24 17:06, Hui Li wrote:
> This series add record/replay and reverse debugging support on LoongArch.
> 
> Changes v1 -> v2:
> Suggested by Guinevere Larsen:
> - Rewrite gdb/arch/loongarch-insn.h using inline function.
> - Call record_full functions directly in loongarch_record_xxxx_insn()
>    at gdb/loongarch-tdep.c
> - Fix some typo, and modify some function names in gdb/arch/loongarch-insn.h,
>    gdb/loongarch-tdep.c and gdb/loongarch-linux-tdep.c.
> 
> Hui Li (4):
>    gdb: LoongArch: Add instruction definition for process record
>    gdb: LoongArch: Add basic process record/replay support
>    gdb: LoongArch: Add system call support for process record/replay
>    gdb: Add LoongArch process record/replay support in NEWS and doc
> 
>   gdb/NEWS                     |    3 +
>   gdb/arch/loongarch-insn.h    | 2556 ++++++++++++++++++++++++++++++++++
>   gdb/arch/loongarch-syscall.h |  348 +++++
>   gdb/configure.tgt            |    2 +-
>   gdb/doc/gdb.texinfo          |    2 +-
>   gdb/loongarch-linux-tdep.c   |  570 ++++++++
>   gdb/loongarch-tdep.c         |  513 +++++++
>   gdb/loongarch-tdep.h         |    7 +
>   gdb/testsuite/lib/gdb.exp    |    2 +
>   9 files changed, 4001 insertions(+), 2 deletions(-)
>   create mode 100644 gdb/arch/loongarch-insn.h
>   create mode 100644 gdb/arch/loongarch-syscall.h

Thanks Eli, Guinevere and Tom for your review and suggestion.
I modify the related code of patch #1 as suggested by Guinevere,
one instruction one line, it is easy to compare the difference
in the future patch, looks something like this:

if (is_add_w_insn (insn)
      || is_add_d_insn (insn)
      || is_sub_w_insn (insn)
      ...)
    return true;
else
    return false;

This version looks good to me. Pushed.

Thanks,
Tiezhu