mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
unwind: fix too mush unwind warning on arm32 [1/1]
PD#SWPL-114632 Problem: too much unwind warning when pt_regs pc register is invalid Solution: use pt_regs lr register to unwind, replace pc register Verify: C3 Change-Id: I53bc7739e2909818c04d6e50b2172a06984bd883 Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
This commit is contained in:
committed by
Dongjin Kim
parent
76880201e8
commit
8b88bf9a31
@@ -413,10 +413,20 @@ int unwind_frame(struct stackframe *frame)
|
||||
return -URC_FAILURE;
|
||||
|
||||
idx = unwind_find_idx(frame->pc);
|
||||
#if IS_ENABLED(CONFIG_AMLOGIC_ARM_UNWIND)
|
||||
if (!idx)
|
||||
idx = unwind_find_idx(frame->lr);
|
||||
if (!idx) {
|
||||
pr_warn("unwind: Index not found, pc=%pS, lr=%pS\n",
|
||||
(void *)frame->pc, (void *)frame->lr);
|
||||
return -URC_FAILURE;
|
||||
}
|
||||
#else
|
||||
if (!idx) {
|
||||
pr_warn("unwind: Index not found %08lx\n", frame->pc);
|
||||
return -URC_FAILURE;
|
||||
}
|
||||
#endif
|
||||
|
||||
ctrl.vrs[FP] = frame->fp;
|
||||
ctrl.vrs[SP] = frame->sp;
|
||||
|
||||
Reference in New Issue
Block a user