mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 18:39:34 +08:00
Add ISA 3.1 check to powerpc-plxv-norel.exp
This patch adds a file with the ISA 3.1 check. The ISA 3.1 check is added to the test to ensure the test is only run on ISA 3.1 or newer. gdb/testsuite/ChangeLog 2021-06-25 Carl Love <cel@us.ibm.com> * gdb.arch/powerpc-plxv-norel.exp: Add call to skip_power_isa_3_1_tests. * lib/gdb.exp(skip_power_isa_3_1_tests): New gdb_caching_proc test.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
gdb/testsuite/ChangeLog
|
||||||
|
2021-06-25 Carl Love <cel@us.ibm.com>
|
||||||
|
|
||||||
|
* gdb.arch/powerpc-plxv-norel.exp: Add call to skip_power_isa_3_1_tests.
|
||||||
|
* lib/gdb.exp(skip_power_isa_3_1_tests): New gdb_caching_proc test.
|
||||||
|
|
||||||
2021-06-25 Tom Tromey <tromey@adacore.com>
|
2021-06-25 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
* gdb.ada/py_range.exp: Add type name test cases.
|
* gdb.ada/py_range.exp: Add type name test cases.
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
# Test to see if gdb is properly single stepping over the
|
# Test to see if gdb is properly single stepping over the
|
||||||
# displaced plxv instruction.
|
# displaced plxv instruction.
|
||||||
|
|
||||||
if { ![istarget powerpc*-*] } {
|
if { ![istarget powerpc*-*] || [skip_power_isa_3_1_tests] } {
|
||||||
verbose "Skipping powerpc plxv test."
|
verbose "Skipping powerpc ISA 3.1 plxv test."
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3129,6 +3129,53 @@ gdb_caching_proc skip_altivec_tests {
|
|||||||
return $skip_vmx_tests
|
return $skip_vmx_tests
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Run a test on the power target to see if it supports ISA 3.1 instructions
|
||||||
|
gdb_caching_proc skip_power_isa_3_1_tests {
|
||||||
|
global srcdir subdir gdb_prompt inferior_exited_re
|
||||||
|
|
||||||
|
set me "skip_power_isa_3_1_tests"
|
||||||
|
|
||||||
|
# Compile a test program containing ISA 3.1 instructions.
|
||||||
|
set src {
|
||||||
|
int main() {
|
||||||
|
asm volatile ("pnop"); // marker
|
||||||
|
asm volatile ("nop");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if {![gdb_simple_compile $me $src executable ]} {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# No error message, compilation succeeded so now run it via gdb.
|
||||||
|
|
||||||
|
gdb_exit
|
||||||
|
gdb_start
|
||||||
|
gdb_reinitialize_dir $srcdir/$subdir
|
||||||
|
gdb_load "$obj"
|
||||||
|
gdb_run_cmd
|
||||||
|
gdb_expect {
|
||||||
|
-re ".*Illegal instruction.*${gdb_prompt} $" {
|
||||||
|
verbose -log "\n$me Power ISA 3.1 hardware not detected"
|
||||||
|
set skip_power_isa_3_1_tests 1
|
||||||
|
}
|
||||||
|
-re ".*$inferior_exited_re normally.*${gdb_prompt} $" {
|
||||||
|
verbose -log "\n$me: Power ISA 3.1 hardware detected"
|
||||||
|
set skip_power_isa_3_1_tests 0
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
warning "\n$me: default case taken"
|
||||||
|
set skip_power_isa_3_1_tests 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gdb_exit
|
||||||
|
remote_file build delete $obj
|
||||||
|
|
||||||
|
verbose "$me: returning $skip_power_isa_3_1_tests" 2
|
||||||
|
return $skip_power_isa_3_1_tests
|
||||||
|
}
|
||||||
|
|
||||||
# Run a test on the target to see if it supports vmx hardware. Return 0 if so,
|
# Run a test on the target to see if it supports vmx hardware. Return 0 if so,
|
||||||
# 1 if it does not. Based on 'check_vmx_hw_available' from the GCC testsuite.
|
# 1 if it does not. Based on 'check_vmx_hw_available' from the GCC testsuite.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user