diff options
author | Mitchell Horne <mhorne@FreeBSD.org> | 2021-03-01 14:00:17 +0000 |
---|---|---|
committer | Mitchell Horne <mhorne@FreeBSD.org> | 2021-03-08 14:02:16 +0000 |
commit | 46810641e879fb406354a7094a216e955c9ce117 (patch) | |
tree | eaf03744b09d39407a1af475a9a25a2a00bc4f42 | |
parent | 35435ee5725a8c0c67bdb4fd22d18154634dd081 (diff) | |
download | src-46810641e879fb406354a7094a216e955c9ce117.tar.gz src-46810641e879fb406354a7094a216e955c9ce117.zip |
arm64: update kdb_thrctx->pcb_lr with BKPT_SKIP
This value should be kept in sync with updates to kdb_frame->tf_elr,
since it is queried by PC_REGS() in several places.
Reviewed by: markj, jhb
Sponsored by: The FreeBSD Foundation
(cherry picked from commit bd0b7cbf5ac1baff4211e09584e0b86d4d96228b)
-rw-r--r-- | sys/arm64/include/db_machdep.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/arm64/include/db_machdep.h b/sys/arm64/include/db_machdep.h index f2fd2a57a9c3..61b58415e41c 100644 --- a/sys/arm64/include/db_machdep.h +++ b/sys/arm64/include/db_machdep.h @@ -49,8 +49,9 @@ typedef long db_expr_t; #define BKPT_SIZE (4) #define BKPT_SET(inst) (BKPT_INST) -#define BKPT_SKIP do { \ - kdb_frame->tf_elr += BKPT_SIZE; \ +#define BKPT_SKIP do { \ + kdb_frame->tf_elr += BKPT_SIZE; \ + kdb_thrctx->pcb_lr += BKPT_SIZE; \ } while (0) #define db_clear_single_step kdb_cpu_clear_singlestep |