aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/x86-64-tdep.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1d01634..e573e90 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2003-10-06 Mark Kettenis <kettenis@gnu.org>
+
+ * x86-64-tdep.c (x86_64_store_return_value): Don't use
+ DEPRECATED_REGISTER_RAW_SIZE. Use symbolic names for register
+ names for return values. This fixes a bug since we looked at %rbx
+ instead of %rdx.
+
2003-10-05 Mark Kettenis <kettenis@gnu.org>
* x86-64-tdep.c: Include "regset.h".
diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c
index 81d32a2..165e208 100644
--- a/gdb/x86-64-tdep.c
+++ b/gdb/x86-64-tdep.c
@@ -796,8 +796,8 @@ x86_64_store_return_value (struct type *type, struct regcache *regcache,
/* XXX: What about complex floating point types? */
else
{
- int low_size = DEPRECATED_REGISTER_RAW_SIZE (0);
- int high_size = DEPRECATED_REGISTER_RAW_SIZE (1);
+ int low_size = register_size (current_gdbarch, X86_64_RAX_REGNUM);
+ int high_size = register_size (current_gdbarch, X86_64_RDX_REGNUM);
if (len <= low_size)
regcache_cooked_write_part (regcache, 0, 0, len, valbuf);