summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-04-21 14:02:20 +0100
committerPedro Alves <palves@redhat.com>2016-04-21 14:02:20 +0100
commit71829b1a3f9b4825150747b138b5cfadf0c5fcba (patch)
treed9e4ad43c55f752c16d1996775121a58bcf65fbc /gdb/rs6000-nat.c
parentFix s390 GNU/Linux gdb and gdbserver builds (diff)
downloadbinutils-gdb-71829b1a3f9b4825150747b138b5cfadf0c5fcba.tar.gz
binutils-gdb-71829b1a3f9b4825150747b138b5cfadf0c5fcba.tar.bz2
binutils-gdb-71829b1a3f9b4825150747b138b5cfadf0c5fcba.zip
Fix AIX gdb build with C++ compiler
We currently get: ../../src/gdb/aix-thread.c: In function 'int pdc_read_data(pthdb_user_t, void*, pthdb_addr_t, size_t)': ../../src/gdb/aix-thread.c:465:46: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] status = target_read_memory (addr, buf, len); ^ ../../src/gdb/aix-thread.c: In function 'void aix_thread_resume(target_ops*, ptid_t, int, gdb_signal)': ../../src/gdb/aix-thread.c:1010:46: error: invalid conversion from 'void*' to 'int*' [-fpermissive] gdb_signal_to_host (sig), (void *) tid); ^ ../../src/gdb/aix-thread.c:243:1: error: initializing argument 5 of 'int ptrace64aix(int, int, long long int, int, int*)' [-fpermissive] ptrace64aix (int req, int id, long long addr, int data, int *buf) ../../src/gdb/rs6000-nat.c: In function 'gdb_byte* rs6000_ptrace_ldinfo(ptid_t)': ../../src/gdb/rs6000-nat.c:596:36: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] gdb_byte *ldi = xmalloc (ldi_size); ^ ../../src/gdb/rs6000-nat.c:615:36: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] ldi = xrealloc (ldi, ldi_size); ^ (and more instances of the same). gdb/ChangeLog: 2016-04-21 Pedro Alves <palves@redhat.com> * aix-thread.c (pdc_read_data, pdc_write_data): Add cast. (aix_thread_resume): Use PTRACE_TYPE_ARG5. * rs6000-nat.c (rs6000_ptrace64): Use PTRACE_TYPE_ARG5. (rs6000_ptrace_ldinfo): Change type of 'ldi' local to void pointer, and cast return to gdb_byte pointer.
Diffstat (limited to 'gdb/rs6000-nat.c')
-rw-r--r--gdb/rs6000-nat.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gdb/rs6000-nat.c b/gdb/rs6000-nat.c
index ca333f216d8..1ae3cc328a1 100644
--- a/gdb/rs6000-nat.c
+++ b/gdb/rs6000-nat.c
@@ -143,9 +143,9 @@ rs6000_ptrace64 (int req, int id, long long addr, int data, void *buf)
{
#ifdef ARCH3264
# ifdef HAVE_PTRACE64
- int ret = ptrace64 (req, id, addr, data, buf);
+ int ret = ptrace64 (req, id, addr, data, (PTRACE_TYPE_ARG5) buf);
# else
- int ret = ptracex (req, id, addr, data, buf);
+ int ret = ptracex (req, id, addr, data, (PTRACE_TYPE_ARG5) buf);
# endif
#else
int ret = 0;
@@ -593,7 +593,7 @@ rs6000_ptrace_ldinfo (ptid_t ptid)
{
const int pid = ptid_get_pid (ptid);
int ldi_size = 1024;
- gdb_byte *ldi = xmalloc (ldi_size);
+ void *ldi = xmalloc (ldi_size);
int rc = -1;
while (1)
@@ -615,7 +615,7 @@ rs6000_ptrace_ldinfo (ptid_t ptid)
ldi = xrealloc (ldi, ldi_size);
}
- return ldi;
+ return (gdb_byte *) ldi;
}
/* Implement the to_xfer_partial target_ops method for