[PATCH] Fix kfail in gdb.base/callfuncs.exp

Yao Qi yao@codesourcery.com
Mon Oct 15 11:46:00 GMT 2012


Hi,
I find some tests in gdb.base/callfuncs.exp are not KFAIL'ed properly
in some configurations.  For native gdb configured as
'x86_64-unknown-linux-gnu',

$make check RUNTESTFLAGS='CC_FOR_TARGET=i686-pc-linux-gnu-gcc --target_board=unix/-m32 callfuncs.exp'

  KPASS: gdb.base/callfuncs.exp: p t_float_complex_values(fc1, fc2) (PRMS gdb/12798)
  KPASS: gdb.base/callfuncs.exp: p t_float_complex_many_args(fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4) (PRMS gdb/12800)
  KPASS: gdb.base/callfuncs.exp: p t_double_complex_values(dc1, dc2) (PRMS gdb/12798)
  KPASS: gdb.base/callfuncs.exp: p t_double_complex_many_args(dc1, dc2,dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4) (PRMS gdb/12800)
  KPASS: gdb.base/callfuncs.exp: call inferior func with struct - returns float _Complex (PRMS gdb/12796)

For native gdb configured as 'i686-pc-linux-gnu'

$ make check RUNTESTFLAGS='--target_board=native-gdbserver/-m64 callfuncs.exp'

  FAIL: gdb.base/callfuncs.exp: p t_float_complex_values(fc1, fc2)
  FAIL: gdb.base/callfuncs.exp: p t_float_complex_many_args(fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)
  FAIL: gdb.base/callfuncs.exp: p t_double_complex_values(dc1, dc2)
  FAIL: gdb.base/callfuncs.exp: p t_double_complex_many_args(dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4)
  FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns float _Complex

The tests are known to fail only on 64-bit, so this patch below fixes
these KPASS or FAIL.  OK to apply?

gdb/testsuite:

2012-10-15  Yao Qi  <yao@codesourcery.com>

	* gdb.base/callfuncs.exp (do_function_calls): KFAIL some test
	for x86 with -m64.
---
 gdb/testsuite/gdb.base/callfuncs.exp |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp
index f56761e..fe9dd1f 100644
--- a/gdb/testsuite/gdb.base/callfuncs.exp
+++ b/gdb/testsuite/gdb.base/callfuncs.exp
@@ -149,19 +149,34 @@ proc do_function_calls {} {
     }
 
     if [support_complex_tests] {
-	setup_kfail_for_target gdb/12798 "x86_64-*-*"
+	# x86-64 or x86 with -m64.
+	if { ([istarget  "x86_64-*-*"] || [istarget "i\[34567\]86-*-*"])
+	     && [is_lp64_target] } {
+	    setup_kfail gdb/12798 "*-*-*"
+	}
 	gdb_test "p t_float_complex_values(fc1, fc2)" " = 1"
 	gdb_test "p t_float_complex_values(fc3, fc4)" " = 0"
 
-	setup_kfail_for_target gdb/12800 "x86_64-*-*"
+	# x86-64 or x86 with -m64.
+	if { ([istarget  "x86_64-*-*"] || [istarget "i\[34567\]86-*-*"])
+	     && [is_lp64_target] } {
+	    setup_kfail gdb/12800 "*-*-*"
+	}
 	gdb_test "p t_float_complex_many_args(fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)" " = 1"
 	gdb_test "p t_float_complex_many_args(fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1, fc1)" " = 0"
 
-	setup_kfail_for_target gdb/12798 "x86_64-*-*"
+	# x86-64 or x86 with -m64.
+	if { ([istarget  "x86_64-*-*"] || [istarget "i\[34567\]86-*-*"])
+	     && [is_lp64_target] } {
+	    setup_kfail gdb/12798 "*-*-*"
+	}
 	gdb_test "p t_double_complex_values(dc1, dc2)" " = 1"
 	gdb_test "p t_double_complex_values(dc3, dc4)" " = 0"
 
-	setup_kfail_for_target gdb/12800 "x86_64-*-*"
+	if { ([istarget  "x86_64-*-*"] || [istarget "i\[34567\]86-*-*"])
+	     && [is_lp64_target] } {
+	    setup_kfail gdb/12800 "*-*-*"
+	}
 	gdb_test "p t_double_complex_many_args(dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4)" " = 1"
 	gdb_test "p t_double_complex_many_args(dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1)" " = 0"
 
@@ -245,8 +260,11 @@ proc do_function_calls {} {
     }
 
     if [support_complex_tests] {
-
-	setup_kfail_for_target gdb/12796 "x86_64-*-*"
+	# x86-64 or x86 with -m64.
+	if { ([istarget  "x86_64-*-*"] || [istarget "i\[34567\]86-*-*"])
+	     && [is_lp64_target] } {
+	    setup_kfail gdb/12796 "*-*-*"
+	}
 	gdb_test "p t_structs_fc(struct_val1)" ".*= 3 \\+ 3 \\* I" \
 	    "call inferior func with struct - returns float _Complex"
 
-- 
1.7.7.6



More information about the Gdb-patches mailing list