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.
This commit is contained in:
Andreas Arnez
2018-01-19 19:59:53 +01:00
parent a0aad53764
commit 634c1c3109
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2018-01-19 Andreas Arnez <arnez@linux.vnet.ibm.com>
* gdb.arch/s390-vregs.exp: Explicitly cast the return values of
setrlimit and chdir to int.
2018-01-19 Andreas Arnez <arnez@linux.vnet.ibm.com> 2018-01-19 Andreas Arnez <arnez@linux.vnet.ibm.com>
* gdb.arch/s390-tdbregs.c (my_tbegin): Add comment documenting the * gdb.arch/s390-tdbregs.c (my_tbegin): Add comment documenting the

View File

@ -83,9 +83,9 @@ if [expr $before_pc + 6 != $after_pc] {
# directory. # directory.
if { $coredir != "" } { if { $coredir != "" } {
gdb_test {print setrlimit (4, &(unsigned long [2]){~0UL, ~0UL})} \ gdb_test {print (int) setrlimit (4, &(unsigned long [2]){~0UL, ~0UL})} \
" = .*" "setrlimit" " = .*" "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 # Initialize all vector registers with GDB "set" commands, using