This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA 4/5] New patches to support --enable-targets=all for mingw64
- From: "Pierre Muller" <pierre dot muller at ics-cnrs dot unistra dot fr>
- To: <gdb-patches at sourceware dot org>
- Date: Fri, 10 Sep 2010 16:06:24 +0200
- Subject: [RFA 4/5] New patches to support --enable-targets=all for mingw64
I tried to compile GDB with
--enable-targets=all for x86_64-w64-mingw32
target.
As 'long' type is 4-byte while pointer type is 8-byte,
this target is quite sensitive to so 'dirty' code
lying around like casting 'long' or 'unsigned long' to pointers...
I had to fix several sources to be able to
successfully compile GDB with those configuration options.
4) Use host_address_to_string to display host pointers.
in hppa-tdep.c, monitor.c and xtensa-tdep.c
Pierre Muller
Pascal language support maintainer for GDB
2010-09-10 Pierre Muller <muller@ics.u-strasbg.fr>
* hppa-tdep.c (unwind_command): Use host_address_to_string function
to display a host address.
* monitor.c (monitor_read_memory): Likewise.
* xtensa-tdep.c (xtensa_push_dummy_call): Likewise.
Index: src/gdb/hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.273
diff -u -p -r1.273 hppa-tdep.c
--- src/gdb/hppa-tdep.c 19 Jan 2010 09:39:12 -0000 1.273
+++ src/gdb/hppa-tdep.c 9 Sep 2010 16:39:58 -0000
@@ -2506,7 +2506,7 @@ unwind_command (char *exp, int from_tty)
return;
}
- printf_unfiltered ("unwind_table_entry (0x%lx):\n", (unsigned long)u);
+ printf_unfiltered ("unwind_table_entry (%s):\n", host_address_to_string (u));
printf_unfiltered ("\tregion_start = %s\n", hex_string (u->region_start));
gdb_flush (gdb_stdout);
Index: src/gdb/monitor.c
===================================================================
RCS file: /cvs/src/src/gdb/monitor.c,v
retrieving revision 1.100
diff -u -p -r1.100 monitor.c
--- src/gdb/monitor.c 1 Jul 2010 15:36:16 -0000 1.100
+++ src/gdb/monitor.c 9 Sep 2010 16:39:59 -0000
@@ -1835,8 +1835,9 @@ monitor_read_memory (CORE_ADDR memaddr,
return 0;
}
- monitor_debug ("MON read block ta(%s) ha(%lx) %d\n",
- paddress (target_gdbarch, memaddr), (long) myaddr, len);
+ monitor_debug ("MON read block ta(%s) ha(%s) %d\n",
+ paddress (target_gdbarch, memaddr),
+ host_address_to_string (myaddr), len);
if (current_monitor->flags & MO_ADDR_BITS_REMOVE)
memaddr = gdbarch_addr_bits_remove (target_gdbarch, memaddr);
@@ -1924,7 +1925,8 @@ monitor_read_memory (CORE_ADDR memaddr,
p += strlen (current_monitor->getmem.resp_delim);
#endif
}
- monitor_debug ("MON scanning %d ,%lx '%s'\n", len, (long) p, p);
+ monitor_debug ("MON scanning %d ,%s '%s'\n", len,
+ host_address_to_string (p), p);
if (current_monitor->flags & MO_GETMEM_16_BOUNDARY)
{
char c;
Index: src/gdb/xtensa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/xtensa-tdep.c,v
retrieving revision 1.44
diff -u -p -r1.44 xtensa-tdep.c
--- src/gdb/xtensa-tdep.c 18 Aug 2010 19:13:33 -0000 1.44
+++ src/gdb/xtensa-tdep.c 9 Sep 2010 16:40:00 -0000
@@ -1636,8 +1636,9 @@ xtensa_push_dummy_call (struct gdbarch *
{
struct value *arg = args[i];
struct type *arg_type = check_typedef (value_type (arg));
- fprintf_unfiltered (gdb_stdlog, "%2d: 0x%lx %3d ",
- i, (unsigned long) arg, TYPE_LENGTH (arg_type));
+ fprintf_unfiltered (gdb_stdlog, "%2d: %s %3d ", i,
+ host_address_to_string (arg),
+ TYPE_LENGTH (arg_type));
switch (TYPE_CODE (arg_type))
{
case TYPE_CODE_INT:
@@ -1650,8 +1651,8 @@ xtensa_push_dummy_call (struct gdbarch *
fprintf_unfiltered (gdb_stdlog, "%3d", TYPE_CODE (arg_type));
break;
}
- fprintf_unfiltered (gdb_stdlog, " 0x%lx\n",
- (unsigned long) value_contents (arg));
+ fprintf_unfiltered (gdb_stdlog, " %s\n",
+ host_address_to_string (value_contents (arg)));
}
}