mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
ODR warning for "struct stack_item"
"struct stack_item" is defined in multiple .c files, causing ODR warnings. This patch renames these types. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22395
This commit is contained in:
parent
cc55e4ef62
commit
0fecb1a784
@ -3836,18 +3836,19 @@ arm_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
|
||||
/* When arguments must be pushed onto the stack, they go on in reverse
|
||||
order. The code below implements a FILO (stack) to do this. */
|
||||
|
||||
struct stack_item
|
||||
struct arm_stack_item
|
||||
{
|
||||
int len;
|
||||
struct stack_item *prev;
|
||||
struct arm_stack_item *prev;
|
||||
gdb_byte *data;
|
||||
};
|
||||
|
||||
static struct stack_item *
|
||||
push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
|
||||
static struct arm_stack_item *
|
||||
push_stack_item (struct arm_stack_item *prev, const gdb_byte *contents,
|
||||
int len)
|
||||
{
|
||||
struct stack_item *si;
|
||||
si = XNEW (struct stack_item);
|
||||
struct arm_stack_item *si;
|
||||
si = XNEW (struct arm_stack_item);
|
||||
si->data = (gdb_byte *) xmalloc (len);
|
||||
si->len = len;
|
||||
si->prev = prev;
|
||||
@ -3855,10 +3856,10 @@ push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
|
||||
return si;
|
||||
}
|
||||
|
||||
static struct stack_item *
|
||||
pop_stack_item (struct stack_item *si)
|
||||
static struct arm_stack_item *
|
||||
pop_stack_item (struct arm_stack_item *si)
|
||||
{
|
||||
struct stack_item *dead = si;
|
||||
struct arm_stack_item *dead = si;
|
||||
si = si->prev;
|
||||
xfree (dead->data);
|
||||
xfree (dead);
|
||||
@ -4176,7 +4177,7 @@ arm_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||
int argnum;
|
||||
int argreg;
|
||||
int nstack;
|
||||
struct stack_item *si = NULL;
|
||||
struct arm_stack_item *si = NULL;
|
||||
int use_vfp_abi;
|
||||
struct type *ftype;
|
||||
unsigned vfp_regs_free = (1 << 16) - 1;
|
||||
|
@ -1199,18 +1199,19 @@ avr_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
|
||||
/* When arguments must be pushed onto the stack, they go on in reverse
|
||||
order. The below implements a FILO (stack) to do this. */
|
||||
|
||||
struct stack_item
|
||||
struct avr_stack_item
|
||||
{
|
||||
int len;
|
||||
struct stack_item *prev;
|
||||
struct avr_stack_item *prev;
|
||||
gdb_byte *data;
|
||||
};
|
||||
|
||||
static struct stack_item *
|
||||
push_stack_item (struct stack_item *prev, const bfd_byte *contents, int len)
|
||||
static struct avr_stack_item *
|
||||
push_stack_item (struct avr_stack_item *prev, const bfd_byte *contents,
|
||||
int len)
|
||||
{
|
||||
struct stack_item *si;
|
||||
si = XNEW (struct stack_item);
|
||||
struct avr_stack_item *si;
|
||||
si = XNEW (struct avr_stack_item);
|
||||
si->data = (gdb_byte *) xmalloc (len);
|
||||
si->len = len;
|
||||
si->prev = prev;
|
||||
@ -1218,11 +1219,10 @@ push_stack_item (struct stack_item *prev, const bfd_byte *contents, int len)
|
||||
return si;
|
||||
}
|
||||
|
||||
static struct stack_item *pop_stack_item (struct stack_item *si);
|
||||
static struct stack_item *
|
||||
pop_stack_item (struct stack_item *si)
|
||||
static struct avr_stack_item *
|
||||
pop_stack_item (struct avr_stack_item *si)
|
||||
{
|
||||
struct stack_item *dead = si;
|
||||
struct avr_stack_item *dead = si;
|
||||
si = si->prev;
|
||||
xfree (dead->data);
|
||||
xfree (dead);
|
||||
@ -1281,7 +1281,7 @@ avr_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||
int call_length = tdep->call_length;
|
||||
CORE_ADDR return_pc = avr_convert_iaddr_to_raw (bp_addr);
|
||||
int regnum = AVR_ARGN_REGNUM;
|
||||
struct stack_item *si = NULL;
|
||||
struct avr_stack_item *si = NULL;
|
||||
|
||||
if (return_method == return_method_struct)
|
||||
{
|
||||
|
@ -656,17 +656,18 @@ static CORE_ADDR crisv32_scan_prologue (CORE_ADDR pc,
|
||||
order. The below implements a FILO (stack) to do this.
|
||||
Copied from d10v-tdep.c. */
|
||||
|
||||
struct stack_item
|
||||
struct cris_stack_item
|
||||
{
|
||||
int len;
|
||||
struct stack_item *prev;
|
||||
struct cris_stack_item *prev;
|
||||
gdb_byte *data;
|
||||
};
|
||||
|
||||
static struct stack_item *
|
||||
push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
|
||||
static struct cris_stack_item *
|
||||
push_stack_item (struct cris_stack_item *prev, const gdb_byte *contents,
|
||||
int len)
|
||||
{
|
||||
struct stack_item *si = XNEW (struct stack_item);
|
||||
struct cris_stack_item *si = XNEW (struct cris_stack_item);
|
||||
si->data = (gdb_byte *) xmalloc (len);
|
||||
si->len = len;
|
||||
si->prev = prev;
|
||||
@ -674,10 +675,10 @@ push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
|
||||
return si;
|
||||
}
|
||||
|
||||
static struct stack_item *
|
||||
pop_stack_item (struct stack_item *si)
|
||||
static struct cris_stack_item *
|
||||
pop_stack_item (struct cris_stack_item *si)
|
||||
{
|
||||
struct stack_item *dead = si;
|
||||
struct cris_stack_item *dead = si;
|
||||
si = si->prev;
|
||||
xfree (dead->data);
|
||||
xfree (dead);
|
||||
@ -798,7 +799,7 @@ cris_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||
int argreg;
|
||||
int argnum;
|
||||
|
||||
struct stack_item *si = NULL;
|
||||
struct cris_stack_item *si = NULL;
|
||||
|
||||
/* Push the return address. */
|
||||
regcache_cooked_write_unsigned (regcache, SRP_REGNUM, bp_addr);
|
||||
|
@ -307,9 +307,9 @@ csky_register_type (struct gdbarch *gdbarch, int reg_nr)
|
||||
/* Data structure to marshall items in a dummy stack frame when
|
||||
calling a function in the inferior. */
|
||||
|
||||
struct stack_item
|
||||
struct csky_stack_item
|
||||
{
|
||||
stack_item (int len_, const gdb_byte *data_)
|
||||
csky_stack_item (int len_, const gdb_byte *data_)
|
||||
: len (len_), data (data_)
|
||||
{}
|
||||
|
||||
@ -330,7 +330,7 @@ csky_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||
int argreg = CSKY_ABI_A0_REGNUM;
|
||||
int last_arg_regnum = CSKY_ABI_LAST_ARG_REGNUM;
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
std::vector<stack_item> stack_items;
|
||||
std::vector<csky_stack_item> stack_items;
|
||||
|
||||
/* Set the return address. For CSKY, the return breakpoint is
|
||||
always at BP_ADDR. */
|
||||
@ -406,7 +406,7 @@ csky_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||
}
|
||||
|
||||
/* Transfer the dummy stack frame to the target. */
|
||||
std::vector<stack_item>::reverse_iterator iter;
|
||||
std::vector<csky_stack_item>::reverse_iterator iter;
|
||||
for (iter = stack_items.rbegin (); iter != stack_items.rend (); ++iter)
|
||||
{
|
||||
sp -= iter->len;
|
||||
|
Loading…
Reference in New Issue
Block a user