Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* info proc cmd
@ 2008-03-09 19:01 Eli Zaretskii
  2008-03-09 22:37 ` Daniel Jacobowitz
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2008-03-09 19:01 UTC (permalink / raw)
  To: gdb

There seems to be a bug in "info proc".  The command line of the
process is produced like this (in linux-nat.c):

  if (cmdline_f || all)
    {
      sprintf (fname1, "/proc/%lld/cmdline", pid);
      if ((procfile = fopen (fname1, "r")) != NULL)
        {
          fgets (buffer, sizeof (buffer), procfile);
          printf_filtered ("cmdline = '%s'\n", buffer);

This seems to assume that the command line is stored in
/proc/PID/cmdline as a single newline-terminated character string.
But in fact the command-line arguments are stored there as a set of
null-terminated strings.  (Or at least that's what I see on two
GNU/Linux systems I have access to from where I'm writing this, and
the proc(5) man page says that as well.)  So what we wind up doing is
display only the first command-line argument.

This bug is easy enough to fix, but I wonder whether some older
versions of Linux did use the one-string format, in which case fixing
this to assume a set of null-terminated arguments would break those
old systems.

Does anyone has further insight into the history of this?  Should I
just go ahead and fix the code?


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-03-10 12:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-09 19:01 info proc cmd Eli Zaretskii
2008-03-09 22:37 ` Daniel Jacobowitz
2008-03-09 22:59   ` Eli Zaretskii
2008-03-10 15:24     ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox