From: Doug Evans <dje@google.com>
To: Gary Benson <gbenson@redhat.com>
Cc: Pedro Alves <palves@redhat.com>,
gdb-patches <gdb-patches@sourceware.org>,
Tom Tromey <tromey@redhat.com>
Subject: Re: [PATCH 01/15 v3] Introduce common/errors.h
Date: Fri, 18 Jul 2014 12:31:00 -0000 [thread overview]
Message-ID: <CADPb22R2F==DrCFRxNxTHszh-x+Q9Od43j9--GUP6vkL+06hcw@mail.gmail.com> (raw)
In-Reply-To: <20140718104447.GA21385@blade.nx>
On Fri, Jul 18, 2014 at 11:44 AM, Gary Benson <gbenson@redhat.com> wrote:
> Doug Evans wrote:
>> On Fri, Jul 18, 2014 at 10:06 AM, Gary Benson <gbenson@redhat.com> wrote:
>> > [...]
>> > /* Throw a fatal error, constructing the message using a printf-style
>> > format string and a printf- or vprintf-style argument list. This
>> > function does not return. The application will exit. */
>> >
>> > extern void fatal (const char *fmt, ...)
>> > ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
>> >
>> > extern void vfatal (const char *fmt, va_list args)
>> > ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
>> > [...]
>>
>> Remember gdb doesn't exit on fatal().
>> fatal() in gdb is essentially ^c (quit() calls fatal()!).
>>
>> Can I repeat my request to please document this in the function
>> comment.
>
> I wanted to avoid putting implementation details here,
I realize that.
> but I see this
> isn't going to happen. Is the attached ok?
I'm trying to not impose on you too much churn and back-and-forth in
what is clearly a stepping stone.
Eventually I think fatal needs to disappear from the gdb side (renamed
or whatever).
Until that happens (i.e., *if* you just want to keep the patch
basically as is), then at the least I don't want to lie to the reader,
and I want to make the reader aware of the issue. That's the high
order bit for me as far as "fatal" goes (within the context of trying
to keep the patch basically as is).
If you want to take on the task of getting this 100% correct in this
pass (or at least within some fraction thereof :-)), then we can take
a different route. Your choice IMO. [And I mean that sincerely - I
*am* trying to help you make progress here without being too
pedantic.]
> /* Throw a fatal error, constructing the message using a printf-style
> format string and a printf- or vprintf-style argument list. This
> function does not return. Fatal errors cause GDB to return to the
> command level. Fatal errors cause gdbserver to exit. */
>
> extern void fatal (const char *fmt, ...)
> ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
>
> extern void vfatal (const char *fmt, va_list args)
> ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
I would tweak that a little, and instead just point out that gdb's
usage of the name "fatal" is broken. I don't care too much about
the wording, I just want to make sure we don't lie to the reader
and make the reader aware of the issue.
/* Throw a fatal error, constructing the message using a printf-style
format string and a printf- or vprintf-style argument list. This
function does not return. Fatal errors cause the app to exit,
except in the case of gdb where it just throws a RETURN_QUIT
exception. */
next prev parent reply other threads:[~2014-07-18 11:23 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-16 16:19 [PATCH 00/15 v2] Common code cleanups Gary Benson
2014-07-16 16:19 ` [PATCH 15/15 v2] Finally remove GDBSERVER (mostly) from linux-btrace.c Gary Benson
2014-07-16 16:19 ` [PATCH 04/15 v2] Introduce common-types.h Gary Benson
2014-07-17 11:21 ` Doug Evans
2014-07-16 16:32 ` [PATCH 09/15 v2] Mostly remove GDBSERVER from linux-waitpid.c Gary Benson
2014-07-16 16:33 ` [PATCH 14/15 v2] Introduce get_thread_regcache_for_ptid Gary Benson
2014-07-16 16:45 ` [PATCH 01/15 v2] Introduce common/errors.h Gary Benson
2014-07-16 18:36 ` Doug Evans
2014-07-17 13:41 ` [PATCH] " Gary Benson
2014-07-17 13:47 ` Gary Benson
2014-07-17 14:05 ` [PATCH 01/15 v3] " Gary Benson
2014-07-17 15:40 ` Pedro Alves
2014-07-17 16:03 ` Gary Benson
2014-07-17 16:19 ` Pedro Alves
2014-07-18 9:20 ` Gary Benson
2014-07-18 10:42 ` Doug Evans
2014-07-18 11:23 ` Gary Benson
2014-07-18 12:31 ` Doug Evans [this message]
2014-07-18 10:44 ` Pedro Alves
2014-07-16 16:45 ` [PATCH 02/15 v2] Remove some GDBSERVER checks from linux-ptrace Gary Benson
2014-07-17 8:37 ` Doug Evans
2014-07-17 16:40 ` Pedro Alves
2014-07-16 16:45 ` [PATCH 05/15 v2] Introduce and use debug_printf and debug_vprintf Gary Benson
2014-07-16 16:48 ` [PATCH 06/15 v2] Remove simple GDBSERVER uses from common, nat and target Gary Benson
2014-07-16 16:48 ` [PATCH 03/15 v2] Make gdbserver CORE_ADDR unsigned Gary Benson
2014-07-17 9:02 ` Doug Evans
2014-07-17 16:42 ` Pedro Alves
2014-07-18 8:07 ` Maciej W. Rozycki
2014-07-16 17:03 ` [PATCH 08/15 v2] Make btrace-common.h not use GDBSERVER Gary Benson
2014-07-16 17:03 ` [PATCH 13/15 v2] Finally remove GDBSERVER (mostly) from agent.c Gary Benson
2014-07-16 17:03 ` [PATCH 11/15 v2] More target unification Gary Benson
2014-07-16 17:04 ` [PATCH 10/15 v2] Add target/target.h Gary Benson
2014-07-16 17:20 ` [PATCH 12/15 v2] Add target/symbol.h, update users Gary Benson
2014-07-16 17:24 ` [PATCH 07/15 v2] Remove GDBSERVER use from nat/i386-dregs.c Gary Benson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CADPb22R2F==DrCFRxNxTHszh-x+Q9Od43j9--GUP6vkL+06hcw@mail.gmail.com' \
--to=dje@google.com \
--cc=gbenson@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox