From f5363a3f7a207b164ebeb920d165fffa8c1891df 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 1644283391..a29f1e579c 100644 --- a/components/espcoredump/src/port/xtensa/core_dump_port.c +++ b/components/espcoredump/src/port/xtensa/core_dump_port.c @@ -249,7 +249,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); }