Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-18 Thread David Blaikie via lldb-dev
On Mon, Jun 18, 2018 at 9:54 AM wrote: > > Greg wrote: > > > Pavel wrote: > > > That said, having DWARF be able to represent the template member > > > functions in an abstract way also sounds like nice thing to have from > > > a debug info format. > > > > Yes, that would be great, but will

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-18 Thread Eric Christopher via lldb-dev
On Mon, Jun 18, 2018 at 9:57 AM Greg Clayton via lldb-dev < lldb-dev@lists.llvm.org> wrote: > > > > On Jun 18, 2018, at 9:54 AM, < > paul.robin...@sony.com> wrote: > > > >> Greg wrote: > >>> Pavel wrote: > >>> That said, having DWARF be able to represent the template member > >>> functions in an

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-18 Thread Jan Kratochvil via lldb-dev
On Mon, 18 Jun 2018 18:57:07 +0200, Greg Clayton wrote: > I do agree. Probably no one else will want/need this in DWARF except us as > I don't believe anyone else is re-creating compiler types with DWARF. GDB-GCC try to copy the LLDB approach:

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-18 Thread Greg Clayton via lldb-dev
> On Jun 18, 2018, at 9:54 AM, > wrote: > >> Greg wrote: >>> Pavel wrote: >>> That said, having DWARF be able to represent the template member >>> functions in an abstract way also sounds like nice thing to have from >>> a debug info format. >> >> Yes, that would be great, but will require

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-18 Thread Greg Clayton via lldb-dev
> On Jun 15, 2018, at 1:48 PM, Pavel Labath wrote: > > On Fri, 15 Jun 2018 at 20:14, David Blaikie wrote: >> >> How do you handle name lookup for nested classes? They have the same problem >> (they don't appear in all definitions) - don't appear in all descriptions of >> the outer/parent

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Pavel Labath via lldb-dev
On Fri, 15 Jun 2018 at 20:14, David Blaikie wrote: > > How do you handle name lookup for nested classes? They have the same problem > (they don't appear in all definitions) - don't appear in all descriptions of > the outer/parent class. (in theory we could ensure there's always at least a >

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread via lldb-dev
gc> Solution #1 would cause us to dig through all definitions of all C++ gc> classes all the time when parsing DWARF to check if definitions of gc> the classes had template methods. And we would need to find the class gc> that has the most template methods. This would cause us to parse much gc>

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Greg Clayton via lldb-dev
com>; llvm-...@lists.llvm.org >> <mailto:llvm-...@lists.llvm.org>; >> jan.kratoch...@redhat.com <mailto:jan.kratoch...@redhat.com>; >> lldb-dev@lists.llvm.org <mailto:lldb-dev@lists.llvm.org>; Jim Ingham >> Subject: Re: [llvm-dev] [lldb-dev] Adding DWARF5 accelera

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread via lldb-dev
org; > jan.kratoch...@redhat.com; lldb-dev@lists.llvm.org; Jim Ingham > Subject: Re: [llvm-dev] [lldb-dev] Adding DWARF5 accelerator table support > to llvm > > > > > On Jun 15, 2018, at 9:23 AM, > wrote: > > > >> From: Greg Clayton [mailto:clayb...@gmai

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Greg Clayton via lldb-dev
> On Jun 15, 2018, at 9:23 AM, > wrote: > >> From: Greg Clayton [mailto:clayb...@gmail.com] >> >> ... >> If a class has templated functions, they will only be in the DWARF is a >> specialization was created and used. If you have a class that looks like: >> >> class A { >>A(); >>

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread via lldb-dev
> From: Greg Clayton [mailto:clayb...@gmail.com] > > ... > If a class has templated functions, they will only be in the DWARF is a > specialization was created and used. If you have a class that looks like: > > class A { >   A(); >    void Foo(T t); > }; > > And then you have main.cpp that has a

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Greg Clayton via lldb-dev
To elaborate a bit more on the issue that is detailed in https://reviews.llvm.org/rL260308: There are many clang AST contexts that are used in LLDB: - one for each lldb_private::Module that contains type definitions as we know them in the module and its symbol vendor - one for each expression -

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Pavel Labath via lldb-dev
I wasn't using type units (those don't work at all right now). I've done a bit of digging, and i found this patch which explicitly disables template member function parsing (though it seems it didn't really work before either). The patch contains a quite long

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-14 Thread Pavel Labath via lldb-dev
On Thu, 14 Jun 2018 at 19:29, Pavel Labath wrote: > > On Thu, 14 Jun 2018 at 19:26, David Blaikie wrote: > > > > > > > > On Thu, Jun 14, 2018 at 11:24 AM Pavel Labath wrote: > >> > >> On Thu, 14 Jun 2018 at 17:58, Greg Clayton wrote: > >> > > >> > > >> > > >> > On Jun 14, 2018, at 9:36 AM,

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-14 Thread Pavel Labath via lldb-dev
On Thu, 14 Jun 2018 at 19:26, David Blaikie wrote: > > > > On Thu, Jun 14, 2018 at 11:24 AM Pavel Labath wrote: >> >> On Thu, 14 Jun 2018 at 17:58, Greg Clayton wrote: >> > >> > >> > >> > On Jun 14, 2018, at 9:36 AM, Adrian Prantl wrote: >> > >> > >> > >> > On Jun 14, 2018, at 7:01 AM, Pavel

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-14 Thread David Blaikie via lldb-dev
On Thu, Jun 14, 2018 at 11:24 AM Pavel Labath wrote: > On Thu, 14 Jun 2018 at 17:58, Greg Clayton wrote: > > > > > > > > On Jun 14, 2018, at 9:36 AM, Adrian Prantl wrote: > > > > > > > > On Jun 14, 2018, at 7:01 AM, Pavel Labath via llvm-dev < > llvm-...@lists.llvm.org> wrote: > > > > Thank

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-14 Thread David Blaikie via lldb-dev
If you end up revisiting the design/representation here - I'd be glad to be involved. It reminds me of some of the tradeoffs/issues around how even plain C++ types vary between translation units (eg: member function template implicit specializations - necessarily different ones can appear in

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-14 Thread Pavel Labath via lldb-dev
On Thu, 14 Jun 2018 at 17:58, Greg Clayton wrote: > > > > On Jun 14, 2018, at 9:36 AM, Adrian Prantl wrote: > > > > On Jun 14, 2018, at 7:01 AM, Pavel Labath via llvm-dev > wrote: > > Thank you all. I am going to try to reply to all comments in a single email. > > Regarding the .apple_objc

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-14 Thread Greg Clayton via lldb-dev
> On Jun 14, 2018, at 9:36 AM, Adrian Prantl wrote: > > > >> On Jun 14, 2018, at 7:01 AM, Pavel Labath via llvm-dev >> mailto:llvm-...@lists.llvm.org>> wrote: >> >> Thank you all. I am going to try to reply to all comments in a single email. >> >> Regarding the .apple_objc idea, I am

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-14 Thread Adrian Prantl via lldb-dev
> On Jun 14, 2018, at 7:01 AM, Pavel Labath via llvm-dev > wrote: > > Thank you all. I am going to try to reply to all comments in a single email. > > Regarding the .apple_objc idea, I am afraid the situation is not as > simple as just flipping a switch. Jonas is currently working on

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-30 Thread Adrian Prantl via lldb-dev
> On Jan 30, 2018, at 7:49 AM, Pavel Labath wrote: > > On 30 January 2018 at 15:41, Adrian Prantl wrote: >> >> >>> On Jan 30, 2018, at 7:35 AM, Pavel Labath wrote: >>> >>> Hello all, >>> >>> I am looking for feedback regarding

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-30 Thread Jonas Devlieghere via lldb-dev
> On Jan 30, 2018, at 3:35 PM, Pavel Labath wrote: > > Hello all, > > I am looking for feedback regarding implementation of the case folding > algorithm for .debug_names hashes. > > Unlike the apple tables, the .debug_names hashes are computed from > case-folded names (to

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-30 Thread Pavel Labath via lldb-dev
On 30 January 2018 at 15:41, Adrian Prantl wrote: > > >> On Jan 30, 2018, at 7:35 AM, Pavel Labath wrote: >> >> Hello all, >> >> I am looking for feedback regarding implementation of the case folding >> algorithm for .debug_names hashes. >> >> Unlike the

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-30 Thread Adrian Prantl via lldb-dev
> On Jan 30, 2018, at 7:35 AM, Pavel Labath wrote: > > Hello all, > > I am looking for feedback regarding implementation of the case folding > algorithm for .debug_names hashes. > > Unlike the apple tables, the .debug_names hashes are computed from > case-folded names (to

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-30 Thread Pavel Labath via lldb-dev
Hello all, I am looking for feedback regarding implementation of the case folding algorithm for .debug_names hashes. Unlike the apple tables, the .debug_names hashes are computed from case-folded names (to enable case-insensitive lookups for languages where that makes sense). The dwarf5 document

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-19 Thread Frédéric Riss via lldb-dev
> On Jan 18, 2018, at 7:52 AM, Pavel Labath via lldb-dev > wrote: > > Thank you for all the responses. Unfortunately I wasn't able to make > any progress on creating the patches today. I'll be sure to add > everyone who expressed interest here to the phabricator diff

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-18 Thread Pavel Labath via lldb-dev
Thank you for all the responses. Unfortunately I wasn't able to make any progress on creating the patches today. I'll be sure to add everyone who expressed interest here to the phabricator diff once I have them ready. Jonas, do you have any dsymutil patches I can look at? I am interested in

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-17 Thread Eric Christopher via lldb-dev
FWIW I'm completely on board with everything Adrian has said in this thread :) -eric On Wed, Jan 17, 2018 at 11:00 AM Adrian Prantl via llvm-dev < llvm-...@lists.llvm.org> wrote: > > > > On Jan 17, 2018, at 9:20 AM, Jonas Devlieghere via llvm-dev < > llvm-...@lists.llvm.org> wrote: > > > > As

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-17 Thread Adrian Prantl via lldb-dev
> On Jan 17, 2018, at 9:20 AM, Jonas Devlieghere via llvm-dev > wrote: > > As mentioned by Adrian in the comment you linked, I too am looking at DWARFv5 > accelerator tables in LLVM. > > To give you some background: my motivation is that I want to upstream support >

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-17 Thread Jonas Devlieghere via lldb-dev
Hi Pavel, As mentioned by Adrian in the comment you linked, I too am looking at DWARFv5 accelerator tables in LLVM. To give you some background: my motivation is that I want to upstream support for (Apple style) accelerator tables in llvm-dsymutil, which is currently missing because the way

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-01-17 Thread Victor Leschuk via lldb-dev
Hello, I hope I will have time to help you with that. I discussed dwarfv5 .debug_names implementation with involved party from RH. Anyway even if can't help much could you keep me in the loop please? On 01/17/2018 07:13 PM, Pavel Labath via llvm-dev wrote: > Hello all, > > In