This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: procfs.c for UnixWare (v4)


2001-01-18  Rodney Brown  <rbrown64@csc.com.au>
     * procfs.c: Prototype elfcore_write_prstatus, elfcore_write_pstatus,
     elfcore_write_prfpreg, elfcore_write_prpsinfo.
     (procfs_do_thread_registers): Call elfcore_write_gdb_prstatus.

--- procfs.c.orig   Tue Jan 15 15:01:48 2002
+++ procfs.c   Fri Jan 18 16:41:38 2002
@@ -55,7 +55,7 @@ Inc., 59 Temple Place - Suite 330, Bosto
  *   Unixware
  *   AIX5
  *
- * /proc works by immitating a file system: you open a simulated file
+ * /proc works by imitating a file system: you open a simulated file
  * that represents the process you wish to interact with, and
  * perform operations on that "file" in order to examine or change
  * the state of the other process.
@@ -135,6 +135,14 @@ static int proc_find_memory_regions (int

 static char * procfs_make_note_section (bfd *, int *);

+#ifndef  HAVE_PSTATUS_T
+char *elfcore_write_prstatus (bfd *, char *, int *, long, int, void *);
+#else
+char *elfcore_write_pstatus (bfd *, char *, int *, long, int, void *);
+#endif
+char *elfcore_write_prfpreg (bfd  *, char *, int  *, void *, int);
+char *elfcore_write_prpsinfo (bfd  *, char *, int  *, char *, char *);
+
 struct target_ops procfs_ops;           /* the target vector */

 static void
@@ -5733,12 +5741,22 @@ procfs_do_thread_registers (bfd *obfd, p
   merged_pid = TIDGET (ptid) << 16 | PIDGET (ptid);

   fill_gregset (&gregs, -1);
+/* Solaris 2.7 has NEW_PROC_API, but defaults to !HAVE_PSTATUS_T.  */
+#ifndef  HAVE_PSTATUS_T
   note_data = (char *) elfcore_write_prstatus (obfd,
                                                note_data,
                                                note_size,
                                merged_pid,
                                stop_signal,
                                                &gregs);
+#else
+  note_data = (char *) elfcore_write_pstatus (obfd,
+                                              note_data,
+                                              note_size,
+                              merged_pid,
+                              stop_signal,
+                                              &gregs);
+#endif
   fill_fpregset (&fpregs, -1);
   note_data = (char *) elfcore_write_prfpreg (obfd,
                               note_data,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]