* alpha-tdep.c (alpha_push_dummy_call): Store sp. Tidy copies

from arg_reg_buffer to regcache to avoid double conversion.
This commit is contained in:
Richard Henderson 2003-06-01 18:42:30 +00:00
parent c7f1635919
commit 09cc52fd98
2 changed files with 12 additions and 6 deletions

View file

@ -1,3 +1,8 @@
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> 2003-06-01 Mark Kettenis <kettenis@gnu.org>
* i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead of * i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead of

View file

@ -314,14 +314,15 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
/* Load the argument registers. */ /* Load the argument registers. */
for (i = 0; i < required_arg_regs; i++) for (i = 0; i < required_arg_regs; i++)
{ {
LONGEST val; regcache_cooked_write (regcache, ALPHA_A0_REGNUM + i,
arg_reg_buffer + i*ALPHA_REGISTER_SIZE);
val = extract_unsigned_integer (arg_reg_buffer + i*ALPHA_REGISTER_SIZE, regcache_cooked_write (regcache, ALPHA_FPA0_REGNUM + i,
ALPHA_REGISTER_SIZE); arg_reg_buffer + i*ALPHA_REGISTER_SIZE);
regcache_cooked_write_signed (regcache, ALPHA_A0_REGNUM + i, val);
regcache_cooked_write_signed (regcache, ALPHA_FPA0_REGNUM + i, val);
} }
/* Finally, update the stack pointer. */
regcache_cooked_write_signed (regcache, ALPHA_SP_REGNUM, sp);
return sp; return sp;
} }