This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[patch] Can't build ppc32 GDB
- From: PAUL GILLIAM <pgilliam at us dot ibm dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Mon, 24 Apr 2006 17:18:58 -0700
- Subject: [patch] Can't build ppc32 GDB
- Reply-to: pgilliam at us dot ibm dot com
I don't know if all ppc systems have this problem. But on a PowerPC-64
system, I get the following when I try to build a 32-bit gdb:
gcc -c -g -O2 -mminimal-toc -I. -I.././gdb -I.././gdb/config
-DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H
-I.././gdb/../include/opcode -I.././gdb/../readline/.. -I../bfd
-I.././gdb/../bfd -I.././gdb/../include -I../intl -I.././gdb/../intl
-DMI_OUT=1 -DTUI=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs
-Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral
-Wunused-label -Wunused-function -Wno-pointer-sign -Wuninitialized
-Werror ppc-linux-nat.c
cc1: warnings being treated as errors
ppc-linux-nat.c: In function âfetch_registerâ:
ppc-linux-nat.c:396: warning: cast to pointer from integer of different
size
ppc-linux-nat.c: In function âstore_registerâ:
ppc-linux-nat.c:691: warning: cast to pointer from integer of different
size
ppc-linux-nat.c: In function âppc_linux_stopped_by_watchpointâ:
ppc-linux-nat.c:904: warning: cast from pointer to integer of different
size
make: *** [ppc-linux-nat.o] Error 1
So as a starting point, I have attached a patch that gets rid of the
warnings.
OK to commit? (not expecting a 'yes', but you never know unless you ask
8-)
-=# Paul #=-
? .NEWS.annotate.swp
? .gdbinit
? Makefile
? ada-exp.c
? ada-lex.c
? c-exp.c
? chit.diff
? config.cache
? config.h
? config.log
? config.status
? cp-name-parser.c
? f-exp.c
? gdb
? gdbtui
? hope.patch
? init.c
? jv-exp.c
? m2-exp.c
? maintainers.patch
? objc-exp.c
? observer.h
? observer.inc
? p-exp.c
? stamp-h
? tweek.patch
? version.c
? doc/Makefile
? doc/config.log
? doc/config.status
? gdbserver/Makefile
? gdbserver/config.h
? gdbserver/config.log
? gdbserver/config.status
? gdbserver/gdbreplay
? gdbserver/gdbserver
? gdbserver/reg-ppc64.c
? gdbserver/stamp-h
? gdbserver/version.c
? testsuite/Makefile
? testsuite/config.log
? testsuite/config.status
? testsuite/gdb.ada/Makefile
? testsuite/gdb.arch/Makefile
? testsuite/gdb.asm/Makefile
? testsuite/gdb.base/Makefile
? testsuite/gdb.cp/Makefile
? testsuite/gdb.disasm/Makefile
? testsuite/gdb.dwarf2/Makefile
? testsuite/gdb.fortran/Makefile
? testsuite/gdb.java/Makefile
? testsuite/gdb.mi/Makefile
? testsuite/gdb.objc/Makefile
? testsuite/gdb.server/Makefile
? testsuite/gdb.stabs/Makefile
? testsuite/gdb.stabs/config.log
? testsuite/gdb.stabs/config.status
? testsuite/gdb.threads/Makefile
? testsuite/gdb.trace/Makefile
Index: ppc-linux-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-nat.c,v
retrieving revision 1.60
diff -a -u -r1.60 ppc-linux-nat.c
--- ppc-linux-nat.c 24 Mar 2006 23:08:16 -0000 1.60
+++ ppc-linux-nat.c 25 Apr 2006 00:10:12 -0000
@@ -393,7 +393,7 @@
{
errno = 0;
*(PTRACE_XFER_TYPE *) & buf[bytes_transferred]
- = ptrace (PT_READ_U, tid, (PTRACE_ARG3_TYPE) regaddr, 0);
+ = ptrace (PT_READ_U, tid, (PTRACE_ARG3_TYPE) (long) regaddr, 0);
regaddr += sizeof (PTRACE_XFER_TYPE);
if (errno != 0)
{
@@ -688,7 +688,7 @@
for (i = 0; i < bytes_to_transfer; i += sizeof (PTRACE_XFER_TYPE))
{
errno = 0;
- ptrace (PT_WRITE_U, tid, (PTRACE_ARG3_TYPE) regaddr,
+ ptrace (PT_WRITE_U, tid, (PTRACE_ARG3_TYPE) (long) regaddr,
*(PTRACE_XFER_TYPE *) & buf[i]);
regaddr += sizeof (PTRACE_XFER_TYPE);
@@ -901,7 +901,7 @@
(siginfo.si_code & 0xffff) != 0x0004)
return 0;
- last_stopped_data_address = (CORE_ADDR) siginfo.si_addr;
+ last_stopped_data_address = (CORE_ADDR) (long) siginfo.si_addr;
return 1;
}