From: Richard Henderson Date: Sun, 1 Jun 2003 18:42:30 +0000 (+0000) Subject: * alpha-tdep.c (alpha_push_dummy_call): Store sp. Tidy copies X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=09cc52fd98e51eff95ed8de62dbe5c4c0ec73473;p=binutils-gdb.git * alpha-tdep.c (alpha_push_dummy_call): Store sp. Tidy copies from arg_reg_buffer to regcache to avoid double conversion. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1425635917b..3a795f630d2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2003-06-01 Richard Henderson + + * 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 * i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead of diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index fd8c88ee75d..a591d08f619 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -314,14 +314,15 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr, /* 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; }