/* 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>.
#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"
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. */
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;
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;
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);
}