summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2017-11-16 10:05:27 +0000
committerYao Qi <yao.qi@linaro.org>2017-11-16 10:05:27 +0000
commit3491a34c4f7de10dbd19c719052642d8471c45a6 (patch)
tree12679c9430f573ed27c5b3469c2f0a87258d130d
parentbe7f7611881bae0fb9e26c892ecd61387d32542d (diff)
downloadbinutils-gdb-3491a34c4f7de10dbd19c719052642d8471c45a6.tar.gz
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.
-rw-r--r--gdb/gdbserver/ChangeLog6
-rw-r--r--gdb/gdbserver/linux-tic6x-low.c17
2 files changed, 13 insertions, 10 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 069ef9347fe..138d6bcf068 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -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.
diff --git a/gdb/gdbserver/linux-tic6x-low.c b/gdb/gdbserver/linux-tic6x-low.c
index 7a32f7e0128..6dda52e8eb8 100644
--- a/gdb/gdbserver/linux-tic6x-low.c
+++ b/gdb/gdbserver/linux-tic6x-low.c
@@ -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 */