Add IA64_MAX_FP_REGISTER_SIZE
gdb/ * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add. (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE. (ia64_value_to_register): Likewise. (ia64_extract_return_value): Likewise. (ia64_store_return_value): Likewise. (ia64_push_dummy_call): Likewise.
This commit is contained in:
parent
670b1a1335
commit
ae0d01d663
@ -1,3 +1,12 @@
|
|||||||
|
2017-06-06 Alan Hayward <alan.hayward@arm.com>
|
||||||
|
|
||||||
|
* ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
|
||||||
|
(ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
|
||||||
|
(ia64_value_to_register): Likewise.
|
||||||
|
(ia64_extract_return_value): Likewise.
|
||||||
|
(ia64_store_return_value): Likewise.
|
||||||
|
(ia64_push_dummy_call): Likewise.
|
||||||
|
|
||||||
2017-06-04 Joel Brobecker <brobecker@adacore.com>
|
2017-06-04 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
GDB 8.0 released.
|
GDB 8.0 released.
|
||||||
|
@ -125,6 +125,9 @@ static CORE_ADDR ia64_find_global_pointer (struct gdbarch *gdbarch,
|
|||||||
|
|
||||||
#define NUM_IA64_RAW_REGS 462
|
#define NUM_IA64_RAW_REGS 462
|
||||||
|
|
||||||
|
/* Big enough to hold a FP register in bytes. */
|
||||||
|
#define IA64_FP_REGISTER_SIZE 16
|
||||||
|
|
||||||
static int sp_regnum = IA64_GR12_REGNUM;
|
static int sp_regnum = IA64_GR12_REGNUM;
|
||||||
|
|
||||||
/* NOTE: we treat the register stack registers r32-r127 as
|
/* NOTE: we treat the register stack registers r32-r127 as
|
||||||
@ -1228,7 +1231,7 @@ ia64_register_to_value (struct frame_info *frame, int regnum,
|
|||||||
int *optimizedp, int *unavailablep)
|
int *optimizedp, int *unavailablep)
|
||||||
{
|
{
|
||||||
struct gdbarch *gdbarch = get_frame_arch (frame);
|
struct gdbarch *gdbarch = get_frame_arch (frame);
|
||||||
gdb_byte in[MAX_REGISTER_SIZE];
|
gdb_byte in[IA64_FP_REGISTER_SIZE];
|
||||||
|
|
||||||
/* Convert to TYPE. */
|
/* Convert to TYPE. */
|
||||||
if (!get_frame_register_bytes (frame, regnum, 0,
|
if (!get_frame_register_bytes (frame, regnum, 0,
|
||||||
@ -1246,7 +1249,7 @@ ia64_value_to_register (struct frame_info *frame, int regnum,
|
|||||||
struct type *valtype, const gdb_byte *in)
|
struct type *valtype, const gdb_byte *in)
|
||||||
{
|
{
|
||||||
struct gdbarch *gdbarch = get_frame_arch (frame);
|
struct gdbarch *gdbarch = get_frame_arch (frame);
|
||||||
gdb_byte out[MAX_REGISTER_SIZE];
|
gdb_byte out[IA64_FP_REGISTER_SIZE];
|
||||||
convert_typed_floating (in, valtype, out, ia64_ext_type (gdbarch));
|
convert_typed_floating (in, valtype, out, ia64_ext_type (gdbarch));
|
||||||
put_frame_register (frame, regnum, out);
|
put_frame_register (frame, regnum, out);
|
||||||
}
|
}
|
||||||
@ -3209,7 +3212,7 @@ ia64_extract_return_value (struct type *type, struct regcache *regcache,
|
|||||||
float_elt_type = is_float_or_hfa_type (type);
|
float_elt_type = is_float_or_hfa_type (type);
|
||||||
if (float_elt_type != NULL)
|
if (float_elt_type != NULL)
|
||||||
{
|
{
|
||||||
gdb_byte from[MAX_REGISTER_SIZE];
|
gdb_byte from[IA64_FP_REGISTER_SIZE];
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
int regnum = IA64_FR8_REGNUM;
|
int regnum = IA64_FR8_REGNUM;
|
||||||
int n = TYPE_LENGTH (type) / TYPE_LENGTH (float_elt_type);
|
int n = TYPE_LENGTH (type) / TYPE_LENGTH (float_elt_type);
|
||||||
@ -3274,7 +3277,7 @@ ia64_store_return_value (struct type *type, struct regcache *regcache,
|
|||||||
float_elt_type = is_float_or_hfa_type (type);
|
float_elt_type = is_float_or_hfa_type (type);
|
||||||
if (float_elt_type != NULL)
|
if (float_elt_type != NULL)
|
||||||
{
|
{
|
||||||
gdb_byte to[MAX_REGISTER_SIZE];
|
gdb_byte to[IA64_FP_REGISTER_SIZE];
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
int regnum = IA64_FR8_REGNUM;
|
int regnum = IA64_FR8_REGNUM;
|
||||||
int n = TYPE_LENGTH (type) / TYPE_LENGTH (float_elt_type);
|
int n = TYPE_LENGTH (type) / TYPE_LENGTH (float_elt_type);
|
||||||
@ -3836,7 +3839,7 @@ ia64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
|||||||
len = TYPE_LENGTH (type);
|
len = TYPE_LENGTH (type);
|
||||||
while (len > 0 && floatreg < IA64_FR16_REGNUM)
|
while (len > 0 && floatreg < IA64_FR16_REGNUM)
|
||||||
{
|
{
|
||||||
gdb_byte to[MAX_REGISTER_SIZE];
|
gdb_byte to[IA64_FP_REGISTER_SIZE];
|
||||||
convert_typed_floating (value_contents (arg) + argoffset,
|
convert_typed_floating (value_contents (arg) + argoffset,
|
||||||
float_elt_type, to,
|
float_elt_type, to,
|
||||||
ia64_ext_type (gdbarch));
|
ia64_ext_type (gdbarch));
|
||||||
|
Loading…
Reference in New Issue
Block a user