aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-tdep.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2012-01-12 15:39:36 +0000
committerPedro Alves <palves@redhat.com>2012-01-12 15:39:36 +0000
commit620fa63a22c78940776e143a9d002572190af942 (patch)
tree921d3f73c53b5f090f31f4df51bb119f2a8cb121 /gdb/i386-tdep.c
parent50d10658eef31d1c68763d556f02954b9c7c4f00 (diff)
downloadgdb-620fa63a22c78940776e143a9d002572190af942.zip
gdb-620fa63a22c78940776e143a9d002572190af942.tar.gz
gdb-620fa63a22c78940776e143a9d002572190af942.tar.bz2
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).
Diffstat (limited to 'gdb/i386-tdep.c')
-rw-r--r--gdb/i386-tdep.c5
1 files changed, 4 insertions, 1 deletions
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;