aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2012-03-01 20:49:02 +0000
committerPedro Alves <palves@redhat.com>2012-03-01 20:49:02 +0000
commitad5f7d6ef7055f46c1734b9862bd156c355a8b3d (patch)
treefb20ff6ac3ace8b4d6d5c8e9b79bb49e1c415cb7 /gdb/testsuite
parentd3dc44a619a1f52ace35f3cccb16b6096e13b5da (diff)
downloadgdb-ad5f7d6ef7055f46c1734b9862bd156c355a8b3d.zip
gdb-ad5f7d6ef7055f46c1734b9862bd156c355a8b3d.tar.gz
gdb-ad5f7d6ef7055f46c1734b9862bd156c355a8b3d.tar.bz2
2012-03-01 Pedro Alves <palves@redhat.com>
PR gdb/13767 gdb/ * frame.c (read_frame_register_unsigned): New. * frame.h (read_frame_register_unsigned): Declare. * i387-tdep.c (print_i387_status_word): New parameter `status_p'. Handle it. (print_i387_control_word): New parameter `control_p'. Handle it. (i387_print_float_info): Handle unavailable float registers. gdb/testsuite/ * gdb.trace/unavailable.exp (gdb_unavailable_floats): New. (gdb_collect_globals_test): Call it.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.trace/unavailable.exp34
2 files changed, 41 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index d41a2c8..6382543 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2012-03-01 Pedro Alves <palves@redhat.com>
+
+ PR gdb/13767
+
+ * gdb.trace/unavailable.exp (gdb_unavailable_floats): New.
+ (gdb_collect_globals_test): Call it.
+
2012-03-01 Keith Seitz <keiths@redhat.com>
* gdb.cp/method2.exp: Output of overload menu is now
diff --git a/gdb/testsuite/gdb.trace/unavailable.exp b/gdb/testsuite/gdb.trace/unavailable.exp
index be79b86..bc5f893 100644
--- a/gdb/testsuite/gdb.trace/unavailable.exp
+++ b/gdb/testsuite/gdb.trace/unavailable.exp
@@ -305,6 +305,39 @@ proc gdb_unavailable_registers_test { } { with_test_prefix "unavailable register
gdb_test "tfind none" "#0 end .*" "cease trace debugging"
}}
+proc gdb_unavailable_floats { } {
+ global gdb_prompt
+
+ with_test_prefix "unavailable floats" {
+ prepare_for_trace_test
+
+ # We'll simply re-use the globals_test_function for this test
+ gdb_test "trace globals_test_func" \
+ "Tracepoint \[0-9\]+ at .*" \
+ "set tracepoint"
+
+ # Collect nothing.
+
+ # Begin the test.
+ run_trace_experiment globals_test_func
+
+ # Necessarily target specific.
+ if {[istarget "x86_64-*-*"] || [istarget i?86-*]} {
+ send_gdb "info float\n"
+ gdb_expect_list "info float" ".*$gdb_prompt $" {
+ "Status Word: <unavailable>"
+ "Control Word: <unavailable>"
+ "Tag Word: <unavailable>"
+ "Instruction Pointer: <unavailable>:<unavailable>"
+ "Operand Pointer: <unavailable>:<unavailable>"
+ "Opcode: <unavailable>"
+ }
+ }
+
+ gdb_test "tfind none" "#0 end .*" "cease trace debugging"
+ }
+}
+
proc gdb_collect_globals_test { } { with_test_prefix "collect globals" {
global ws
global cr
@@ -547,6 +580,7 @@ proc gdb_collect_globals_test { } { with_test_prefix "collect globals" {
proc gdb_trace_collection_test {} {
gdb_collect_globals_test
gdb_unavailable_registers_test
+ gdb_unavailable_floats
gdb_collect_args_test
gdb_collect_locals_test local_test_func "auto locals"