New proc is_aarch64_target

Some tests expect the the target is aarch64, but checking target
triplet is not accurate, because target triplet can be aarch64 but
the program is in arm (or aarch32) state.

This patch addes a new proc is_aarch64_target which returns true
if the target is on aarch64 state.

gdb/testsuite:

2015-07-07  Yao Qi  <yao.qi@linaro.org>

	* gdb.arch/aarch64-atomic-inst.exp: Check is_aarch64_target
	instead of istarget "aarch64*-*-*".
	* gdb.arch/aarch64-fp.exp: Likewise.
	* gdb.base/float.exp: Likewise.
	* gdb.reverse/aarch64.exp: Likewise.
	* lib/gdb.exp (is_aarch64_target): New proc.
This commit is contained in:
Yao Qi 2015-07-07 16:58:20 +01:00
parent 9fcf688e80
commit 4931af25b8
6 changed files with 23 additions and 4 deletions

View File

@ -1,3 +1,12 @@
2015-07-07 Yao Qi <yao.qi@linaro.org>
* gdb.arch/aarch64-atomic-inst.exp: Check is_aarch64_target
instead of istarget "aarch64*-*-*".
* gdb.arch/aarch64-fp.exp: Likewise.
* gdb.base/float.exp: Likewise.
* gdb.reverse/aarch64.exp: Likewise.
* lib/gdb.exp (is_aarch64_target): New proc.
2015-07-07 Yao Qi <yao.qi@linaro.org>
* lib/gdb.exp (is_aarch32_target): New proc.

View File

@ -19,7 +19,7 @@
# Test single stepping through atomic sequences beginning with
# a ldxr instruction and ending with a stxr instruction.
if {![istarget "aarch64*"]} {
if {![is_aarch64_target]} {
verbose "Skipping ${gdb_test_file_name}."
return
}

View File

@ -19,7 +19,7 @@
# PR server/17457
# Test aarch64 floating point registers q0, q1, v0, v1, fpsr, fpcr
if {![istarget "aarch64*"]} {
if {![is_aarch64_target]} {
verbose "Skipping ${gdb_test_file_name}."
return
}

View File

@ -36,7 +36,7 @@ if ![runto_main] then {
# Test "info float".
if { [istarget "aarch64*-*-*"] } then {
if { [is_aarch64_target] } then {
gdb_test "info float" "d0.*d1.*d31.*s0.*s1.*s31.*" "info float"
} elseif { [istarget "alpha*-*-*"] } then {
gdb_test "info float" "f0.*" "info float"

View File

@ -19,7 +19,7 @@ if ![supports_reverse] {
# Test aarch64 instruction recording.
if {![istarget "aarch64*-*-*"]} then {
if {![is_aarch64_target]} then {
verbose "Skipping aarch64 instruction recording tests."
return
}

View File

@ -2308,6 +2308,16 @@ gdb_caching_proc is_aarch32_target {
return 1
}
# Return 1 if this target is an aarch64, either lp64 or ilp32.
proc is_aarch64_target {} {
if { ![istarget "aarch64*-*-*"] } {
return 0
}
return [expr ![is_aarch32_target]]
}
# Return 1 if displaced stepping is supported on target, otherwise, return 0.
proc support_displaced_stepping {} {