gdb: testsuite: Support displaced stepping on LoongArch
authorTiezhu Yang <yangtiezhu@loongson.cn>
Tue, 10 May 2022 12:44:04 +0000 (20:44 +0800)
committerTiezhu Yang <yangtiezhu@loongson.cn>
Thu, 19 May 2022 13:56:53 +0000 (21:56 +0800)
commit18bd4744611b97e9fca41f97b871eea7bd66bd3e
treecb2b7f4ace04e9f5b4f7773af209e6cac30e4538
parent02646f1960a53e50c05218725cbf63098bee5bbe
gdb: testsuite: Support displaced stepping on LoongArch

When execute the following command on LoongArch:

  make check-gdb TESTS="gdb.base/async-shell.exp"

we can see the following message in gdb/testsuite/gdb.sum:

  UNSUPPORTED: gdb.base/async-shell.exp: displaced stepping

modify support_displaced_stepping to support displaced stepping
on LoongArch.

With this patch:

  PASS: gdb.base/async-shell.exp: run &
  PASS: gdb.base/async-shell.exp: shell echo foo
  PASS: gdb.base/async-shell.exp: interrupt
  PASS: gdb.base/async-shell.exp: process stopped

I did the following tests that use support_displaced_stepping
with this patch on LoongArch, there is no failed testcases.

loongson@linux:~/gdb.git$ grep -r support_displaced_stepping gdb/testsuite/gdb.*
gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.base/step-over-no-symbols.exp:    if { $displaced != "off" && ![support_displaced_stepping] } {
gdb/testsuite/gdb.base/moribund-step.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.base/async-shell.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.base/inferior-died.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.base/step-over-syscall.exp:        if {$displaced == "on" && ![support_displaced_stepping]} {
gdb/testsuite/gdb.mi/mi-watch-nonstop.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.mi/mi-nonstop.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.mi/mi-nsmoribund.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.mi/mi-nsintrall.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.mi/mi-nsthrexec.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.mi/mi-nonstop-exit.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.multi/watchpoint-multi.exp:if [support_displaced_stepping] {
gdb/testsuite/gdb.python/py-evthreads.exp:if { ![support_displaced_stepping] } {
gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp:    if { $displaced != "off" && ![support_displaced_stepping] } {
gdb/testsuite/gdb.threads/interrupt-while-step-over.exp:    if { ${displaced-stepping} != "off" && ![support_displaced_stepping] } {
gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp:    if { $displaced != "off" && ![support_displaced_stepping] } {

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
gdb/testsuite/lib/gdb.exp