Re: Expected output of gdb.cp/no-dmgl-verbose.exp

Tom de Vries
2021-04-13T08:57:34Z

On 4/12/21 8:55 PM, Luis Machado via Gdb 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.
>

The FAIL was mentioned here:
https://sourceware.org/bugzilla/show_bug.cgi?id=19436#c7

Thanks,
- Tom