Re: [lldb-dev] Adding D language demangling support

2018-03-09 Thread Timothee Cour via lldb-dev
moved to: https://reviews.llvm.org/D44321 On Mon, Feb 26, 2018 at 10:06 PM, Davide Italiano wrote: > On Mon, Feb 26, 2018 at 8:45 PM, Timothee Cour via lldb-dev > wrote: >> I made it work: >> https://github.com/llvm-mirror/lldb/pull/3 >> (note: also requires the D plugin on D side which I can su

Re: [lldb-dev] Adding D language demangling support

2018-02-26 Thread Davide Italiano via lldb-dev
On Mon, Feb 26, 2018 at 8:45 PM, Timothee Cour via lldb-dev wrote: > I made it work: > https://github.com/llvm-mirror/lldb/pull/3 > (note: also requires the D plugin on D side which I can submit to > another repo separately, and which is small) > > not sure if lldb accepts github PR's but that's t

Re: [lldb-dev] Adding D language demangling support

2018-02-26 Thread Timothee Cour via lldb-dev
I made it work: https://github.com/llvm-mirror/lldb/pull/3 (note: also requires the D plugin on D side which I can submit to another repo separately, and which is small) not sure if lldb accepts github PR's but that's the simplest I could do On Sun, Feb 25, 2018 at 3:53 PM, Timothee Cour wrote:

Re: [lldb-dev] Adding D language demangling support

2018-02-25 Thread Timothee Cour via lldb-dev
update: * D now correctly prefixes its symbols with an extra underscore on OSX (cf https://dlang.org/changelog/2.079.0.html#fix8207) and gdb correctly demangles D symbols * in https://github.com/dlang/druntime/pull/2083 I had a PR to support demangling C++ symbols along with D symbols for D progra

Re: [lldb-dev] Adding D language demangling support

2016-09-26 Thread Greg Clayton via lldb-dev
Just did, and it looks good. > On Sep 26, 2016, at 3:49 AM, Johan Engelen wrote: > > Timothee, do you intend to work on this? > What can I do to help? > > In the meanwhile, I'd appreciate it if someone could take a look at > https://reviews.llvm.org/D24794 (currently, debugging D code is very

Re: [lldb-dev] Adding D language demangling support

2016-09-26 Thread Johan Engelen via lldb-dev
Timothee, do you intend to work on this? What can I do to help? In the meanwhile, I'd appreciate it if someone could take a look at https://reviews.llvm.org/D24794 (currently, debugging D code is very much broken without that change). -Johan On Thu, Sep 22, 2016 at 7:21 PM, Greg Clayton via lld

Re: [lldb-dev] Adding D language demangling support

2016-09-22 Thread Greg Clayton via lldb-dev
I like the JSON approach. We might need to include the mangled name for the function or specify where arguments go if we aren't going to expect a canned function to be in each dylib. That is a bit harder, but something we should think about. If we look at __cxa_demangle: char* abi::__cxa_dema

Re: [lldb-dev] Adding D language demangling support

2016-09-22 Thread Timothee Cour via lldb-dev
On Wed, Sep 21, 2016 at 4:13 PM, Greg Clayton via lldb-dev < lldb-dev@lists.llvm.org> wrote: > You could have a setting that allows you to specify prefix as the key with > a dylib path as a value. Would you expect a function with certain name or > would you need to specify the function name (proba

Re: [lldb-dev] Adding D language demangling support

2016-09-22 Thread Greg Clayton via lldb-dev
> On Sep 22, 2016, at 1:48 AM, Johan Engelen wrote: > > It'd be great if an external lib could be used for the demangling. > > Zooming out a little: > `Mangled::GetDemangledName(lldb::LanguageType language)` takes a language as > parameter (unused), which to me looks like the plan was to move

Re: [lldb-dev] Adding D language demangling support

2016-09-22 Thread Johan Engelen via lldb-dev
It'd be great if an external lib could be used for the demangling. Zooming out a little: `Mangled::GetDemangledName(lldb::LanguageType language)` takes a language as parameter (unused), which to me looks like the plan was to move this into the language plugins? Then D could have its own language p

Re: [lldb-dev] Adding D language demangling support

2016-09-21 Thread Greg Clayton via lldb-dev
You could have a setting that allows you to specify prefix as the key with a dylib path as a value. Would you expect a function with certain name or would you need to specify the function name (probably mangled) as well? Let me know what you are thinking? Greg > On Sep 21, 2016, at 3:50 PM, Ti

Re: [lldb-dev] Adding D language demangling support

2016-09-21 Thread Timothee Cour via lldb-dev
On Wed, Sep 21, 2016 at 3:35 PM, Greg Clayton via lldb-dev < lldb-dev@lists.llvm.org> wrote: > Sounds like you could then make a setting that is a dictionary where you > say what the prefix is (like maybe "_D") and the value is the path to the > tool to use? This would be easy to implement. Demang

Re: [lldb-dev] Adding D language demangling support

2016-09-21 Thread Greg Clayton via lldb-dev
Sounds like you could then make a setting that is a dictionary where you say what the prefix is (like maybe "_D") and the value is the path to the tool to use? This would be easy to implement. Demangling does tend to be one of the most expensive parts of symbol file and debug info parsing, so if

Re: [lldb-dev] Adding D language demangling support

2016-09-21 Thread Timothee Cour via lldb-dev
On Wed, Sep 21, 2016 at 3:10 PM, Greg Clayton wrote: > There is no external demangling plug-in infrastructure at the moment, but > you could add functionality that would allow it. No one is going to have D > installed by default. Where do you expect your demangler dylib to live? Would you just a

Re: [lldb-dev] Adding D language demangling support

2016-09-21 Thread Greg Clayton via lldb-dev
There is no external demangling plug-in infrastructure at the moment, but you could add functionality that would allow it. No one is going to have D installed by default. Where do you expect your demangler dylib to live? Would you just add code that tries to locate the dylib in N places on the c

Re: [lldb-dev] Adding D language demangling support

2016-09-21 Thread Timothee Cour via lldb-dev
Is there a way to provide a hook (eg, via an extern(C) function, or using a dynamically loaded shared library) to do this, so as to simply reuse D's https://dlang.org/phobos/std_demangle.html and make sure it's always in sync with D's demangling instead of duplicating code On Wed, Sep 21, 2016 at

Re: [lldb-dev] Adding D language demangling support

2016-09-21 Thread Greg Clayton via lldb-dev
It might be nice to add demangling support to llvm and then use it by modifying "Mangled::GetDemangledName()" in Mangled.cpp. This is where all demangling happens. Hopefully you have a great prefix that won't conflict with other languages "_Z" for C++, "_T" for swift. But the code in Mangled::G

Re: [lldb-dev] Adding D language demangling support

2016-09-21 Thread Mehdi Amini via lldb-dev
> On Sep 21, 2016, at 5:52 AM, Johan Engelen via lldb-dev > wrote: > > Hi all, > I recently looked into adding demangling support for D in LLDB, but got > lost in the code. > (right now, basic D support is there with: https://reviews.llvm.org/D24794 > ) > >

[lldb-dev] Adding D language demangling support

2016-09-21 Thread Johan Engelen via lldb-dev
Hi all, I recently looked into adding demangling support for D in LLDB, but got lost in the code. (right now, basic D support is there with: https://reviews.llvm.org/D24794) I'd like some pointers to where demangling is done for the other languages, and to where I should add D support for it. T