aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.ada/array_return.exp8
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index bb6a501..069d3f6 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-07 Joel Brobecker <brobecker@adacore.com>
+
+ * gdb.ada/array_return.exp: Mark the last test as expected to fail
+ on hppa32 targets.
+
2006-02-06 Vladimir Prus <ghost@cs.msu.su>
* gdb.mi/mi-break.exp, gdb.mi/mi2-break.exp: Test for the fullname
diff --git a/gdb/testsuite/gdb.ada/array_return.exp b/gdb/testsuite/gdb.ada/array_return.exp
index 72d8fde..c2ede2c 100644
--- a/gdb/testsuite/gdb.ada/array_return.exp
+++ b/gdb/testsuite/gdb.ada/array_return.exp
@@ -72,6 +72,14 @@ gdb_test "cont" \
"Breakpoint \[0-9\]+, pck.create_large \\(\\).*" \
"Continuing to Create.Large"
+# On hppa32, the value returned is too large to be returned via a register.
+# Instead, it is returned using the struct convention, and the debugger
+# unfortunately cannot find the address of the result. The following
+# test is therefore expected to fail for all hppa targets except hppa64.
+if { ! [istarget "hppa*64*-*-*"] } then {
+ setup_xfail "hppa*-*-*"
+}
+
gdb_test "finish" \
"Value returned is \\\$\[0-9\]+ = \\(2, 2, 2, 2\\)" \
"value printed by finish of Create_Large"