Fix tic6x-uclinux GDBserver build failure

I can't find a c6x-uclinux c++ compiler, so I use my host g++ to build
tic6x-uclinux GDBserver, and find the following build failures.  They are
not target specific, so I believe they are real errors.  This patch fixes
them.

../binutils-gdb/gdb/gdbserver/linux-tic6x-low.c:313:34: error: invalid
conversion from 'void*' to 'tic6x_register*' [-fpermissive]
   union tic6x_register *regset = buf;
                                  ^
../binutils-gdb/gdb/gdbserver/linux-tic6x-low.c: In function 'void tic6x_store_gregset(regcache*, const void*)':
../binutils-gdb/gdb/gdbserver/linux-tic6x-low.c:324:40: error: invalid
conversion from 'const void*' to 'const tic6x_register*' [-fpermissive]
   const union tic6x_register *regset = buf;
                                        ^

../binutils-gdb/gdb/gdbserver/linux-tic6x-low.c: At global scope:
../binutils-gdb/gdb/gdbserver/linux-tic6x-low.c:359:28: error: redefinition of 'usrregs_info tic6x_usrregs_info'
 static struct usrregs_info tic6x_usrregs_info =
                            ^
../binutils-gdb/gdb/gdbserver/linux-tic6x-low.c:186:28: note: 'usrregs_info tic6x_usrregs_info' previously declared here
 static struct usrregs_info tic6x_usrregs_info;
                            ^

gdb/gdbserver:

2017-11-16  Yao Qi  <yao.qi@linaro.org>

	* linux-tic6x-low.c (tic6x_fill_gregset): Cast buf.
	(tic6x_store_gregset): Likewise.
	(tic6x_usrregs_info): Move it up.
This commit is contained in:
Yao Qi 2017-11-16 10:05:27 +00:00
parent be7f761188
commit 3491a34c4f
2 changed files with 13 additions and 10 deletions

View File

@ -1,3 +1,9 @@
2017-11-16 Yao Qi <yao.qi@linaro.org>
* linux-tic6x-low.c (tic6x_fill_gregset): Cast buf.
(tic6x_store_gregset): Likewise.
(tic6x_usrregs_info): Move it up.
2017-11-15 Alan Hayward <alan.hayward@arm.com>
* Makefile.in: Update arch rules.

View File

@ -182,8 +182,11 @@ tic6x_sw_breakpoint_from_kind (int kind, int *size)
return (const gdb_byte *) &tic6x_breakpoint;
}
/* Forward definition. */
static struct usrregs_info tic6x_usrregs_info;
static struct usrregs_info tic6x_usrregs_info =
{
TIC6X_NUM_REGS,
NULL, /* Set in tic6x_read_description. */
};
static const struct target_desc *
tic6x_read_description (void)
@ -310,7 +313,7 @@ tic6x_supply_register (struct regcache *regcache, int regno,
static void
tic6x_fill_gregset (struct regcache *regcache, void *buf)
{
union tic6x_register *regset = buf;
auto regset = static_cast<union tic6x_register *> (buf);
int i;
for (i = 0; i < TIC6X_NUM_REGS; i++)
@ -321,7 +324,7 @@ tic6x_fill_gregset (struct regcache *regcache, void *buf)
static void
tic6x_store_gregset (struct regcache *regcache, const void *buf)
{
const union tic6x_register *regset = buf;
const auto regset = static_cast<const union tic6x_register *> (buf);
int i;
for (i = 0; i < TIC6X_NUM_REGS; i++)
@ -356,12 +359,6 @@ static struct regsets_info tic6x_regsets_info =
NULL, /* disabled_regsets */
};
static struct usrregs_info tic6x_usrregs_info =
{
TIC6X_NUM_REGS,
NULL, /* Set in tic6x_read_description. */
};
static struct regs_info regs_info =
{
NULL, /* regset_bitmap */