target/cortex_a: fix temporary breakpoint during step
commitcf81de70524d615aa307f94b9b326bed42d7dfc0
authorAntonio Borneo <borneo.antonio@gmail.com>
Wed, 18 Jul 2018 13:38:49 +0000 (18 15:38 +0200)
committerMatthias Welwarsky <matthias@welwarsky.de>
Sat, 27 Oct 2018 13:58:02 +0000 (27 14:58 +0100)
tree1d0f6baccb7160f1498680c3bb0e89a02d74c141
parent988a002a30afe4facd116c97cba88b3793841046
target/cortex_a: fix temporary breakpoint during step

Commit c8926d14579528bfcead1e179baf7cb846513db4 introduces the
context and hybrid breakpoint types beside existing SW and HW
types. The new field "asid" is non-zero only for these new types.

The commit above did not properly initialize "asid" to 0 for a
temporarily HW breakpoint used during single step. This causes
cortex_a_unset_breakpoint() to identify this breakpoint as of
type "hybrid".

Identified through valgrind error:
Conditional jump or move depends on uninitialised value(s)
Actually valgrind triggers a total of 10 messages about use of
uninitialized variables, but they are all caused by the first
conditional jump bases on "asid != 0".

Fixed by initializing "asid" to 0 in cortex_a_step().

Fixes: c8926d145795 ("cortex_a hybrid & context breakpoints")
Change-Id: Ib674d8457d1e02e10332fd9d73554d13719ef93d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4613
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
src/target/cortex_a.c