From 8adce0342f5f50aba0154fc56ca59df45b219738 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 9 Feb 2016 11:18:15 +0000 Subject: [PATCH] Fix siginfo C++ build error MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change the signature of gdbserver's siginfo_fixup functions so that it's in line with gdb's. This gets rid of the following build error in C++: /home/emaisin/src/binutils-gdb/gdb/gdbserver/linux-x86-low.c: In function ‘int x86_siginfo_fixup(siginfo_t*, void*, int)’: /home/emaisin/src/binutils-gdb/gdb/gdbserver/linux-x86-low.c:694:21: error: invalid conversion from ‘void*’ to ‘gdb_byte* {aka unsigned char*}’ [-fpermissive] FIXUP_32); ^ In file included from /home/emaisin/src/binutils-gdb/gdb/gdbserver/linux-x86-low.c:31:0: /home/emaisin/src/binutils-gdb/gdb/gdbserver/../nat/amd64-linux-siginfo.h:52:5: error: initializing argument 2 of ‘int amd64_linux_siginfo_fixup_common(siginfo_t*, gdb_byte*, int, amd64_siginfo_fixup_mode)’ [-fpermissive] int amd64_linux_siginfo_fixup_common (siginfo_t *native, gdb_byte *inf, ^ /home/emaisin/src/binutils-gdb/gdb/gdbserver/linux-x86-low.c:698:20: error: invalid conversion from ‘void*’ to ‘gdb_byte* {aka unsigned char*}’ [-fpermissive] FIXUP_X32); ^ In file included from /home/emaisin/src/binutils-gdb/gdb/gdbserver/linux-x86-low.c:31:0: /home/emaisin/src/binutils-gdb/gdb/gdbserver/../nat/amd64-linux-siginfo.h:52:5: error: initializing argument 2 of ‘int amd64_linux_siginfo_fixup_common(siginfo_t*, gdb_byte*, int, amd64_siginfo_fixup_mode)’ [-fpermissive] int amd64_linux_siginfo_fixup_common (siginfo_t *native, gdb_byte *inf, ^ gdb/gdbserver/ChangeLog: * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): Change void * to gdb_byte *. * linux-low.c (siginfo_fixup): Likewise. (linux_xfer_siginfo): Likewise. * linux-low.h (struct linux_target_ops) : Likewise. * linux-x86-low.c (x86_siginfo_fixup): Likewise. --- gdb/gdbserver/ChangeLog | 10 ++++++++++ gdb/gdbserver/linux-aarch64-low.c | 2 +- gdb/gdbserver/linux-low.c | 4 ++-- gdb/gdbserver/linux-low.h | 2 +- gdb/gdbserver/linux-x86-low.c | 2 +- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index e0da782a0ac..3d799c15ef0 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,13 @@ +2016-02-09 Simon Marchi + + * linux-aarch64-low.c (aarch64_linux_siginfo_fixup): Change + void * to gdb_byte *. + * linux-low.c (siginfo_fixup): Likewise. + (linux_xfer_siginfo): Likewise. + * linux-low.h (struct linux_target_ops) : + Likewise. + * linux-x86-low.c (x86_siginfo_fixup): Likewise. + 2016-02-02 Walfred Tedeschi * configure.srv (x86_64-*-linux*): Add amd64-linux-siginfo.o diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c index 1cc9f59f6f2..806a76260f8 100644 --- a/gdb/gdbserver/linux-aarch64-low.c +++ b/gdb/gdbserver/linux-aarch64-low.c @@ -431,7 +431,7 @@ ps_get_thread_area (const struct ps_prochandle *ph, /* Implementation of linux_target_ops method "siginfo_fixup". */ static int -aarch64_linux_siginfo_fixup (siginfo_t *native, void *inf, int direction) +aarch64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction) { /* Is the inferior 32-bit? If so, then fixup the siginfo object. */ if (!is_64bit_tdesc ()) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index bce7580dec4..8b025bd1b0a 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -5982,7 +5982,7 @@ linux_qxfer_osdata (const char *annex, layout of the inferiors' architecture. */ static void -siginfo_fixup (siginfo_t *siginfo, void *inf_siginfo, int direction) +siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction) { int done = 0; @@ -6006,7 +6006,7 @@ linux_xfer_siginfo (const char *annex, unsigned char *readbuf, { int pid; siginfo_t siginfo; - char inf_siginfo[sizeof (siginfo_t)]; + gdb_byte inf_siginfo[sizeof (siginfo_t)]; if (current_thread == NULL) return -1; diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h index 0d9eb4008c4..4ec85504412 100644 --- a/gdb/gdbserver/linux-low.h +++ b/gdb/gdbserver/linux-low.h @@ -181,7 +181,7 @@ struct linux_target_ops Returns true if any conversion was done; false otherwise. If DIRECTION is 1, then copy from INF to NATIVE. If DIRECTION is 0, copy from NATIVE to INF. */ - int (*siginfo_fixup) (siginfo_t *native, void *inf, int direction); + int (*siginfo_fixup) (siginfo_t *native, gdb_byte *inf, int direction); /* Hook to call when a new process is created or attached to. If extra per-process architecture-specific data is needed, diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c index ff51a95357b..0c4954a58dc 100644 --- a/gdb/gdbserver/linux-x86-low.c +++ b/gdb/gdbserver/linux-x86-low.c @@ -681,7 +681,7 @@ x86_debug_reg_state (pid_t pid) INF. */ static int -x86_siginfo_fixup (siginfo_t *native, void *inf, int direction) +x86_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction) { #ifdef __x86_64__ unsigned int machine; -- 2.30.2