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 === 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(-) -- 2.40.1 -- 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