summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2003-05-19 16:58:19 +0000
committerMark Kettenis <kettenis@gnu.org>2003-05-19 16:58:19 +0000
commitd6adcb63656e50b7c5e83bd7fa506f7b5f69b1ff (patch)
tree02faee9b71d54372625a97491177a77bdabedf66
parent2322c1ae64bce847c7a2b261fe326ce33f453ce2 (diff)
downloadgdb-d6adcb63656e50b7c5e83bd7fa506f7b5f69b1ff.tar.gz
* x86-64-tdep.c (x86_64_frame_this_id,
x86_64_sigtramp_frame_this_id, x86_64_unwind_dummy_id): Add offset to the frame base such that we use the same defenition for the top of stack as DWARF CFI does.
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/x86-64-tdep.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 314b85ffa21..2a3e312abb1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2003-05-19 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_frame_this_id,
+ x86_64_sigtramp_frame_this_id, x86_64_unwind_dummy_id): Add offset
+ to the frame base such that we use the same defenition for the top
+ of stack as DWARF CFI does.
+
2003-05-18 Mark Kettenis <kettenis@gnu.org>
* x86-64-tdep.c (x86_64_frame_cache): Don't throw away the newly
diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c
index 07262581926..857b54264fe 100644
--- a/gdb/x86-64-tdep.c
+++ b/gdb/x86-64-tdep.c
@@ -966,7 +966,7 @@ x86_64_frame_this_id (struct frame_info *next_frame, void **this_cache,
if (inside_entry_file (cache->pc))
return;
- (*this_id) = frame_id_build (cache->base, cache->pc);
+ (*this_id) = frame_id_build (cache->base + 16, cache->pc);
}
static void
@@ -1064,7 +1064,7 @@ x86_64_sigtramp_frame_this_id (struct frame_info *next_frame,
struct x86_64_frame_cache *cache =
x86_64_sigtramp_frame_cache (next_frame, this_cache);
- (*this_id) = frame_id_build (cache->base, frame_pc_unwind (next_frame));
+ (*this_id) = frame_id_build (cache->base + 16, frame_pc_unwind (next_frame));
}
static void
@@ -1133,7 +1133,7 @@ x86_64_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
frame_unwind_register (next_frame, X86_64_RBP_REGNUM, buf);
fp = extract_unsigned_integer (buf, 8);
- return frame_id_build (fp, frame_pc_unwind (next_frame));
+ return frame_id_build (fp + 16, frame_pc_unwind (next_frame));
}
void