fix(coredump): only clear high bit in PC when set

(cherry picked from commit eaefd0bd25862fcc7d98c95fbc1f1f0c6a48dca7)

Co-authored-by: Erhan Kurubas <erhan.kurubas@espressif.com>
This commit is contained in:
Zhang Hai Peng 2025-02-17 11:14:48 +08:00
parent beb054baad
commit bdef0e0cb4

View File

@ -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);
}