/* Target-dependent code for the Sanyo Xstormy16a (LC590000) processor.
- Copyright (C) 2001-2020 Free Software Foundation, Inc.
+ Copyright (C) 2001-2022 Free Software Foundation, Inc.
This file is part of GDB.
static int
xstormy16_type_is_scalar (struct type *t)
{
- return (TYPE_CODE(t) != TYPE_CODE_STRUCT
- && TYPE_CODE(t) != TYPE_CODE_UNION
- && TYPE_CODE(t) != TYPE_CODE_ARRAY);
+ return (t->code () != TYPE_CODE_STRUCT
+ && t->code () != TYPE_CODE_UNION
+ && t->code () != TYPE_CODE_ARRAY);
}
/* Function: xstormy16_use_struct_convention
int i, regnum = E_1ST_ARG_REGNUM;
for (i = 0; i < len; i += xstormy16_reg_size)
- regcache->raw_write (regnum++, valbuf + i);
+ regcache->raw_write (regnum++, valbuf + i);
}
}
break;
/* Put argument into registers wordwise. */
- const gdb_byte *val = value_contents (args[i]);
+ const gdb_byte *val = value_contents (args[i]).data ();
for (j = 0; j < typelen; j += xstormy16_reg_size)
{
ULONGEST regval;
wordaligned. */
for (j = nargs - 1; j >= i; j--)
{
- const gdb_byte *bytes = value_contents (args[j]);
+ const gdb_byte *bytes = value_contents (args[j]).data ();
typelen = TYPE_LENGTH (value_enclosing_type (args[j]));
slacklen = typelen & 1;
plg_end = xstormy16_analyze_prologue (gdbarch, func_addr, func_end,
&cache, NULL);
if (!cache.uses_fp)
- return plg_end;
+ return plg_end;
/* Found a function. */
sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL).symbol;
return 0;
/* Check if we're on a `ret' instruction. Otherwise it's
- too dangerous to proceed. */
+ too dangerous to proceed. */
inst = read_memory_unsigned_integer (addr,
xstormy16_inst_size, byte_order);
if (inst != 0x0003)
{
CORE_ADDR addr, endaddr;
- addr = obj_section_addr (osect);
- endaddr = obj_section_endaddr (osect);
+ addr = osect->addr ();
+ endaddr = osect->endaddr ();
for (; addr < endaddr; addr += 2 * xstormy16_inst_size)
{
xstormy16_inst_size,
byte_order);
inst2 = extract_unsigned_integer (buf + xstormy16_inst_size,
- xstormy16_inst_size,
+ xstormy16_inst_size,
byte_order);
faddr2 = inst2 << 8 | (inst & 0xff);
if (faddr == faddr2)
struct type *type, const gdb_byte *buf)
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
- enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
+ enum type_code target = TYPE_TARGET_TYPE (type)->code ();
CORE_ADDR addr
= extract_unsigned_integer (buf, TYPE_LENGTH (type), byte_order);
struct type *type, gdb_byte *buf, CORE_ADDR addr)
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
- enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
+ enum type_code target = TYPE_TARGET_TYPE (type)->code ();
if (target == TYPE_CODE_FUNC || target == TYPE_CODE_METHOD)
{
void **this_cache, int regnum)
{
struct xstormy16_frame_cache *cache = xstormy16_frame_cache (this_frame,
- this_cache);
+ this_cache);
gdb_assert (regnum >= 0);
if (regnum == E_SP_REGNUM && cache->saved_sp)
}
static const struct frame_unwind xstormy16_frame_unwind = {
+ "xstormy16 prologue",
NORMAL_FRAME,
default_frame_unwind_stop_reason,
xstormy16_frame_this_id,