This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC 1/2] Remove linux-waitpid.c debugging code
- From: Pedro Alves <palves at redhat dot com>
- To: Tom Tromey <tom at tromey dot com>, Simon Marchi <simark at simark dot ca>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 5 Jun 2019 10:32:24 +0100
- Subject: Re: [RFC 1/2] Remove linux-waitpid.c debugging code
- References: <20190530213046.20542-1-tom@tromey.com> <20190530213046.20542-2-tom@tromey.com> <691455f5-bc20-5260-b1ec-6bf57f17579f@simark.ca> <87blzeocix.fsf@tromey.com>
On 6/3/19 5:32 PM, Tom Tromey wrote:
>>>>>> "Simon" == Simon Marchi <simark@simark.ca> writes:
>
>>> My first thought was that this code is not extremely useful, so this
>>> patch removes this code. (However, if it is actually useful to
>>> someone, we could make it work by introducing a new abstraction.)
>
> Simon> Pedro probably has a stronger opinion about this (as he is probably the one who
> Simon> has spent the most time staring at those logs), but I would think that this
> Simon> logging is useful when debugging interactions with the kernel.
>
> I should have mentioned that the reason I figured it wasn't that useful
> is that it's not available in gdb proper, only gdbserver.
A bit of history here:
IIRC, the original reason my_waitpid in gdbserver printed the result, is
that I found that useful when I made my_waitpid emulate __WALL:
https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gdb/gdbserver/linux-low.c;h=ba1d7b46bb96e4cec83ea698e40511d284f16532;hb=bd99dc858385792aad304d42f4a47791fd8d3272#l2110
Over the years, the function moved to gdb/nat/, gdb started using it too,
and then the __WALL emulation disappeared, making my_waitpid a simple
EINTR wrapper again.
Since the emulation is gone, and, both gdb and gdbserver print the result
of waitpid in the most interesting waitpid call spot:
if (debug_threads)
debug_printf ("LWFE: waitpid(-1, ...) returned %d, %s\n",
ret, errno ? strerror (errno) : "ERRNO-OK");
if (debug_linux_nat)
fprintf_unfiltered (gdb_stdlog,
"LNW: waitpid(-1, ...) returned %d, %s\n",
lwpid, errno ? safe_strerror (errno) : "ERRNO-OK");
... I guess I won't terribly miss it.
Thanks,
Pedro Alves