This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 1/2] Make "set debug frame 1" use the standard print routine for optimized out values.
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Cc: Andrew Burgess <aburgess at broadcom dot com>
- Date: Wed, 27 Nov 2013 17:52:39 +0000
- Subject: [PATCH 1/2] Make "set debug frame 1" use the standard print routine for optimized out values.
- Authentication-results: sourceware.org; auth=none
- References: <5208D50F dot 8020109 at broadcom dot com> <1385574760-26557-1-git-send-email-palves at redhat dot com>
From: Andrew Burgess <aburgess@broadcom.com>
...
- { frame_unwind_register_value (frame=0,regnum=7(rsp),...) -> optimized out }
+ { frame_unwind_register_value (frame=0,regnum=7(rsp),...) -> <optimized out> }
...
Tested on x86_64 Fedora 17.
2013-11-27 Andrew Burgess <aburgess@broadcom.com>
* frame.c: Include "valprint.h".
(frame_unwind_register_value): Use value_optimized_out.
* value.c (value_fetch_lazy): Likewise.
---
gdb/frame.c | 6 +++++-
gdb/value.c | 5 ++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/gdb/frame.c b/gdb/frame.c
index f77ce75..4e6e06c 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -44,6 +44,7 @@
#include "inline-frame.h"
#include "tracepoint.h"
#include "hashtab.h"
+#include "valprint.h"
static struct frame_info *get_prev_frame_1 (struct frame_info *this_frame);
static struct frame_info *get_prev_frame_raw (struct frame_info *this_frame);
@@ -1047,7 +1048,10 @@ frame_unwind_register_value (struct frame_info *frame, int regnum)
{
fprintf_unfiltered (gdb_stdlog, "->");
if (value_optimized_out (value))
- fprintf_unfiltered (gdb_stdlog, " optimized out");
+ {
+ fprintf_unfiltered (gdb_stdlog, " ");
+ val_print_optimized_out (value, gdb_stdlog);
+ }
else
{
if (VALUE_LVAL (value) == lval_register)
diff --git a/gdb/value.c b/gdb/value.c
index 8052f52..a64e7e1 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -3572,7 +3572,10 @@ value_fetch_lazy (struct value *val)
fprintf_unfiltered (gdb_stdlog, "->");
if (value_optimized_out (new_val))
- fprintf_unfiltered (gdb_stdlog, " optimized out");
+ {
+ fprintf_unfiltered (gdb_stdlog, " ");
+ val_print_optimized_out (new_val, gdb_stdlog);
+ }
else
{
int i;
--
1.7.11.7