From ad5f7d6ef7055f46c1734b9862bd156c355a8b3d Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 1 Mar 2012 20:49:02 +0000 Subject: 2012-03-01 Pedro Alves 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. --- gdb/frame.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gdb/frame.h') diff --git a/gdb/frame.h b/gdb/frame.h index 67dddbd..101db3b 100644 --- a/gdb/frame.h +++ b/gdb/frame.h @@ -500,6 +500,13 @@ extern ULONGEST frame_unwind_register_unsigned (struct frame_info *frame, extern ULONGEST get_frame_register_unsigned (struct frame_info *frame, int regnum); +/* Read a a register from this, or unwind a register from the next + frame. Note that the read_frame methods are wrappers to + get_frame_register_value, that do not throw if the result is + optimized out or unavailable. */ + +extern int read_frame_register_unsigned (struct frame_info *frame, + int regnum, ULONGEST *val); /* Get the value of the register that belongs to this FRAME. This function is a wrapper to the call sequence ``frame_register_unwind -- cgit v1.1