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 set_context(): check if context is already current - x86_64: x86_64: Fix invalid input "=>" for bt command Fix cpumask_t recursive dependence issue 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 === v5 -> v4: 1) Plenty of code refactoring based on Lianbo's comments on v4. 2) Removed the magic number when dealing with regs bitmap, see [6]. 3) Rebased the patchset on top of latest upstream: ("1c6da3eaff8207 arm64: Fix bt command show wrong stacktrace on ramdump source") 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 [6]: https://www.mail-archive.com/devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx/msg00819.html Aditya Gupta (2): Remove 'frame' from prohibited commands list ppc64: correct gdb passthroughs by implementing machdep->get_cpu_reg Alexey Makhalov (2): set_context(): check if context is already current vmware_guestdump: Various format versions support Tao Liu (10): 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 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 | 71 ++++++---- defs.h | 194 ++++++++++++++++++++++++++- gdb-10.2.patch | 79 +++++++++++ gdb_interface.c | 35 ++--- kernel.c | 65 +++++++-- ppc64.c | 175 ++++++++++++++++++++++++- symbols.c | 15 +++ task.c | 34 +++-- tools.c | 13 +- unwind_x86_64.h | 4 - vmware_guestdump.c | 316 +++++++++++++++++++++++++++++++------------- x86_64.c | 319 ++++++++++++++++++++++++++++++++++++++++----- xen_hyper.c | 2 +- 14 files changed, 1224 insertions(+), 212 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