This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: procfs.c thinks pid's can't be bigger than 99999
- To: Michael Snyder <msnyder at cygnus dot com>, John Hughes <john at Calva dot COM>
- Subject: Re: procfs.c thinks pid's can't be bigger than 99999
- From: Kevin Buettner <kevinb at cygnus dot com>
- Date: Mon, 2 Jul 2001 13:43:22 -0700
- Cc: gdb-patches at sourceware dot cygnus dot com
- References: <CDENKKMHIFMALMCCKPCFKEEJCAAA.john@Calva.COM> <3B40C3D0.1A96E1A7@cygnus.com>
On Jul 2, 11:56am, Michael Snyder wrote:
> John Hughes wrote:
> >
> > but on some systems, for example UnixWare NSC they
> > can be quite a lot bigger.
> >
> > --- procfs.c.orig Tue May 15 02:03:36 2001
> > +++ procfs.c Mon Jul 2 14:40:05 2001
> > @@ -295,7 +295,7 @@
> > # define AS_PROC_NAME_FMT "/proc/%d/as"
> > # define MAP_PROC_NAME_FMT "/proc/%d/map"
> > # define STATUS_PROC_NAME_FMT "/proc/%d/status"
> > -# define MAX_PROC_NAME_SIZE sizeof("/proc/99999/lwp/8096/lstatus")
> > +# define MAX_PROC_NAME_SIZE sizeof("/proc/1048576/lwp/8096/lstatus")
> > # endif
> > /* the name of the proc status struct depends on the implementation */
> > typedef pstatus_t gdb_prstatus_t;
>
> Well, actually, aren't we going to run into trouble if
> pids are bigger than 16 bits? Or did Kevin Buettner's
> recent changes take care of that?
My recent changes took care of that.
> Other than that, I have no problem with this change.
I think John's change is a step in the right direction, but the name
is still not large enough. In AIX 5, the pids and tids seem to be
able to occupy all of 32 bits. Therefore, I propose that we use
the following:
#define MAX_PROC_NAME_SIZE sizeof("/proc/1234567890/lwp/1234567890/lstatus")
Note that 2^32-1 is 4294967295 which requires ten digits. Using
"1234567890" makes it obvious that ten digits are needed.
Kevin