Hi Lianbo,
Just FYI, yesterday Alexy made a new PR[1], which trying to integrate
the vmware_guestdump [2] onto the gdb stack unwinding. So I made a
rebase[3], which will be the potential "v3: gdb stack unwinding
support for crash utility". If possible, could you test and review on
this [3] please?
Thanks,
Tao Liu
[1]:
https://github.com/liutgnu/crash-dev/pull/2
[2]:
https://www.mail-archive.com/devel@lists.crash-utility.osci.io/msg00683.html
[3]:
https://github.com/liutgnu/crash-dev/tree/tao-rebase-v4
On Tue, Apr 30, 2024 at 5:13 PM Lianbo Jiang <lijiang(a)redhat.com> wrote:
Hi, Tao
Thank you for the update.
I will look at the v2 later, maybe take some time to test again.
Thanks.
Lianbo
On 4/28/24 12:02, devel-request(a)lists.crash-utility.osci.io wrote:
> Date: Sun, 28 Apr 2024 12:01:57 +0800
> From: Tao Liu<ltao(a)redhat.com>
> Subject: [Crash-utility] [Crash-Utility][PATCH v2 00/13] gdb stack
> unwinding support for crash utility
> To:devel@lists.crash-utility.osci.io
> Cc: Tao Liu<ltao(a)redhat.com>
> Message-ID:<20240428040210.11474-1-ltao@redhat.com>
> Content-Type: text/plain; charset=UTF-8
>
> 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 gdb
> stack unwinding support.
>
> === part 2
> arm64: Add gdb stack unwinding support
> 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: 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
> ===
>
> 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@lists.crash-utility.osci.io/msg0046...
> [
2]:https://www.mail-archive.com/devel@lists.crash-utility.osci.io/msg0048...
> [
3]:https://www.mail-archive.com/devel@lists.crash-utility.osci.io/msg0055...
>
> Aditya Gupta (2):
> Remove 'frame' from prohibited commands list
> ppc64: correct gdb passthroughs by implementing machdep->get_cpu_reg
>
> 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 | 30 +++--
> tools.c | 8 +-
> x86_64.c | 299 +++++++++++++++++++++++++++++++++++++++++++-----
> 10 files changed, 916 insertions(+), 105 deletions(-)
>
> -- 2.40.1
--
Crash-utility mailing list -- devel(a)lists.crash-utility.osci.io
To unsubscribe send an email to devel-leave(a)lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines:
https://github.com/crash-utility/crash/wiki