aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/i386-tdep.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2bef9ee..289f967 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-12 Pedro Alves <palves@redhat.com>
+
+ * i386-tdep.c (i386_frame_cache_1): Also mark the frame base as
+ available when %ebp is found to be zero (outermost).
+
2012-01-11 Andreas Tobler <andreast@fgznet.ch>
* common/gdb_assert.h (gdb_static_assert): Rename static_assert to
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index a612ca6..549297e 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -1680,7 +1680,10 @@ i386_frame_cache_1 (struct frame_info *this_frame,
get_frame_register (this_frame, I386_EBP_REGNUM, buf);
cache->base = extract_unsigned_integer (buf, 4, byte_order);
if (cache->base == 0)
- return;
+ {
+ cache->base_p = 1;
+ return;
+ }
/* For normal frames, %eip is stored at 4(%ebp). */
cache->saved_regs[I386_EIP_REGNUM] = 4;