Index: gdb/spu-multiarch.c |
diff --git a/gdb/spu-multiarch.c b/gdb/spu-multiarch.c |
index 8d4ef570dcad725197a20e5e771ff6c747ebf6d4..f584a9ad58b4f9f902dc7fe7ca90944370dd52ff 100644 |
--- a/gdb/spu-multiarch.c |
+++ b/gdb/spu-multiarch.c |
@@ -1,5 +1,5 @@ |
/* Cell SPU GNU/Linux multi-architecture debugging support. |
- Copyright (C) 2009-2012 Free Software Foundation, Inc. |
+ Copyright (C) 2009-2013 Free Software Foundation, Inc. |
Contributed by Ulrich Weigand <uweigand@de.ibm.com>. |
@@ -21,7 +21,7 @@ |
#include "defs.h" |
#include "gdbcore.h" |
#include "gdbcmd.h" |
-#include "gdb_string.h" |
+#include <string.h> |
#include "gdb_assert.h" |
#include "arch-utils.h" |
#include "observer.h" |
@@ -57,19 +57,19 @@ static int spu_nr_solib; |
static int |
parse_spufs_run (ptid_t ptid, int *fd, CORE_ADDR *addr) |
{ |
- enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch); |
+ enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ()); |
struct gdbarch_tdep *tdep; |
struct regcache *regcache; |
- char buf[4]; |
+ gdb_byte buf[4]; |
ULONGEST regval; |
/* If we're not on PPU, there's nothing to detect. */ |
- if (gdbarch_bfd_arch_info (target_gdbarch)->arch != bfd_arch_powerpc) |
+ if (gdbarch_bfd_arch_info (target_gdbarch ())->arch != bfd_arch_powerpc) |
return 0; |
/* Get PPU-side registers. */ |
- regcache = get_thread_arch_regcache (ptid, target_gdbarch); |
- tdep = gdbarch_tdep (target_gdbarch); |
+ regcache = get_thread_arch_regcache (ptid, target_gdbarch ()); |
+ tdep = gdbarch_tdep (target_gdbarch ()); |
/* Fetch instruction preceding current NIP. */ |
if (target_read_memory (regcache_read_pc (regcache) - 4, buf, 4) != 0) |
@@ -113,7 +113,7 @@ spu_thread_architecture (struct target_ops *ops, ptid_t ptid) |
if (parse_spufs_run (ptid, &spufs_fd, &spufs_addr)) |
return spu_gdbarch (spufs_fd); |
- return target_gdbarch; |
+ return target_gdbarch (); |
} |
/* Override the to_region_ok_for_hw_watchpoint routine. */ |
@@ -163,7 +163,7 @@ spu_fetch_registers (struct target_ops *ops, |
/* The ID register holds the spufs file handle. */ |
if (regno == -1 || regno == SPU_ID_REGNUM) |
{ |
- char buf[4]; |
+ gdb_byte buf[4]; |
store_unsigned_integer (buf, 4, byte_order, spufs_fd); |
regcache_raw_supply (regcache, SPU_ID_REGNUM, buf); |
} |
@@ -171,7 +171,7 @@ spu_fetch_registers (struct target_ops *ops, |
/* The NPC register is found in PPC memory at SPUFS_ADDR. */ |
if (regno == -1 || regno == SPU_PC_REGNUM) |
{ |
- char buf[4]; |
+ gdb_byte buf[4]; |
if (target_read (ops_beneath, TARGET_OBJECT_MEMORY, NULL, |
buf, spufs_addr, sizeof buf) == sizeof buf) |
@@ -181,7 +181,8 @@ spu_fetch_registers (struct target_ops *ops, |
/* The GPRs are found in the "regs" spufs file. */ |
if (regno == -1 || (regno >= 0 && regno < SPU_NUM_GPRS)) |
{ |
- char buf[16 * SPU_NUM_GPRS], annex[32]; |
+ gdb_byte buf[16 * SPU_NUM_GPRS]; |
+ char annex[32]; |
int i; |
xsnprintf (annex, sizeof annex, "%d/regs", spufs_fd); |
@@ -220,7 +221,7 @@ spu_store_registers (struct target_ops *ops, |
/* The NPC register is found in PPC memory at SPUFS_ADDR. */ |
if (regno == -1 || regno == SPU_PC_REGNUM) |
{ |
- char buf[4]; |
+ gdb_byte buf[4]; |
regcache_raw_collect (regcache, SPU_PC_REGNUM, buf); |
target_write (ops_beneath, TARGET_OBJECT_MEMORY, NULL, |
@@ -230,7 +231,8 @@ spu_store_registers (struct target_ops *ops, |
/* The GPRs are found in the "regs" spufs file. */ |
if (regno == -1 || (regno >= 0 && regno < SPU_NUM_GPRS)) |
{ |
- char buf[16 * SPU_NUM_GPRS], annex[32]; |
+ gdb_byte buf[16 * SPU_NUM_GPRS]; |
+ char annex[32]; |
int i; |
for (i = 0; i < SPU_NUM_GPRS; i++) |
@@ -283,7 +285,7 @@ spu_xfer_partial (struct target_ops *ops, enum target_object object, |
0, sizeof buf) <= 0) |
return ret; |
- lslr = strtoulst (buf, NULL, 16); |
+ lslr = strtoulst ((char *) buf, NULL, 16); |
return ops_beneath->to_xfer_partial (ops_beneath, TARGET_OBJECT_SPU, |
mem_annex, readbuf, writebuf, |
addr & lslr, len); |
@@ -408,7 +410,7 @@ _initialize_spu_multiarch (void) |
{ |
/* Install ourselves on the target stack. */ |
init_spu_ops (); |
- add_target (&spu_ops); |
+ complete_target_initialization (&spu_ops); |
/* Install observers to watch for SPU objects. */ |
observer_attach_inferior_created (spu_multiarch_inferior_created); |