build as needed
[platform/upstream/binutils.git] / gdb / dicos-tdep.c
index d64efe5..5276399 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent, architecture-independent code for DICOS, for GDB.
 
-   Copyright (C) 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "osabi.h"
-#include "gdb_string.h"
 #include "solib.h"
 #include "solib-target.h"
 #include "inferior.h"
@@ -33,13 +32,18 @@ dicos_init_abi (struct gdbarch *gdbarch)
   set_solib_ops (gdbarch, &solib_target_so_ops);
 
   /* Every process, although has its own address space, sees the same
-     list of shared libraries.  */
+     list of shared libraries.  There's no "main executable" in DICOS,
+     so this accounts for all code.  */
   set_gdbarch_has_global_solist (gdbarch, 1);
 
+  /* The DICOS breakpoint API takes care of magically making
+     breakpoints visible to all inferiors.  */
+  set_gdbarch_has_global_breakpoints (gdbarch, 1);
+
   /* There's no (standard definition of) entry point or a guaranteed
      text location with a symbol where to place the call dummy, so we
-     put it on the stack.  */
-  set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
+     need it on the stack.  Rely on i386_gdbarch_init used also for
+     amd64 to set up ON_STACK inferior calls.  */
 
   /* DICOS rewinds the PC itself.  */
   set_gdbarch_decr_pc_after_break (gdbarch, 0);
@@ -76,7 +80,8 @@ dicos_load_module_p (bfd *abfd, int header_size)
   storage_needed = bfd_get_symtab_upper_bound (abfd);
   if (storage_needed < 0)
     {
-      warning (_("Can't read elf symbols from %s: %s"), bfd_get_filename (abfd),
+      warning (_("Can't read elf symbols from %s: %s"),
+              bfd_get_filename (abfd),
               bfd_errmsg (bfd_get_error ()));
       return 0;
     }