blob: bdec77c519c2343a1c2bf71fbb05b45e22cc3726 [file] [log] [blame]
Brad Bishop286d45c2018-10-02 15:21:57 -04001From a05fb34192727fc1b63c827ed006ddde846ce6b8 Mon Sep 17 00:00:00 2001
2From: Nathan Rossi <nathan.rossi@petalogix.com>
3Date: Tue, 8 May 2012 18:11:17 +1000
4Subject: [PATCH 11/16] [Patch, gdb]: Fix debug message when register is
5 unavailable
6
7Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
8Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
9Upstream-Status: Pending
10---
11 gdb/frame.c | 13 ++++++++++---
12 1 file changed, 10 insertions(+), 3 deletions(-)
13
14diff --git a/gdb/frame.c b/gdb/frame.c
15index 013d602..4d0766f 100644
16--- a/gdb/frame.c
17+++ b/gdb/frame.c
18@@ -1134,12 +1134,19 @@ frame_unwind_register_value (struct frame_info *frame, int regnum)
19 else
20 {
21 int i;
22- const gdb_byte *buf = value_contents (value);
23+ const gdb_byte *buf = NULL;
24+ if (value_entirely_available(value)) {
25+ buf = value_contents (value);
26+ }
27
28 fprintf_unfiltered (gdb_stdlog, " bytes=");
29 fprintf_unfiltered (gdb_stdlog, "[");
30- for (i = 0; i < register_size (gdbarch, regnum); i++)
31- fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
32+ if (buf != NULL) {
33+ for (i = 0; i < register_size (gdbarch, regnum); i++)
34+ fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
35+ } else {
36+ fprintf_unfiltered (gdb_stdlog, "unavailable");
37+ }
38 fprintf_unfiltered (gdb_stdlog, "]");
39 }
40 }
41--
421.9.0
43