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] nat/linux-ptrace.c: add missing gdb_byte* cast


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

commit ffce45d2243e5f52f411e314fc4e1a69f431a81f
Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date:   Sun Jun 18 23:28:56 2017 +0200

    nat/linux-ptrace.c: add missing gdb_byte* cast
    
    On noMMU platforms, the following code gets compiled:
    
      child_stack = xmalloc (STACK_SIZE * 4);
    
    Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While
    the lack of cast is valid in C, it is not in C++, causing the
    following build failure:
    
    ../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))':
    ../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
           child_stack = xmalloc (STACK_SIZE * 4);
    
    Therefore, this commit adds the appropriate cast.
    
    gdb/ChangeLog:
    
    	* nat/linux-ptrace.c (linux_fork_to_function): Add cast to
    	gdb_byte*.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Diff:
---
 gdb/ChangeLog          | 5 +++++
 gdb/nat/linux-ptrace.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 85ee3cf..1bbcb71 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
+
+	* nat/linux-ptrace.c (linux_fork_to_function): Add cast to
+	gdb_byte*.
+
 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
 
 	* nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
index 3265b16..438177f 100644
--- a/gdb/nat/linux-ptrace.c
+++ b/gdb/nat/linux-ptrace.c
@@ -272,7 +272,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *))
 #define STACK_SIZE 4096
 
     if (child_stack == NULL)
-      child_stack = xmalloc (STACK_SIZE * 4);
+      child_stack = (gdb_byte *) xmalloc (STACK_SIZE * 4);
 
     /* Use CLONE_VM instead of fork, to support uClinux (no MMU).  */
 #ifdef __ia64__


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