OSDN Git Service

target-xtensa: avoid double-stopping at breakpoints
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 4 Mar 2013 03:02:00 +0000 (07:02 +0400)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 29 Jul 2013 14:35:45 +0000 (18:35 +0400)
commita00817cc4c18b7872e92765a4736fb2227cc237b
treed5435f7fb92e8df1aef3cbdb0c6d7caf4916a377
parent5739006b9ab1ae3680359db5a291eae97eef0f9f
target-xtensa: avoid double-stopping at breakpoints

env->exception_taken is set every time an exception is taken. It is used
to allow single-stepping to stop at the first exception handler
instruction. This however must exclude debug exceptions, as otherwise
first step from the instruction where breakpoint was hit stops at that
same instruction.
Also don't check env->exception_taken directly from the
gen_intermediate_code_internal, instead allocate and use TB flag
XTENSA_TBFLAG_EXCEPTION.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
target-xtensa/cpu.h
target-xtensa/op_helper.c
target-xtensa/translate.c