Hello,
The following commit has introduced stability issues in my AArch64 TCL
scripting environment and I'm wondering if others have experienced
similar issues.
95603fae1 openocd: revert workarounds for 'expr' syntax change
With this update, while the TCL script runs faster due to the reduction
in polling during math expressions, it does cause script execution
instability.
For example, the following TCL scripted sequence previously worked, but
now fails with the update.
// The target being stepped is an Armv8 core
1. step
2. reg x0
With the update, it appears in the TCL script the "reg x0" operation
occurs before the poller has a chance to determine the CPU has halted
from the 'step' command. OpenOCD then halts the script execution and
returns with an error stating that it's unable to read register x0
because the CPU core isn't halted. As a workaround, adding a 'sleep'
delay between the 'step' and 'reg x0' command resolves the issue, but it
is not ideal.
With this update, it appears that in a TCL script, any command that
causes a processor state change from 'running' to 'halted' followed by a
command which requires the processor to be halted could fail if the
poller hasn't updated processor state between the two commands.
I don't have the background details on this commit (95603fae1), but
wanted to bring it to the attention of the development community.
Daniel Goehring