This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix siginfo C++ build error


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8adce0342f5f50aba0154fc56ca59df45b219738

commit 8adce0342f5f50aba0154fc56ca59df45b219738
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Feb 9 11:18:15 2016 +0000

    Fix siginfo C++ build error
    
    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) <siginfo_fixup>:
    	Likewise.
    	* linux-x86-low.c (x86_siginfo_fixup): Likewise.

Diff:
---
 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 e0da782..3d799c1 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,13 @@
+2016-02-09  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* 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) <siginfo_fixup>:
+	Likewise.
+	* linux-x86-low.c (x86_siginfo_fixup): Likewise.
+
 2016-02-02  Walfred Tedeschi  <walfred.tedeschi@intel.com>
 
 	* 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 1cc9f59..806a762 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 bce7580..8b025bd 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 0d9eb40..4ec8550 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 ff51a95..0c4954a 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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]