aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Welwarsky <matthias.welwarsky@sysgo.com>2017-07-26 11:23:19 +0200
committerPaul Fertser <fercerpav@gmail.com>2018-01-09 09:37:14 +0000
commit3cba4bd4cb8a8d9e8e27e3f83c647b4ff5123c22 (patch)
tree048a416ba2f92ed876e9b841f9a3fef1408c4b9b /src
parent81a33244df232a27a0f42f39aa34141009da3c3d (diff)
aarch64: fix crash on single-stepping
Make sure to skip un-examined targets (e.g. targets with deferred examination) on single-stepping fixes bug #158 Change-Id: Ib40c6fee03079fd078bd52a84615e6f8a081d128 Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com> Reviewed-on: http://openocd.zylin.com/4184 Tested-by: jenkins Reviewed-by: Yao Qi <qiyaoltc@gmail.com> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/target/aarch64.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/target/aarch64.c b/src/target/aarch64.c
index 8354d3ac..b18a12a4 100644
--- a/src/target/aarch64.c
+++ b/src/target/aarch64.c
@@ -770,6 +770,9 @@ static int aarch64_step_restart_smp(struct target *target)
if (curr == target)
continue;
+ if (!target_was_examined(curr))
+ continue;
+
retval = aarch64_check_state_one(curr,
PRSR_SDR, PRSR_SDR, &resumed, &prsr);
if (retval != ERROR_OK || (!resumed && (prsr & PRSR_HALT))) {