aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/callfuncs.exp
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2015-11-20 11:36:07 +0100
committerJose E. Marchesi <jose.marchesi@oracle.com>2015-11-20 11:36:07 +0100
commitbb0974456ed6d421e8d0b257f1e108c242326afc (patch)
tree62f3943f918be30857e7cecdc5b2def8add3c0b4 /gdb/testsuite/gdb.base/callfuncs.exp
parent9c88ed8f116dc5f9471280c73f9ab08c81a86f2d (diff)
downloadgdb-bb0974456ed6d421e8d0b257f1e108c242326afc.zip
gdb-bb0974456ed6d421e8d0b257f1e108c242326afc.tar.gz
gdb-bb0974456ed6d421e8d0b257f1e108c242326afc.tar.bz2
callfuncs.exp: avoid spurious register differences in sparc64 targets.
The Linux kernel disables the FPU upon returning to userland. This introduces spurious failures in the register preservation tests in callfuncs.exp, since the pstate.PEF bit gets cleared after system calls. This patch filters out the pstate register in sparc64-*-linux-gnu targets, so the relevant tests are no longer fooled and pass. gdb/testsuite/ChangeLog: 2015-11-20 Jose E. Marchesi <jose.marchesi@oracle.com> * gdb.base/callfuncs.exp (fetch_all_registers): Filter out the pstate register when comparing registers values in sparc64-*-linux-gnu targets to avoid spurious differences.
Diffstat (limited to 'gdb/testsuite/gdb.base/callfuncs.exp')
-rw-r--r--gdb/testsuite/gdb.base/callfuncs.exp10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp
index fda3cb7..28e2fe1 100644
--- a/gdb/testsuite/gdb.base/callfuncs.exp
+++ b/gdb/testsuite/gdb.base/callfuncs.exp
@@ -254,6 +254,16 @@ proc fetch_all_registers {test} {
}
exp_continue
}
+ -re "^pstate\[ \t\]+\[^\r\n\]+\r\n" {
+ if [istarget "sparc64-*-linux-gnu"] {
+ # Filter out the pstate register, since in sparc64
+ # targets the Linux kernel disables pstate.PEF when
+ # returning from traps, giving spurious differences.
+ } else {
+ lappend all_registers_lines $expect_out(0,string)
+ }
+ exp_continue
+ }
-re "^last_break\[ \t\]+\[^\r\n\]+\r\n" {
if [istarget "s390*-*-*"] {
# Filter out last_break which is read-only,