I have a patch to let lldb demangle D symbols ; help welcome to improve it

Timothee Cour thelastmammoth at gmail.com
Fri Mar 9 07:51:47 UTC 2018


> I'm pretty sure Timothee based his patch onto LLDB/LLVM trunk.

indeed, see instructions here:
https://github.com/timotheecour/dtools/blob/master/dtools/lldbdplugin.d

> Seems like they prefer a shared library and not rewriting it in C++ [1].

indeed, I would not support something that requires rewriting demangle
in C++ for obvious reasons (lots of useless work, gets out of sync
etc).

> BTW, there's also GNU libiberty, bart of binutils, which Iain claims have better support for demangling D symbols than core.demangler.

IIRC he wrote that, so we'd need an unbiased opinion :) But more
importantly, libiberty is not up to date with latest features in
core.demangle (eg back references etc). Also, I'd like to know in what
way it'd be better.


I had to make some small modifications to core.demangle to avoid
https://github.com/timotheecour/dtools/issues/2 ; it works, but a bit
ugly (see https://github.com/timotheecour/dtools/issues/2 for
discussion)


On Tue, Mar 6, 2018 at 12:26 PM, Johan Engelen via Digitalmars-d
<digitalmars-d at puremagic.com> wrote:
> On Tuesday, 6 March 2018 at 20:25:10 UTC, Johan Engelen wrote:
>>
>> On Tuesday, 6 March 2018 at 18:19:13 UTC, Luís Marques wrote:
>>>
>>> On my LLVM fork for RISC-V and MSP430 work it doesn't build (no
>>> llvm/Support/DJB.h) and on the latest stable, 5.0.1, cmake fails to
>>> configure (Unknown CMake command "add_llvm_install_targets").
>>
>>
>> LLDB and LLVM need to be version synchronized. Did you checkout LLVM and
>> LLDB both from their respective same-named release branches?
>
>
> I'm pretty sure Timothee based his patch onto LLDB/LLVM trunk.
>
> -Johan



More information about the Digitalmars-d mailing list