+2003-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha-tdep.c (alpha_push_dummy_call): Store sp. Tidy copies
+ from arg_reg_buffer to regcache to avoid double conversion.
+
2003-06-01 Mark Kettenis <kettenis@gnu.org>
* i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead of
/* Load the argument registers. */
for (i = 0; i < required_arg_regs; i++)
{
- LONGEST val;
-
- val = extract_unsigned_integer (arg_reg_buffer + i*ALPHA_REGISTER_SIZE,
- ALPHA_REGISTER_SIZE);
- regcache_cooked_write_signed (regcache, ALPHA_A0_REGNUM + i, val);
- regcache_cooked_write_signed (regcache, ALPHA_FPA0_REGNUM + i, val);
+ regcache_cooked_write (regcache, ALPHA_A0_REGNUM + i,
+ arg_reg_buffer + i*ALPHA_REGISTER_SIZE);
+ regcache_cooked_write (regcache, ALPHA_FPA0_REGNUM + i,
+ arg_reg_buffer + i*ALPHA_REGISTER_SIZE);
}
+ /* Finally, update the stack pointer. */
+ regcache_cooked_write_signed (regcache, ALPHA_SP_REGNUM, sp);
+
return sp;
}