similar to: Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)

Displaying 20 results from an estimated 9000 matches similar to: "Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)"

2018 Mar 04
0
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Fri, Mar 2, 2018 at 3:58 PM, Roman Popov via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi all, > > As you may know modern C++ debuggers (GDB and LLDB) support dynamic type > identification for polymorphic objects, by utilizing C++ RTTI. > Unfortunately this feature does not work with Clang and GDB >= 7.x . The > last compiler that worked well was G++ 6.x >
2018 Mar 04
2
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
To explain to others who didn't follow that thread: GDB currently does something amazingly stupid (and has since i wrote it) to find the RTTI type. There were no other good options at the type. What it does is find the vtable for the object, find the symbol that represents the vtable, demangle it, , chops off "vtable for", and tries to find the symbol for the string that results.
2018 Mar 05
2
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Sat, Mar 3, 2018 at 8:20 PM Daniel Berlin via llvm-dev < llvm-dev at lists.llvm.org> wrote: > On Fri, Mar 2, 2018 at 3:58 PM, Roman Popov via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi all, >> >> As you may know modern C++ debuggers (GDB and LLDB) support dynamic type >> identification for polymorphic objects, by utilizing C++ RTTI.
2018 Mar 03
2
[cfe-dev] Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
Mangled names can be long indeed, but pretty-printed types are also long. I can evaluate effect on size on clang codebase itself. If you disable RTTI, than obviously you can't use it. So if RTTI is disabled, we can disable mangled names in DWARF. Clang is compiled without standard C++ RTTI because it has it's own RTTI. In general, however, many libraries use standard RTTI. 2018-03-02
2018 Mar 03
0
[cfe-dev] Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
> Currently what debugger has to do is to demangle RTTI name and try to > match it to DW_AT_name attribute to find type. As you can see it does > not work for any of 3 examples. > > I've asked about the problem on G++ maillist, and one of the proposed > solutions is to emit DW_AT_linkage_name for types.  > > Can this solution be also implemented in LLVM?  It could, but
2018 Mar 04
0
[cfe-dev] Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
> On Mar 3, 2018, at 11:30 PM, Daniel Berlin via cfe-dev <cfe-dev at lists.llvm.org> wrote: > > To explain to others who didn't follow that thread: > > GDB currently does something amazingly stupid (and has since i wrote it) to find the RTTI type. There were no other good options at the type. > > What it does is find the vtable for the object, find the symbol
2018 Mar 03
0
[cfe-dev] Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
Here is result of experiment: (Original size , with DW_AT_linkage_name for composites, % increase) clang-7.0 1926574256 1952846192 1.4% clang-tidy 1220980360 1238498112 1.4% llvm-mt 7404728 7525328 1.6 % std::cout << "hello world!" 21552 22080 2.4 % IMO, not that big price for reliable dynamic type identification (Full disclosure: I need depend on this feature, since
2018 Mar 05
0
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Mon, Mar 5, 2018 at 8:37 AM, David Blaikie <dblaikie at gmail.com> wrote: > > > On Sat, Mar 3, 2018 at 8:20 PM Daniel Berlin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> On Fri, Mar 2, 2018 at 3:58 PM, Roman Popov via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> Hi all, >>> >>> As you may know
2018 Mar 05
2
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Mon, Mar 5, 2018 at 9:09 AM Daniel Berlin <dberlin at dberlin.org> wrote: > On Mon, Mar 5, 2018 at 8:37 AM, David Blaikie <dblaikie at gmail.com> wrote: > >> >> >> On Sat, Mar 3, 2018 at 8:20 PM Daniel Berlin via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> On Fri, Mar 2, 2018 at 3:58 PM, Roman Popov via llvm-dev <
2018 Mar 05
0
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Mon, Mar 5, 2018, 9:26 AM David Blaikie <dblaikie at gmail.com> wrote: > On Mon, Mar 5, 2018 at 9:09 AM Daniel Berlin <dberlin at dberlin.org> wrote: > >> On Mon, Mar 5, 2018 at 8:37 AM, David Blaikie <dblaikie at gmail.com> wrote: >> >>> >>> >>> On Sat, Mar 3, 2018 at 8:20 PM Daniel Berlin via llvm-dev < >>> llvm-dev
2018 Mar 06
0
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Mon, Mar 5, 2018 at 11:55 PM, Roman Popov <ripopov at gmail.com> wrote: > I don't understand how extra vtable ref DIE will help in case on > non-polymorphic classes. If you remove virtual destructor from example, > vtable won't be generated for class, but DWARF will still have incorrect > ambiguous names for types. > 1. Calling them incorrect is ... not right. As
2018 Mar 06
4
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
I don't understand how extra vtable ref DIE will help in case on non-polymorphic classes. If you remove virtual destructor from example, vtable won't be generated for class, but DWARF will still have incorrect ambiguous names for types. It will become a problem when you need to use debuginfo as a C++ runtime reflection (I've already seen this in a couple of projects). Or when you need
2018 Mar 06
1
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Tue, Mar 6, 2018 at 9:49 AM Daniel Berlin <dberlin at dberlin.org> wrote: > On Tue, Mar 6, 2018 at 9:20 AM, Roman Popov <ripopov at gmail.com> wrote: > >> I wonder if abi::__cxa_demangle guarantees unambigous names? >>>> >>> >>> No, it does not. >>> >> >> Interesting. Can you give an example of type where it fails?
2018 Mar 06
0
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Tue, Mar 6, 2018 at 9:36 AM Daniel Berlin <dberlin at dberlin.org> wrote: > On Tue, Mar 6, 2018 at 9:28 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > >> >> >> On Tue, Mar 6, 2018 at 9:22 AM, David Blaikie <dblaikie at gmail.com> wrote: >> >>> >>> >>> On Tue, Mar 6, 2018 at 8:39 AM Daniel Berlin <dberlin at
2018 Mar 06
0
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Tue, Mar 6, 2018 at 9:22 AM, David Blaikie <dblaikie at gmail.com> wrote: > > > On Tue, Mar 6, 2018 at 8:39 AM Daniel Berlin <dberlin at dberlin.org> wrote: > >> On Mon, Mar 5, 2018 at 11:55 PM, Roman Popov <ripopov at gmail.com> wrote: >> >>> I don't understand how extra vtable ref DIE will help in case on >>> non-polymorphic
2018 Mar 06
2
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Tue, Mar 6, 2018 at 9:28 AM Daniel Berlin <dberlin at dberlin.org> wrote: > On Tue, Mar 6, 2018 at 9:22 AM, David Blaikie <dblaikie at gmail.com> wrote: > >> >> >> On Tue, Mar 6, 2018 at 8:39 AM Daniel Berlin <dberlin at dberlin.org> wrote: >> >>> On Mon, Mar 5, 2018 at 11:55 PM, Roman Popov <ripopov at gmail.com> wrote:
2018 Mar 04
2
[cfe-dev] Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Sun, Mar 4, 2018 at 12:33 AM, John McCall <rjmccall at apple.com> wrote: > On Mar 3, 2018, at 11:30 PM, Daniel Berlin via cfe-dev < > cfe-dev at lists.llvm.org> wrote: > > To explain to others who didn't follow that thread: > > GDB currently does something amazingly stupid (and has since i wrote it) > to find the RTTI type. There were no other good options
2018 Mar 06
2
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Tue, Mar 6, 2018 at 9:28 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > > > On Tue, Mar 6, 2018 at 9:22 AM, David Blaikie <dblaikie at gmail.com> wrote: > >> >> >> On Tue, Mar 6, 2018 at 8:39 AM Daniel Berlin <dberlin at dberlin.org> wrote: >> >>> On Mon, Mar 5, 2018 at 11:55 PM, Roman Popov <ripopov at gmail.com> wrote:
2018 Mar 06
3
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Tue, Mar 6, 2018 at 8:39 AM Daniel Berlin <dberlin at dberlin.org> wrote: > On Mon, Mar 5, 2018 at 11:55 PM, Roman Popov <ripopov at gmail.com> wrote: > >> I don't understand how extra vtable ref DIE will help in case on >> non-polymorphic classes. If you remove virtual destructor from example, >> vtable won't be generated for class, but DWARF will
2018 Mar 06
2
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
> > I wonder if abi::__cxa_demangle guarantees unambigous names? >> > > No, it does not. > Interesting. Can you give an example of type where it fails? I'm currently working on hardware construction library for C++ (similar to Chisel (which is written in Scala)). And since C++ has no standardized reflection, I use DWARF as a source of reflection metadata. And in case of