gdb/riscv: Update test to support targets without FP hardware

Update gdb.arch/riscv-reg-aliases.exp test to support targets without
floating point registers.

gdb/testsuite/ChangeLog:

	* gdb.arch/riscv-reg-aliases.exp: Handle targets without floating
	point hardware.
This commit is contained in:
Andrew Burgess 2018-11-05 22:00:31 +00:00
parent 17cf289784
commit cd115d615c
2 changed files with 23 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2018-11-08 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.arch/riscv-reg-aliases.exp: Handle targets without floating
point hardware.
2018-11-07 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.dwarf2/void-type.exp: Rename types, and make var_a an 'int'.

View File

@ -151,17 +151,23 @@ check_zero_register_value "after write to \$x0"
# we should access the register using 'REG_NAME.float'. In the following we
# figure out if the field name is needed or not by looking at how GDB prints
# on register.
set skip_freg_tests 0
set freg_extension "INVALID"
set message "check format of float registers"
gdb_test_multiple "p \$ft0" $message {
-re " = {float = \[^\r\n\]+}\r\n$gdb_prompt $" {
set freg_extension ".float"
gdb_test_multiple "info registers \$ft0" $message {
-re "Invalid register `ft0'\r\n$gdb_prompt $" {
set skip_freg_tests 1
set freg_extension "NONE"
pass $message
}
-re " = \[^{}\r\n\]+\r\n$gdb_prompt $" {
-re "ft0 \+\[0-9\]\+.*\r\n$gdb_prompt $" {
set freg_extension ""
pass $message
}
-re "ft0 \+\{float = .*\r\n$gdb_prompt $" {
set freg_extension ".float"
pass $message
}
}
gdb_assert ![string eq "${freg_extension}" "INVALID"] \
"check that floating point format has been understood"
@ -169,7 +175,10 @@ gdb_assert ![string eq "${freg_extension}" "INVALID"] \
# Now check that we can write zero, and read zero back to all of the integer
# and floating point registers.
check_setting_registers_to_zero ${xreg_names} ""
check_setting_registers_to_zero ${freg_names} ${freg_extension}
if { ! $skip_freg_tests } {
check_setting_registers_to_zero ${freg_names} ${freg_extension}
}
# Set each register in turn to a new value, and confirm that the new value can
# be read back from the primary name, and from all of the alias names. The
@ -177,4 +186,7 @@ check_setting_registers_to_zero ${freg_names} ${freg_extension}
# significantly different so that the float tests don't reuse value from the
# integer tests.
check_setting_registers_to_value ${xreg_names} "" 100
check_setting_registers_to_value ${freg_names} ${freg_extension} 500
if { ! $skip_freg_tests } {
check_setting_registers_to_value ${freg_names} ${freg_extension} 500
}