Hello,
I'm trying to switch from g++ 5.4 to g++ 7.2.
GDB 8.0.1 however does not understand RTTI generated by g++7.2, so my
Python scripts for GDB are not working.
Here is a code example:
struct base { virtual ~base(){} };
template< int IVAL, unsigned UVAL, unsigned long long ULLVAL>
struct der
Yes, problem is still there in g++7.3 / gdb 8.1. I wonder why they decided
to emit different strings to RTTI and debug info? What is the technical
reason behind this?
-Roman
2018-02-02 20:54 GMT-08:00 Simon Marchi :
> On 2018-02-02 22:17, Roman Popov wrote:
>
>> Hello,
>> I&
2018-02-02 20:54 GMT-08:00 Simon Marchi :
>
> GCC changed how it outputs unsigned template parameters in the debug info
> (from 2u to just 2), and it doesn't look like it's going to change it
> back. So I suppose we'll have to find a way to make GDB deal with it.
> Simon
>
I'm not so sure about
I've just checked g++8.0.1 from trunk, and the problem is still there. And
same with Clang compiler.
This is indeed is a serious issue for me, since my Python scripts for gdb
expect reliable dynamic type identification. However gdb is
completely powerless here. So I'm forced to stay on older compi
Interestingly RTTI name also gives no guarantees:
http://en.cppreference.com/w/cpp/types/type_info/name
<< Returns an implementation defined null-terminated character string
containing the name of the type. No guarantees are given; in particular,
the returned string can be identical for several ty
Do you mean that g++ guarantees uniqueness of mangled names for types? And
uses name compare for operator== ?
2018-02-05 12:08 GMT-08:00 Jonathan Wakely :
> On 5 February 2018 at 17:44, Roman Popov wrote:
> > Interestingly RTTI name also gives no guarantees:
> > http://en.cpprefe
GMT-08:00 Jonathan Wakely :
> On 5 February 2018 at 20:10, Roman Popov wrote:
> > Do you mean that g++ guarantees uniqueness of mangled names for types?
> And
>
> Of course. The mangled name is determined by the ABI and must be
> stable, predictable and unique, so that linking wor
Is there any progress on this problem?
I'm not familiar with G++ , but I have little experience with LLVM. I can
try make LLVM emitting mangled names to DW_AT_name, instead of demangled
ones.
This way GDB can match DW_AT_name against RTTI. And for display it can
call abi::__cxa_demangle(name, NU
https://llvm.org/docs/LangRef.html#dicompositetype . So it should not be
hard to propagate it to object file.
I will ask on LLVM maillist if they can emit it.
2018-03-01 13:03 GMT-08:00 Jason Merrill :
> On Thu, Mar 1, 2018 at 3:26 PM, Andrew Pinski wrote:
> > On Thu, Mar 1, 2018 at 12:18 PM, Roman
-tidy 1220980360 1238498112
1.4%
llvm-mt 74047287525328
1.6%
cout<<"hello";21552 22080 2.4%
-Roman
2018-03-02 15:06 GMT-08:00 Roman Popov :
> Ok, sounds reasonable. In case of debugger we are indeed "linking"
10 matches
Mail list logo