blob: 3912ca575327796a2c76a7cfff026aaae10dc4c8 [file] [log] [blame]
From a02963a97d7ce38b0af205f9e3e6dd7e0e06d9be Mon Sep 17 00:00:00 2001
From: "Edgar E. Iglesias" <edgar@axis.com>
Date: Mon, 27 Feb 2012 06:28:00 +0100
Subject: [PATCH 10/16] [Patch, gdb]: Robustify inline function support
Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
Upstream-Status: Pending
---
gdb/blockframe.c | 3 ++-
gdb/inline-frame.c | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 0a9381e..ba41d85 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -77,7 +77,8 @@ get_frame_block (struct frame_info *frame, CORE_ADDR *addr_in_block)
inline_count--;
bl = BLOCK_SUPERBLOCK (bl);
- gdb_assert (bl != NULL);
+ if (!bl)
+ return NULL;
}
return bl;
diff --git a/gdb/inline-frame.c b/gdb/inline-frame.c
index eb82143..a793390 100644
--- a/gdb/inline-frame.c
+++ b/gdb/inline-frame.c
@@ -231,6 +231,9 @@ inline_frame_sniffer (const struct frame_unwind *self,
cur_block = BLOCK_SUPERBLOCK (cur_block);
}
+ if (depth == 0)
+ return 0;
+
/* Check how many inlined functions already have frames. */
for (next_frame = get_next_frame (this_frame);
next_frame && get_frame_type (next_frame) == INLINE_FRAME;
--
1.9.0