From: Matt Rice <ratmice@gmail.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: Tom Tromey <tom@tromey.com>, Xavier Roirand <roirand@adacore.com>,
"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: [RFC] expected behavior for "bt" command used with "set language ..." ?
Date: Tue, 23 Jan 2018 13:32:00 -0000 [thread overview]
Message-ID: <CACTLOFqo9un5Vfp1wh9ZKXO=ShimoUa2NOWhqcKeB+wPYzc0EQ@mail.gmail.com> (raw)
In-Reply-To: <20180123115152.26mi46zogpbuodn7@adacore.com>
On Tue, Jan 23, 2018 at 3:51 AM, Joel Brobecker <brobecker@adacore.com> wrote:
>> Xavier> When printing one frame arguments, should we do it using the language
>> Xavier> of the frame, and it may be different for each frame in a single "bt"
>> Xavier> command or should we leave things as they are, and possibly allow the
>> Xavier> "bt" command to display weird values for frame arguments or even
>> Xavier> worse, crash GDB because the user set language manually so he has to
>> Xavier> know what he's doing ?
>>
>> I tend to think the answer should be:
>>
>> * If the language is "auto", then use each frame's language; otherwise
>> * If the user specified a particular language, use that language for
>> everything.
>
> I don't really have a strong opinion on this. But I thought I'd mention
> that using a language to dump the value of a variable described using
> another language can be a bit iffy, and lead to fairly mysterious
> errors. If I was a fan of FUD, I might even say it can lead to crashes,
> if the code is not careful enough. For instance, who knows what it's
> going to look like asking Ada to print come C++ stuff, or vice-versa...
>
> As a user, the few times I have forced the language was to execute
> one command (eg: print this Ada variable using pure C), and I tend
> to switch back to "auto" asap. But it's easy to forget, and when
> that happens, linking the weird printing in our backtrace back to
> the language change we did a few commands ago may sometimes not be
> all that obvious.
>
> That being said, it looks like this is the behavior we've had for
> quite a while, now, so it confirms the current approach probably
> is not that much of any issue (if at all). Hence the lack of strong
> opinion :).
>
> For now, we'll go ahead with what Tom suggests.
The only strong opinion that I have about this is about an edge case,
where the frame language is not the user specified language and the
frame language is unknown to gdb. It should prefer the user specified
language upon fallback, rather than e.g. minimal,
this is somewhat implicit in the current behavior, but if it changes,
or you guys carry patches for this.
I thought I would mention it.
>> Xavier> This can also probably be done by adding frame language parameter to a
>> Xavier> lot of language specific functions for each language and finally to
>> Xavier> value_cast but this second solution requires a huge amount of work.
>>
>> That would be good to have but I don't think it ought to be tied to
>> this particular project. Certainly plenty of other code already just
>> sets and resets the global.
>
> Agreed.
>
> Thanks Tom!
> --
> Joel
next prev parent reply other threads:[~2018-01-23 13:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-17 17:17 Xavier Roirand
2018-01-19 20:09 ` Tom Tromey
2018-01-23 11:52 ` Joel Brobecker
2018-01-23 13:32 ` Matt Rice [this message]
2018-01-24 21:30 ` Tom Tromey
2018-01-25 12:13 ` Pedro Alves
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='CACTLOFqo9un5Vfp1wh9ZKXO=ShimoUa2NOWhqcKeB+wPYzc0EQ@mail.gmail.com' \
--to=ratmice@gmail.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=roirand@adacore.com \
--cc=tom@tromey.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