From 634c1c3109a2ffdf43ef9dab839c88108d9980f3 Mon Sep 17 00:00:00 2001 From: Andreas Arnez Date: Fri, 19 Jan 2018 19:59:53 +0100 Subject: [PATCH] S390: Fix infcalls in s390-vregs test case GDB used to assume that functions without debug info return int. It accepted an expression containing such a function call and silently interpreted the function's return value as int. But nowadays GDB yields an error message instead, see https://sourceware.org/ml/gdb-patches/2017-07/msg00139.html This affects the s390-vregs test case, because it contains calls to setrlimit64 and chdir. When no glibc debug info is installed, these lead to unnecessary FAILs. Fix this by adding appropriate casts to the inferior function calls. gdb/testsuite/ChangeLog: * gdb.arch/s390-vregs.exp: Explicitly cast the return values of setrlimit and chdir to int. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.arch/s390-vregs.exp | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d510b794a95..36c49243425 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-01-19 Andreas Arnez + + * gdb.arch/s390-vregs.exp: Explicitly cast the return values of + setrlimit and chdir to int. + 2018-01-19 Andreas Arnez * gdb.arch/s390-tdbregs.c (my_tbegin): Add comment documenting the diff --git a/gdb/testsuite/gdb.arch/s390-vregs.exp b/gdb/testsuite/gdb.arch/s390-vregs.exp index 915fcfca657..1fdb5c04a80 100644 --- a/gdb/testsuite/gdb.arch/s390-vregs.exp +++ b/gdb/testsuite/gdb.arch/s390-vregs.exp @@ -83,9 +83,9 @@ if [expr $before_pc + 6 != $after_pc] { # directory. if { $coredir != "" } { - gdb_test {print setrlimit (4, &(unsigned long [2]){~0UL, ~0UL})} \ + gdb_test {print (int) setrlimit (4, &(unsigned long [2]){~0UL, ~0UL})} \ " = .*" "setrlimit" - gdb_test "print chdir (\"${coredir}\")" " = 0" "chdir" + gdb_test "print (int) chdir (\"${coredir}\")" " = 0" "chdir" } # Initialize all vector registers with GDB "set" commands, using -- 2.30.2