Re: [patch 0/3] Displaced stepping for 16-bit Thumb instructions

Yao Qi
2010-12-29T03:09:05Z

On 12/25/2010 10:03 PM, Yao Qi wrote:
>
> Regression tested these three patches along with another pending patch
> on armv7l-unknown-linux-gnueabi.

As Pedro suggested, I run the whole test suite with displaced stepping
enabled. (I force to enable displaced stepping by hacking infrun.c to
set can_use_displaced_stepping to can_use_displaced_stepping_on. Any
other methods to enable displaced stepping? I think 'make check
RUNTESTFLAGS='"../gdb -ex "set displaced on""'' might work, but I didn't
try.)

Totally, we got three tests results (run with option
-mthumb/-march=armv5t on an ARM board on which system library is
compiled in ARM mode), they are

base : GDB cvs trunk,
thumb_disp : GDB cvs trunk with three patches applied,
thumb_disp_on: GDB cvs trunk with three patches applied, and displaced
stepping turned on

Compared between thumb_disp and thumb_disp_on, test result is the same.
Compared between base and thumb_disp, some failures in
gdb.base/structs.exp are fixed, which is out of my expectation.

There are three new failures came from `gdb_test_no_output "set
displaced-stepping off"'
FAIL: gdb.sum:gdb.arch/arm-disp-step.exp: set displaced-stepping off [#2]
FAIL: gdb.sum:gdb.arch/arm-disp-step.exp: set displaced-stepping off [#3]
FAIL: gdb.sum:gdb.arch/arm-disp-step.exp: set displaced-stepping off [#4]

> +proc try_continue_with_displaced_step { msg loc } {
> + gdb_test_no_output "set displaced-stepping on"
> + gdb_test_multiple "continue" "continue to $msg" {
> + -re ".*$loc.*" {
> + pass "continue to $msg"
> + }
> + -re "Displaced stepping is only supported in.*" {
> + gdb_test_no_output "set displaced-stepping off"

Fix these failures by changing this line to `gdb_test "set
displaced-stepping off" ""'

Comments?

--
Yao (é½å°§)