[Crash-utility] Re: [PATCH v4 00/16] gdb stack unwinding support for crash utility

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tao, thanks for putting all these things together. The patch set looks good to me. It was tested against various kernel versions/flavors and VMware dump formats. No issues. Note: x86_64 architecture only.
Regards,
--Alexey

On 5/31/24 2:19 AM, Tao Liu wrote:
This patchset is a rebase/merged version of the following 3 patchsets:

1): [PATCH v10 0/5] Improve stack unwind on ppc64 [1]
2): [PATCH 0/5] x86_64 gdb stack unwinding support [2]
3): Clean up on top of one-thread-v2 [3]

A complete description of gdb stack unwinding support for crash can be
found in [1].

This patchset can be divided into the following 2 parts:

1) part1: arch independent, mainly modify on the
    crash_target.c/gdb_interface.c files, in preparation of the
    gdb side.
2) part2: arch specific part, for implementing ppc64/x86_64/arm64/vmware
    gdb stack unwinding support.

=== part 2

- arm64:
arm64: Add gdb stack unwinding support

- vmware:
vmware_guestdump: Various format versions support
x86_64: fix gdb bt for vmware dumps
set_context(): check if context is already current

- x86_64:
x86_64: Fix invalid input "=>" for bt command
Fix cpumask_t recursive dependence issue
Parse stack by inactive_stack_frame priorily if the struct is valid
x86_64: Add gdb stack unwinding support

- ppc64:
ppc64: correct gdb passthroughs by implementing machdep->get_cpu_reg

=== part 1
Stop stack unwinding at non-kernel address
Fix gdb_interface: restore gdb's output streams at end of gdb_interface
Print task pid/command instead of CPU index
Rename get_cpu_reg to get_current_task_reg
Let crash change gdb context
Leave only one gdb thread for crash
Remove 'frame' from prohibited commands list
===

v4 -> v3:
Fixed the author issue in [PATCH v3 06/16] Fix gdb_interface: restore gdb's
output streams at end of gdb_interface.

v3 -> v2:
1) Updated CC list as pointed out in [4]
2) Compiling issues as in [5]


v2 -> v1:
1) Added the patch: x86_64: Fix invalid input "=>" for bt command,
    thanks for Kazu's testing.
2) Modify the patch: x86_64: Add gdb stack unwinding support, added the
    pcp_save, spp_save and sp, for restoring the value in match of the original
    code logic.

[1]: https://www.mail-archive.com/devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx/msg00469.html
[2]: https://www.mail-archive.com/devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx/msg00488.html
[3]: https://www.mail-archive.com/devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx/msg00554.html
[4]: https://www.mail-archive.com/devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx/msg00681.html
[5]: https://www.mail-archive.com/devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx/msg00715.html

Aditya Gupta (2):
   Remove 'frame' from prohibited commands list
   ppc64: correct gdb passthroughs by implementing machdep->get_cpu_reg

Alexey Makhalov (3):
   set_context(): check if context is already current
   x86_64: fix gdb bt for vmware dumps
   vmware_guestdump: Various format versions support

Tao Liu (11):
   Leave only one gdb thread for crash
   Let crash change gdb context
   Rename get_cpu_reg to get_current_task_reg
   Print task pid/command instead of CPU index
   Fix gdb_interface: restore gdb's output streams at end of
     gdb_interface
   Stop stack unwinding at non-kernel address
   x86_64: Add gdb stack unwinding support
   Parse stack by inactive_stack_frame priorily if the struct is valid
   Fix cpumask_t recursive dependence issue
   x86_64: Fix invalid input "=>" for bt command
   arm64: Add gdb stack unwinding support

  arm64.c            | 114 +++++++++++++++-
  crash_target.c     |  47 ++++---
  defs.h             | 187 ++++++++++++++++++++++++++-
  gdb-10.2.patch     |  79 ++++++++++++
  gdb_interface.c    |  33 ++---
  kernel.c           |  61 +++++++--
  ppc64.c            | 163 ++++++++++++++++++++++-
  task.c             |  33 +++--
  tools.c            |   8 +-
  vmware_guestdump.c | 316 ++++++++++++++++++++++++++++++++-------------
  x86_64.c           | 302 ++++++++++++++++++++++++++++++++++++++-----
  11 files changed, 1151 insertions(+), 192 deletions(-)

--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux