Fix up some formatting.
[deliverable/binutils-gdb.git] / gdb / rs6000-nat.c
index 2a180be0186e83f49863fd678e32a5654187aa9b..710b5e3d5c091e4d973ea84a4a9e3b23333fd1c2 100644 (file)
@@ -1,7 +1,7 @@
 /* IBM RS/6000 native-dependent code for GDB, the GNU debugger.
 
    Copyright (C) 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-   1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 2008
+   1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -36,8 +36,8 @@
 #include "ppc-tdep.h"
 #include "rs6000-tdep.h"
 #include "exec.h"
-#include "gdb_stdint.h"
 #include "observer.h"
+#include "xcoffread.h"
 
 #include <sys/ptrace.h>
 #include <sys/reg.h>
@@ -518,7 +518,8 @@ rs6000_xfer_partial (struct target_ops *ops, enum target_object object,
    the status in *OURSTATUS.  */
 
 static ptid_t
-rs6000_wait (ptid_t ptid, struct target_waitstatus *ourstatus)
+rs6000_wait (struct target_ops *ops,
+            ptid_t ptid, struct target_waitstatus *ourstatus)
 {
   pid_t pid;
   int status, save_errno;
@@ -526,7 +527,6 @@ rs6000_wait (ptid_t ptid, struct target_waitstatus *ourstatus)
   do
     {
       set_sigint_trap ();
-      set_sigio_trap ();
 
       do
        {
@@ -535,7 +535,6 @@ rs6000_wait (ptid_t ptid, struct target_waitstatus *ourstatus)
        }
       while (pid == -1 && errno == EINTR);
 
-      clear_sigio_trap ();
       clear_sigint_trap ();
 
       if (pid == -1)
@@ -547,7 +546,7 @@ rs6000_wait (ptid_t ptid, struct target_waitstatus *ourstatus)
          /* Claim it exited with unknown signal.  */
          ourstatus->kind = TARGET_WAITKIND_SIGNALLED;
          ourstatus->value.sig = TARGET_SIGNAL_UNKNOWN;
-         return minus_one_ptid;
+         return inferior_ptid;
        }
 
       /* Ignore terminated detached child processes.  */
@@ -578,7 +577,7 @@ rs6000_wait (ptid_t ptid, struct target_waitstatus *ourstatus)
 static void
 exec_one_dummy_insn (struct gdbarch *gdbarch)
 {
-#define        DUMMY_INSN_ADDR gdbarch_tdep (gdbarch)->text_segment_base+0x200
+#define        DUMMY_INSN_ADDR AIX_TEXT_SEGMENT_BASE+0x200
 
   int ret, status, pid;
   CORE_ADDR prev_pc;
@@ -967,17 +966,18 @@ vmap_exec (void)
 /* Set the current architecture from the host running GDB.  Called when
    starting a child process. */
 
-static void (*super_create_inferior) (char *exec_file, char *allargs,
-                                     char **env, int from_tty);
+static void (*super_create_inferior) (struct target_ops *,char *exec_file, 
+                                     char *allargs, char **env, int from_tty);
 static void
-rs6000_create_inferior (char *exec_file, char *allargs, char **env, int from_tty)
+rs6000_create_inferior (struct target_ops * ops, char *exec_file,
+                       char *allargs, char **env, int from_tty)
 {
   enum bfd_architecture arch;
   unsigned long mach;
   bfd abfd;
   struct gdbarch_info info;
 
-  super_create_inferior (exec_file, allargs, env, from_tty);
+  super_create_inferior (ops, exec_file, allargs, env, from_tty);
 
   if (__power_rs ())
     {
@@ -1192,16 +1192,15 @@ static CORE_ADDR
 find_toc_address (CORE_ADDR pc)
 {
   struct vmap *vp;
-  extern CORE_ADDR get_toc_offset (struct objfile *);  /* xcoffread.c */
 
   for (vp = vmap; vp; vp = vp->nxt)
     {
       if (pc >= vp->tstart && pc < vp->tend)
        {
          /* vp->objfile is only NULL for the exec file.  */
-         return vp->dstart + get_toc_offset (vp->objfile == NULL
-                                             ? symfile_objfile
-                                             : vp->objfile);
+         return vp->dstart + xcoff_get_toc_offset (vp->objfile == NULL
+                                                   ? symfile_objfile
+                                                   : vp->objfile);
        }
     }
   error (_("Unable to find TOC entry for pc %s."), hex_string (pc));
This page took 0.025755 seconds and 4 git commands to generate.