mips: fix void*/gdb_byte* compilation errors
The error in mips64_linux_get_longjmp_target is fixed by changing "buf" to be a gdb_byte*, as usual. supply_32bit_reg and mips64_fill_gregset do some more complicated things however, so it's safer just to add the explicit cast and avoid changing the code too much. gdb/ChangeLog: * mips-linux-tdep.c (mips64_linux_get_longjmp_target): Change type of buf to gdb_byte*. (supply_32bit_reg): Add cast. (mips64_fill_gregset): Likewise.
This commit is contained in:
parent
4894d80b50
commit
709476c3c5
@ -1,3 +1,10 @@
|
||||
2015-10-22 Simon Marchi <simon.marchi@polymtl.ca>
|
||||
|
||||
* mips-linux-tdep.c (mips64_linux_get_longjmp_target): Change type of
|
||||
buf to gdb_byte*.
|
||||
(supply_32bit_reg): Add cast.
|
||||
(mips64_fill_gregset): Likewise.
|
||||
|
||||
2015-10-21 Simon Marchi <simon.marchi@polymtl.ca>
|
||||
|
||||
PR python/18073
|
||||
|
@ -120,7 +120,8 @@ supply_32bit_reg (struct regcache *regcache, int regnum, const void *addr)
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
gdb_byte buf[MAX_REGISTER_SIZE];
|
||||
store_signed_integer (buf, register_size (gdbarch, regnum), byte_order,
|
||||
extract_signed_integer (addr, 4, byte_order));
|
||||
extract_signed_integer ((const gdb_byte *) addr, 4,
|
||||
byte_order));
|
||||
regcache_raw_supply (regcache, regnum, buf);
|
||||
}
|
||||
|
||||
@ -334,7 +335,8 @@ mips64_linux_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
|
||||
CORE_ADDR jb_addr;
|
||||
struct gdbarch *gdbarch = get_frame_arch (frame);
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
void *buf = alloca (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
|
||||
gdb_byte *buf
|
||||
= (gdb_byte *) alloca (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
|
||||
int element_size = gdbarch_ptr_bit (gdbarch) == 32 ? 4 : 8;
|
||||
|
||||
jb_addr = get_frame_register_unsigned (frame, MIPS_A0_REGNUM);
|
||||
@ -475,7 +477,7 @@ mips64_fill_gregset (const struct regcache *regcache,
|
||||
val = extract_signed_integer (buf, register_size (gdbarch, regno),
|
||||
byte_order);
|
||||
dst = regp + regaddr;
|
||||
store_signed_integer (dst, 8, byte_order, val);
|
||||
store_signed_integer ((gdb_byte *) dst, 8, byte_order, val);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user