aboutsummaryrefslogtreecommitdiff
path: root/gdb/hppa-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r--gdb/hppa-tdep.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index e8ee10d..93509b6 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -961,7 +961,7 @@ hppa_push_arguments (nargs, args, sp, struct_return, struct_addr)
CORE_ADDR
hppa_fix_call_dummy (dummy, pc, fun, nargs, args, type, gcc_p)
- REGISTER_TYPE *dummy;
+ char *dummy;
CORE_ADDR pc;
CORE_ADDR fun;
int nargs;
@@ -985,10 +985,30 @@ hppa_fix_call_dummy (dummy, pc, fun, nargs, args, type, gcc_p)
sr4export_addr = SYMBOL_VALUE_ADDRESS (msymbol);
- dummy[9] = deposit_21 (fun >> 11, dummy[9]);
- dummy[10] = deposit_14 (fun & MASK_11, dummy[10]);
- dummy[12] = deposit_21 (sr4export_addr >> 11, dummy[12]);
- dummy[13] = deposit_14 (sr4export_addr & MASK_11, dummy[13]);
+ store_unsigned_integer
+ (&dummy[9*REGISTER_SIZE],
+ REGISTER_SIZE,
+ deposit_21 (fun >> 11,
+ extract_unsigned_integer (&dummy[9*REGISTER_SIZE],
+ REGISTER_SIZE)));
+ store_unsigned_integer
+ (&dummy[10*REGISTER_SIZE],
+ REGISTER_SIZE,
+ deposit_14 (fun & MASK_11,
+ extract_unsigned_integer (&dummy[10*REGISTER_SIZE],
+ REGISTER_SIZE)));
+ store_unsigned_integer
+ (&dummy[12*REGISTER_SIZE],
+ REGISTER_SIZE,
+ deposit_21 (sr4export_addr >> 11,
+ extract_unsigned_integer (&dummy[12*REGISTER_SIZE],
+ REGISTER_SIZE)));
+ store_unsigned_integer
+ (&dummy[13*REGISTER_SIZE],
+ REGISTER_SIZE,
+ deposit_14 (sr4export_addr & MASK_11,
+ extract_unsigned_integer (&dummy[13*REGISTER_SIZE],
+ REGISTER_SIZE)));
write_register (22, pc);
@@ -1115,7 +1135,6 @@ pa_print_fp_reg (i)
{
unsigned char raw_buffer[MAX_REGISTER_RAW_SIZE];
unsigned char virtual_buffer[MAX_REGISTER_VIRTUAL_SIZE];
- REGISTER_TYPE val;
/* Get the data in raw format. */
read_relative_register_raw_bytes (i, raw_buffer);