You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
3.4 KiB
105 lines
3.4 KiB
commit 77ae9c1933b5007fdcbd222b0eaa2d775ea6ae43 |
|
Author: Yao Qi <yao.qi@linaro.org> |
|
Date: Fri Nov 13 15:03:25 2015 +0000 |
|
|
|
gdb.base/gnu_vector.exp: Don't test output from the inferior |
|
|
|
gdb.base/gnu_vector.c printf the vector and gdb.base/gnu_vector.exp |
|
expects the output by gdb_test_multiple. Nowadays, the test doesn't |
|
expect the output from inferior_spawn_id, which is wrong. Even we |
|
change the test to expect from inferior_spawn_id for the inferior |
|
output, it is still possible the inferior exit before tcl/expect gets |
|
the inferior output. We see this fail on both s390x-linux and |
|
ppc-linux on buildbot, |
|
|
|
FAIL: gdb.base/gnu_vector.exp: verify vector return value (the program exited) |
|
|
|
https://sourceware.org/ml/gdb-testers/2015-q4/msg04922.html |
|
https://sourceware.org/ml/gdb-testers/2015-q4/msg04952.html |
|
|
|
In order to address these two shortcomings above in gnu_vector.exp, |
|
this patch rewrites the test a little bit. Get rid of checking the |
|
inferior output, and instead checking them by printing them. In this |
|
way, the test can also be run on the target without inferior io |
|
(gdb,noinferiorio is set in the board file). |
|
|
|
gdb/testsuite: |
|
|
|
2015-11-13 Yao Qi <yao.qi@linaro.org> |
|
|
|
* gdb.base/gnu_vector.exp: Check the return value by "p res". |
|
* gdb.base/gnu_vector.c: Don't include stdio.h. |
|
(main): Don't print res and call add_some_intvecs. |
|
|
|
### a/gdb/testsuite/ChangeLog |
|
### b/gdb/testsuite/ChangeLog |
|
## -1,3 +1,9 @@ |
|
+2015-11-13 Yao Qi <yao.qi@linaro.org> |
|
+ |
|
+ * gdb.base/gnu_vector.exp: Check the return value by "p res". |
|
+ * gdb.base/gnu_vector.c: Don't include stdio.h. |
|
+ (main): Don't print res and call add_some_intvecs. |
|
+ |
|
2015-11-11 Marcin Kościelnicki <koriakin@0x04.net> |
|
|
|
* gdb.trace/change-loc.h: include "trace-common.h", remove SYMBOL |
|
--- a/gdb/testsuite/gdb.base/gnu_vector.c |
|
+++ b/gdb/testsuite/gdb.base/gnu_vector.c |
|
@@ -18,7 +18,6 @@ |
|
Contributed by Ken Werner <ken.werner@de.ibm.com> */ |
|
|
|
#include <stdarg.h> |
|
-#include <stdio.h> |
|
|
|
#define VECTOR(n, type) \ |
|
type __attribute__ ((vector_size (n * sizeof(type)))) |
|
@@ -139,10 +138,10 @@ main () |
|
int4 res; |
|
|
|
res = add_some_intvecs (i4a, i4a + i4b, i4b); |
|
- printf ("%d %d %d %d\n", res[0], res[1], res[2], res[3]); |
|
|
|
res = add_some_intvecs (i4a, i4a + i4b, i4b); |
|
- printf ("%d %d %d %d\n", res[0], res[1], res[2], res[3]); |
|
+ |
|
+ add_some_intvecs (i4a, i4a + i4b, i4b); |
|
|
|
return 0; |
|
} |
|
--- a/gdb/testsuite/gdb.base/gnu_vector.exp |
|
+++ b/gdb/testsuite/gdb.base/gnu_vector.exp |
|
@@ -216,8 +216,13 @@ gdb_test_multiple "finish" $test { |
|
} |
|
} |
|
|
|
-# Test "return" from vector-valued function. |
|
gdb_continue "add_some_intvecs" |
|
+gdb_test "up" "" |
|
+gdb_test "p res" "\\{10, 20, 48, 72\\}.*" |
|
+gdb_test "down" "" |
|
+ |
|
+ |
|
+# Test "return" from vector-valued function. |
|
set test "return from vector-valued function" |
|
set should_kfail 0 |
|
gdb_test_multiple "return (int4) \{4, 2, 7, 6\}" $test { |
|
@@ -233,16 +238,6 @@ gdb_test_multiple "return (int4) \{4, 2, 7, 6\}" $test { |
|
exp_continue |
|
} |
|
} |
|
-set test "verify vector return value" |
|
-gdb_test_multiple "continue" $test { |
|
- -re "4 2 7 6\r\n.*$gdb_prompt $" { |
|
- pass $test |
|
- } |
|
- -re "10 20 48 72\r\n.*$gdb_prompt $" { |
|
- if { $should_kfail } { |
|
- kfail "gdb/8549" $test |
|
- } else { |
|
- fail $test |
|
- } |
|
- } |
|
-} |
|
+ |
|
+gdb_test "next" "" |
|
+gdb_test "p res" "\\{4, 2, 7, 6\\}.*" "verify vector return value"
|
|
|