diff options
author | Yao Qi <yao.qi@linaro.org> | 2017-11-16 10:05:27 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2017-11-16 10:05:27 +0000 |
commit | 3491a34c4f7de10dbd19c719052642d8471c45a6 (patch) | |
tree | 12679c9430f573ed27c5b3469c2f0a87258d130d | |
parent | be7f7611881bae0fb9e26c892ecd61387d32542d (diff) | |
download | binutils-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/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/gdbserver/linux-tic6x-low.c | 17 |
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 */ |