From a05fb34192727fc1b63c827ed006ddde846ce6b8 Mon Sep 17 00:00:00 2001 From: Nathan Rossi Date: Tue, 8 May 2012 18:11:17 +1000 Subject: [PATCH 11/16] [Patch, gdb]: Fix debug message when register is unavailable Signed-off-by: Nathan Rossi Signed-off-by: David Holsgrove Upstream-Status: Pending --- gdb/frame.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gdb/frame.c b/gdb/frame.c index 013d602..4d0766f 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -1134,12 +1134,19 @@ frame_unwind_register_value (struct frame_info *frame, int regnum) else { int i; - const gdb_byte *buf = value_contents (value); + const gdb_byte *buf = NULL; + if (value_entirely_available(value)) { + buf = value_contents (value); + } fprintf_unfiltered (gdb_stdlog, " bytes="); fprintf_unfiltered (gdb_stdlog, "["); - for (i = 0; i < register_size (gdbarch, regnum); i++) - fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]); + if (buf != NULL) { + for (i = 0; i < register_size (gdbarch, regnum); i++) + fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]); + } else { + fprintf_unfiltered (gdb_stdlog, "unavailable"); + } fprintf_unfiltered (gdb_stdlog, "]"); } } -- 1.9.0