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]

Re: procfs.c thinks pid's can't be bigger than 99999


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


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