public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: David Blaikie <dblaikie@gmail.com>
To: Luis Machado <luis.machado@linaro.org>
Cc: Keith Seitz <keiths@redhat.com>,
	"gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: Expected output of gdb.cp/no-dmgl-verbose.exp
Date: Mon, 12 Apr 2021 13:07:52 -0700	[thread overview]
Message-ID: <CAENS6EuHU09e=Kunz7R6R2tLE-sb-NajvuaDfbdOpom4yfZpTw@mail.gmail.com> (raw)
In-Reply-To: <5cdfc7cf-5c94-c8b9-8cd2-2747085a7b42@linaro.org>

FWIW - at least some Clang folks are working on adding a
"preferred_name" attribute ( https://reviews.llvm.org/D91311 ) which
would be used to help tools understand that std::basic_string<char,
... is best known as std::string. Perhaps we'll end up with a
DW_AT_preferred_name attribute in DWARF to make this more explicit/not
needing consumers to guess or otherwise encode heuristically which
names should be used.

On Mon, Apr 12, 2021 at 1:02 PM Luis Machado via Gdb <gdb@sourceware.org> wrote:
>
> On 4/12/21 3:45 PM, Keith Seitz wrote:
> > On 4/12/21 11:16 AM, Luis Machado via Gdb wrote:
> >> I'm trying to determine why this particular test is failing (for both
> >> aarch64-linux and x86_64-linux on Ubuntu 18.04/20.04) and what the
> >> expected outcome is.
> >>
> >> In my case, the only symbol I see for function "f" is the following:
> >>
> >> "f(std::__cxx11::basic_string<char, std::char_traits<char>,
> >> std::allocator<char> >)"
> >>
> >> There is no "f(std::string)" nor "f(std::basic_string<char,
> >> std::char_traits<char>, std::allocator<char> >)" symbol.
> >>
> >
> > Wow, such a long time ago! IIRC...
>
> Indeed. I vaguely remember that, back in ~2011 IIRC. But obviously not
> enough to figure out what was going on.
>
> >
> > This test was written to ensure that "std::string" was used
> > instead of "std::basic_string<...>" (which is now called something
> > else again). Something about "that's what nm and other tools tell users,
> > so we should not mention the symbol's real (linkage) name, either."
> >
> > The "no-dmgl-verbose" refers to the DMGL_VERBOSE option
> > of the demangler, which does this.
> >
> > There is even special logic in our typedef-replacing machinery to
> > enforce this. [NOTE: `ignore_typedefs' in cp-support.c is also "out-
> > of-date" wrt to this naming change. So none of that has likely been
> > "working" for many years, but then at very quick glance, "nm -C" doesn't
> > do this anymore, either.]
>
> Ah, that makes it much more clear. Thanks for the explanation.
>
> >
> > I was against it then, so I certainly do not mind getting rid of this test
> > or limiting it to C++ installations that typedef the "older" std::basic_string<...>
> > to std::string.
>
> I think keeping it may be more confusing than useful. I'll propose its
> removal on gdb-patches@ and we'll see where we go from there.
>
> Thanks Keith.
>
> >
> > Keith
> >

  reply	other threads:[~2021-04-12 20:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-12 18:16 Luis Machado
2021-04-12 18:45 ` Keith Seitz
2021-04-12 18:55   ` Luis Machado
2021-04-12 20:07     ` David Blaikie [this message]
2021-04-13  8:57     ` Tom de Vries

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='CAENS6EuHU09e=Kunz7R6R2tLE-sb-NajvuaDfbdOpom4yfZpTw@mail.gmail.com' \
    --to=dblaikie@gmail.com \
    --cc=gdb@sourceware.org \
    --cc=keiths@redhat.com \
    --cc=luis.machado@linaro.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).