2005-06-09 Jeff Johnston <jjohnstn@redhat.com>

* ia64-tdep.c (ia64_pseudo_register_read): Use gdb_byte and
        protect libunwind references with HAVE_LIBUNWIND_IA64_H flag.
        * (ia64_pseudo_register_write): Use gdb_byte to remove warning.
        * (ia64_register_to_value, ia64_value_to_register): Ditto.
        * (ia64_frame_prev_register): Ditto.
        * (ia64_libunwind_frame_prev_register): Ditto.
        * (ia64_sigtramp_frame_prev_register): Ditto.
        * (ia64_libunwind_sigtramp_frame_prev_register): Ditto.
        * (ia64_store_return_value): Ditto.

2
This commit is contained in:
Jeff Johnston 2005-06-10 01:09:18 +00:00
parent bdd87c7744
commit 88d821021e
2 changed files with 24 additions and 9 deletions

View file

@ -1,3 +1,15 @@
2005-06-09 Jeff Johnston <jjohnstn@redhat.com>
* ia64-tdep.c (ia64_pseudo_register_read): Use gdb_byte and
protect libunwind references with HAVE_LIBUNWIND_IA64_H flag.
* (ia64_pseudo_register_write): Use gdb_byte to remove warning.
* (ia64_register_to_value, ia64_value_to_register): Ditto.
* (ia64_frame_prev_register): Ditto.
* (ia64_libunwind_frame_prev_register): Ditto.
* (ia64_sigtramp_frame_prev_register): Ditto.
* (ia64_libunwind_sigtramp_frame_prev_register): Ditto.
* (ia64_store_return_value): Ditto.
2005-06-08 Jeff Johnston <jjohnstn@redhat.com> 2005-06-08 Jeff Johnston <jjohnstn@redhat.com>
David Mosberger <davidm@hpl.hp.com> David Mosberger <davidm@hpl.hp.com>

View file

@ -673,14 +673,16 @@ rse_address_add(CORE_ADDR addr, int nslots)
static void static void
ia64_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, ia64_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
int regnum, void *buf) int regnum, gdb_byte *buf)
{ {
if (regnum >= V32_REGNUM && regnum <= V127_REGNUM) if (regnum >= V32_REGNUM && regnum <= V127_REGNUM)
{ {
#ifdef HAVE_LIBUNWIND_IA64_H
/* First try and use the libunwind special reg accessor, otherwise fallback to /* First try and use the libunwind special reg accessor, otherwise fallback to
standard logic. */ standard logic. */
if (!libunwind_is_initialized () if (!libunwind_is_initialized ()
|| libunwind_get_reg_special (gdbarch, regnum, buf) != 0) || libunwind_get_reg_special (gdbarch, regnum, buf) != 0)
#endif
{ {
/* The fallback position is to assume that r32-r127 are found sequentially /* The fallback position is to assume that r32-r127 are found sequentially
in memory starting at $bof. This isn't always true, but without libunwind, in memory starting at $bof. This isn't always true, but without libunwind,
@ -791,7 +793,7 @@ ia64_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
static void static void
ia64_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, ia64_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
int regnum, const void *buf) int regnum, const gdb_byte *buf)
{ {
if (regnum >= V32_REGNUM && regnum <= V127_REGNUM) if (regnum >= V32_REGNUM && regnum <= V127_REGNUM)
{ {
@ -912,7 +914,7 @@ ia64_convert_register_p (int regno, struct type *type)
static void static void
ia64_register_to_value (struct frame_info *frame, int regnum, ia64_register_to_value (struct frame_info *frame, int regnum,
struct type *valtype, void *out) struct type *valtype, gdb_byte *out)
{ {
char in[MAX_REGISTER_SIZE]; char in[MAX_REGISTER_SIZE];
frame_register_read (frame, regnum, in); frame_register_read (frame, regnum, in);
@ -921,7 +923,7 @@ ia64_register_to_value (struct frame_info *frame, int regnum,
static void static void
ia64_value_to_register (struct frame_info *frame, int regnum, ia64_value_to_register (struct frame_info *frame, int regnum,
struct type *valtype, const void *in) struct type *valtype, const gdb_byte *in)
{ {
char out[MAX_REGISTER_SIZE]; char out[MAX_REGISTER_SIZE];
convert_typed_floating (in, valtype, out, builtin_type_ia64_ext); convert_typed_floating (in, valtype, out, builtin_type_ia64_ext);
@ -1576,7 +1578,7 @@ static void
ia64_frame_prev_register (struct frame_info *next_frame, void **this_cache, ia64_frame_prev_register (struct frame_info *next_frame, void **this_cache,
int regnum, int *optimizedp, int regnum, int *optimizedp,
enum lval_type *lvalp, CORE_ADDR *addrp, enum lval_type *lvalp, CORE_ADDR *addrp,
int *realnump, void *valuep) int *realnump, gdb_byte *valuep)
{ {
struct ia64_frame_cache *cache = struct ia64_frame_cache *cache =
ia64_frame_cache (next_frame, this_cache); ia64_frame_cache (next_frame, this_cache);
@ -1976,7 +1978,7 @@ ia64_sigtramp_frame_prev_register (struct frame_info *next_frame,
void **this_cache, void **this_cache,
int regnum, int *optimizedp, int regnum, int *optimizedp,
enum lval_type *lvalp, CORE_ADDR *addrp, enum lval_type *lvalp, CORE_ADDR *addrp,
int *realnump, void *valuep) int *realnump, gdb_byte *valuep)
{ {
char dummy_valp[MAX_REGISTER_SIZE]; char dummy_valp[MAX_REGISTER_SIZE];
char buf[MAX_REGISTER_SIZE]; char buf[MAX_REGISTER_SIZE];
@ -2747,7 +2749,7 @@ ia64_libunwind_frame_prev_register (struct frame_info *next_frame,
void **this_cache, void **this_cache,
int regnum, int *optimizedp, int regnum, int *optimizedp,
enum lval_type *lvalp, CORE_ADDR *addrp, enum lval_type *lvalp, CORE_ADDR *addrp,
int *realnump, void *valuep) int *realnump, gdb_byte *valuep)
{ {
int reg = regnum; int reg = regnum;
@ -2885,7 +2887,7 @@ ia64_libunwind_sigtramp_frame_prev_register (struct frame_info *next_frame,
void **this_cache, void **this_cache,
int regnum, int *optimizedp, int regnum, int *optimizedp,
enum lval_type *lvalp, CORE_ADDR *addrp, enum lval_type *lvalp, CORE_ADDR *addrp,
int *realnump, void *valuep) int *realnump, gdb_byte *valuep)
{ {
CORE_ADDR prev_ip, addr; CORE_ADDR prev_ip, addr;
@ -3497,7 +3499,8 @@ ia64_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
} }
static void static void
ia64_store_return_value (struct type *type, struct regcache *regcache, const void *valbuf) ia64_store_return_value (struct type *type, struct regcache *regcache,
const gdb_byte *valbuf)
{ {
if (TYPE_CODE (type) == TYPE_CODE_FLT) if (TYPE_CODE (type) == TYPE_CODE_FLT)
{ {