From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18800 invoked by alias); 18 Jan 2002 01:48:41 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 18768 invoked from network); 18 Jan 2002 01:48:39 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 18 Jan 2002 01:48:39 -0000 Received: from redhat.com (reddwarf.sfbay.redhat.com [205.180.231.12]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id RAA24366; Thu, 17 Jan 2002 17:48:22 -0800 (PST) Message-ID: <3C477D92.E6629D5D@redhat.com> Date: Thu, 17 Jan 2002 17:48:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.2-2smp i686) X-Accept-Language: en MIME-Version: 1.0 To: rbrown64@csc.com.au CC: gdb-patches@sources.redhat.com Subject: Re: Unixware gdb/procfs.c patch - v3 References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-01/txt/msg00501.txt.bz2 rbrown64@csc.com.au wrote: > > procfs.c hides the particular type of process status structure in > the gdb_prstatus_t typedef. Push this information hiding into > bfd/elf.c(elfcore_write_gdb_prstatus) exporting one interface. > > No regressions on UnixWare 7.1.0 and Solaris 2.7 with this and the > matching bfd/elf.c patch. Rodney, this merely exports the ugliness from procfs.c into bfd. I would strongly prefer not to do that. Is there a reason why you don't want to do this the way I suggested (by using an ifdef NEW_PROC_API)? That is the single macro that is used to select between the two /proc API's in the whole procfs module. > > 2001-01-18 Rodney Brown > * procfs.c: Prototype elfcore_write_gdb_prstatus, > 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.orig Tue Jan 15 15:01:48 2002 > +++ procfs.c Thu Jan 17 16:59:00 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. > @@ -325,6 +325,10 @@ typedef prstatus_t gdb_prstatus_t; > typedef prstatus_t gdb_lwpstatus_t; > #endif /* NEW_PROC_API */ > > +char *elfcore_write_gdb_prstatus (bfd *, char *, int *, long, int, void *); > +char *elfcore_write_prfpreg (bfd *, char *, int *, void *, int); > +char *elfcore_write_prpsinfo (bfd *, char *, int *, char *, char *); > + > typedef struct procinfo { > struct procinfo *next; > int pid; /* Process ID */ > @@ -5733,12 +5737,12 @@ procfs_do_thread_registers (bfd *obfd, p > merged_pid = TIDGET (ptid) << 16 | PIDGET (ptid); > > fill_gregset (&gregs, -1); > - note_data = (char *) elfcore_write_prstatus (obfd, > - note_data, > - note_size, > - merged_pid, > - stop_signal, > - &gregs); > + note_data = (char *) elfcore_write_gdb_prstatus (obfd, > + note_data, > + note_size, > + merged_pid, > + stop_signal, > + &gregs); > fill_fpregset (&fpregs, -1); > note_data = (char *) elfcore_write_prfpreg (obfd, > note_data,