[RFA] Xstormy16 -- gdb_byte vs. void.

Michael Snyder
2006-03-28T00:40:12Z

[-- Attachment #1: Type: text/plain, Size: 73 bytes --]

Hi Corinna,

A few little tweaks for your favorite target.
OK?

Michael

[-- Attachment #2: xstormy --]
[-- Type: text/plain, Size: 4071 bytes --]

2006-03-27 Michael Snyder <msnyder@redhat.com>

* xstormy16-tdep.c (xstormy16_return_value, xstormy16_push_dummy_call,
xstormy16_pointer_to_address, xstormy16_address_to_pointer,
xstormy16_frame_prev_register): Change void* to gdb_byte*.
(xstormy16_push_dummy_call): Add block-local char* val,
to avoid type conflict with outer scope variable.

Index: xstormy16-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/xstormy16-tdep.c,v
retrieving revision 1.89
diff -p -r1.89 xstormy16-tdep.c
*** xstormy16-tdep.c 17 Dec 2005 22:34:03 -0000 1.89
--- xstormy16-tdep.c 28 Mar 2006 00:35:37 -0000
*************** xstormy16_store_return_value (struct typ
*** 202,208 ****
static enum return_value_convention
xstormy16_return_value (struct gdbarch *gdbarch, struct type *type,
struct regcache *regcache,
! void *readbuf, const void *writebuf)
{
if (xstormy16_use_struct_convention (type))
return RETURN_VALUE_STRUCT_CONVENTION;
--- 202,208 ----
static enum return_value_convention
xstormy16_return_value (struct gdbarch *gdbarch, struct type *type,
struct regcache *regcache,
! gdb_byte *readbuf, const gdb_byte *writebuf)
{
if (xstormy16_use_struct_convention (type))
return RETURN_VALUE_STRUCT_CONVENTION;
*************** xstormy16_push_dummy_call (struct gdbarc
*** 239,245 ****
int argreg = E_1ST_ARG_REGNUM;
int i, j;
int typelen, slacklen;
! char *val;
char buf[xstormy16_pc_size];

/* If struct_return is true, then the struct return address will
--- 239,245 ----
int argreg = E_1ST_ARG_REGNUM;
int i, j;
int typelen, slacklen;
! const gdb_byte *val;
char buf[xstormy16_pc_size];

/* If struct_return is true, then the struct return address will
*************** xstormy16_push_dummy_call (struct gdbarc
*** 278,283 ****
--- 278,285 ----
wordaligned. */
for (j = nargs - 1; j >= i; j--)
{
+ char *val;
+
typelen = TYPE_LENGTH (value_enclosing_type (args[j]));
slacklen = typelen & 1;
val = alloca (typelen + slacklen);
*************** xstormy16_skip_trampoline_code (CORE_ADD
*** 588,594 ****
and vice versa. */

static CORE_ADDR
! xstormy16_pointer_to_address (struct type *type, const void *buf)
{
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
--- 590,596 ----
and vice versa. */

static CORE_ADDR
! xstormy16_pointer_to_address (struct type *type, const gdb_byte *buf)
{
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
*************** xstormy16_pointer_to_address (struct typ
*** 604,610 ****
}

static void
! xstormy16_address_to_pointer (struct type *type, void *buf, CORE_ADDR addr)
{
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));

--- 606,612 ----
}

static void
! xstormy16_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
{
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));

*************** xstormy16_frame_cache (struct frame_info
*** 671,680 ****
}

static void
! xstormy16_frame_prev_register (struct frame_info *next_frame, void **this_cache,
int regnum, int *optimizedp,
enum lval_type *lvalp, CORE_ADDR *addrp,
! int *realnump, void *valuep)
{
struct xstormy16_frame_cache *cache = xstormy16_frame_cache (next_frame,
this_cache);
--- 673,683 ----
}

static void
! xstormy16_frame_prev_register (struct frame_info *next_frame,
! void **this_cache,
int regnum, int *optimizedp,
enum lval_type *lvalp, CORE_ADDR *addrp,
! int *realnump, gdb_byte *valuep)
{
struct xstormy16_frame_cache *cache = xstormy16_frame_cache (next_frame,
this_cache);