On Fri, May 31, 2024 at 5:30 PM <devel-request(a)lists.crash-utility.osci.io>
wrote:
Date: Fri, 31 May 2024 17:19:33 +0800
From: Tao Liu <ltao(a)redhat.com>
Subject: [Crash-utility] [PATCH v4 10/16] Parse stack by
inactive_stack_frame priorily if the struct is valid
To: devel(a)lists.crash-utility.osci.io
Cc: Mahesh J Salgaonkar <mahesh(a)linux.ibm.com>, "Naveen N . Rao"
<naveen.n.rao(a)linux.vnet.ibm.com>, Lianbo Jiang <
lijiang(a)redhat.com>,
Alexey Makhalov <alexey.makhalov(a)broadcom.com>
Message-ID: <20240531091939.97828-11-ltao(a)redhat.com>
Content-Type: text/plain; charset=UTF-8
Cc: Sourabh Jain <sourabhjain(a)linux.ibm.com>
Cc: Hari Bathini <hbathini(a)linux.ibm.com>
Cc: Mahesh J Salgaonkar <mahesh(a)linux.ibm.com>
Cc: Naveen N. Rao <naveen.n.rao(a)linux.vnet.ibm.com>
Cc: Lianbo Jiang <lijiang(a)redhat.com>
Cc: HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab(a)nec.com>
Cc: Tao Liu <ltao(a)redhat.com>
Cc: Alexey Makhalov <alexey.makhalov(a)broadcom.com>
Signed-off-by: Tao Liu <ltao(a)redhat.com>
---
x86_64.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/x86_64.c b/x86_64.c
index 4ba0b40..54c69fd 100644
--- a/x86_64.c
+++ b/x86_64.c
@@ -6519,6 +6519,17 @@ x86_64_ORC_init(void)
};
struct ORC_data *orc;
+ MEMBER_OFFSET_INIT(inactive_task_frame_bp, "inactive_task_frame",
"bp");
+ MEMBER_OFFSET_INIT(inactive_task_frame_ret_addr,
"inactive_task_frame", "ret_addr");
+ MEMBER_OFFSET_INIT(inactive_task_frame_r15, "inactive_task_frame",
"r15");
+ MEMBER_OFFSET_INIT(inactive_task_frame_r14, "inactive_task_frame",
"r14");
+ MEMBER_OFFSET_INIT(inactive_task_frame_r13, "inactive_task_frame",
"r13");
+ MEMBER_OFFSET_INIT(inactive_task_frame_r12, "inactive_task_frame",
"r12");
+ MEMBER_OFFSET_INIT(inactive_task_frame_flags,
"inactive_task_frame", "flags");
+ MEMBER_OFFSET_INIT(inactive_task_frame_si, "inactive_task_frame",
"si");
+ MEMBER_OFFSET_INIT(inactive_task_frame_di, "inactive_task_frame",
"di");
+ MEMBER_OFFSET_INIT(inactive_task_frame_bx, "inactive_task_frame",
"bx");
+
if (machdep->flags & FRAMEPOINTER)
return;
@@ -6576,17 +6587,6 @@ x86_64_ORC_init(void)
orc->__stop_orc_unwind = symbol_value("__stop_orc_unwind");
orc->orc_lookup = symbol_value("orc_lookup");
- MEMBER_OFFSET_INIT(inactive_task_frame_bp, "inactive_task_frame",
"bp");
- MEMBER_OFFSET_INIT(inactive_task_frame_ret_addr,
"inactive_task_frame", "ret_addr");
- MEMBER_OFFSET_INIT(inactive_task_frame_r15, "inactive_task_frame",
"r15");
- MEMBER_OFFSET_INIT(inactive_task_frame_r14, "inactive_task_frame",
"r14");
- MEMBER_OFFSET_INIT(inactive_task_frame_r13, "inactive_task_frame",
"r13");
- MEMBER_OFFSET_INIT(inactive_task_frame_r12, "inactive_task_frame",
"r12");
- MEMBER_OFFSET_INIT(inactive_task_frame_flags,
"inactive_task_frame", "flags");
- MEMBER_OFFSET_INIT(inactive_task_frame_si, "inactive_task_frame",
"si");
- MEMBER_OFFSET_INIT(inactive_task_frame_di, "inactive_task_frame",
"di");
- MEMBER_OFFSET_INIT(inactive_task_frame_bx, "inactive_task_frame",
"bx");
-
orc->has_signal = MEMBER_EXISTS("orc_entry", "signal"); /*
added
at 6.3 */
orc->has_end = MEMBER_EXISTS("orc_entry", "end"); /*
removed
at 6.4 */
I would suggest folding the current patch into [PATCH v4 09/16].
Thanks
Lianbo
--
2.40.1