Remove a use of is_mi_like_p from darwin-nat-info.c
[deliverable/binutils-gdb.git] / gdb / spu-multiarch.c
index 7682ca2980732b5e87285cd87ce9938be8a16468..86782abc8b94d7ec2dd84deff96ae89a58af6797 100644 (file)
@@ -1,5 +1,5 @@
 /* Cell SPU GNU/Linux multi-architecture debugging support.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2018 Free Software Foundation, Inc.
 
    Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
 
@@ -22,7 +22,7 @@
 #include "gdbcore.h"
 #include "gdbcmd.h"
 #include "arch-utils.h"
-#include "observer.h"
+#include "observable.h"
 #include "inferior.h"
 #include "regcache.h"
 #include "symfile.h"
@@ -56,7 +56,6 @@ static int
 parse_spufs_run (ptid_t ptid, int *fd, CORE_ADDR *addr)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  struct cleanup *old_chain;
   struct gdbarch_tdep *tdep;
   struct regcache *regcache;
   gdb_byte buf[4];
@@ -122,7 +121,8 @@ 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 ();
+  target_ops *beneath = find_target_beneath (ops);
+  return beneath->to_thread_architecture (beneath, ptid);
 }
 
 /* Override the to_region_ok_for_hw_watchpoint routine.  */
@@ -144,7 +144,7 @@ static void
 spu_fetch_registers (struct target_ops *ops,
                     struct regcache *regcache, int regno)
 {
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
+  struct gdbarch *gdbarch = regcache->arch ();
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   struct target_ops *ops_beneath = find_target_beneath (ops);
   int spufs_fd;
@@ -204,7 +204,7 @@ static void
 spu_store_registers (struct target_ops *ops,
                     struct regcache *regcache, int regno)
 {
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
+  struct gdbarch *gdbarch = regcache->arch ();
   struct target_ops *ops_beneath = find_target_beneath (ops);
   int spufs_fd;
   CORE_ADDR spufs_addr;
@@ -402,9 +402,6 @@ init_spu_ops (void)
   spu_ops.to_magic = OPS_MAGIC;
 }
 
-/* -Wmissing-prototypes */
-extern initialize_file_ftype _initialize_spu_multiarch;
-
 void
 _initialize_spu_multiarch (void)
 {
@@ -413,8 +410,8 @@ _initialize_spu_multiarch (void)
   complete_target_initialization (&spu_ops);
 
   /* Install observers to watch for SPU objects.  */
-  observer_attach_inferior_created (spu_multiarch_inferior_created);
-  observer_attach_solib_loaded (spu_multiarch_solib_loaded);
-  observer_attach_solib_unloaded (spu_multiarch_solib_unloaded);
+  gdb::observers::inferior_created.attach (spu_multiarch_inferior_created);
+  gdb::observers::solib_loaded.attach (spu_multiarch_solib_loaded);
+  gdb::observers::solib_unloaded.attach (spu_multiarch_solib_unloaded);
 }
 
This page took 0.024631 seconds and 4 git commands to generate.