From eaefd0bd25862fcc7d98c95fbc1f1f0c6a48dca7 Mon Sep 17 00:00:00 2001 From: Erhan Kurubas Date: Fri, 17 Jan 2025 17:20:45 +0100 Subject: [PATCH] fix(coredump): only clear high bit in PC when set --- components/espcoredump/src/port/xtensa/core_dump_port.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/espcoredump/src/port/xtensa/core_dump_port.c b/components/espcoredump/src/port/xtensa/core_dump_port.c index 8efae60d57..3aff19c537 100644 --- a/components/espcoredump/src/port/xtensa/core_dump_port.c +++ b/components/espcoredump/src/port/xtensa/core_dump_port.c @@ -241,7 +241,7 @@ static esp_err_t esp_core_dump_get_regs_from_stack(void* stack_addr, for (int i = 0; i < XT_SOL_AR_NUM; i++) { regs->ar[i] = stack_arr[XT_SOL_AR_START + i]; } - regs->pc = (regs->pc & 0x3fffffff); + if (regs->pc & 0x80000000) { regs->pc = (regs->pc & 0x3fffffff); }