Jump to page: 1 2
Thread overview
I have a patch to let lldb demangle D symbols ; help welcome to improve it
Feb 27, 2018
Timothee Cour
Feb 27, 2018
timotheecour
Mar 01, 2018
Luís Marques
Mar 02, 2018
Timothee Cour
Mar 06, 2018
Luís Marques
Mar 06, 2018
Johan Engelen
Mar 06, 2018
Johan Engelen
Mar 09, 2018
Timothee Cour
Mar 02, 2018
Jacob Carlborg
Mar 05, 2018
Luís Marques
Mar 06, 2018
Jacob Carlborg
Mar 09, 2018
Luís Marques
Mar 09, 2018
Timothee Cour
Mar 12, 2018
Luís Marques
Mar 12, 2018
Luís Marques
Mar 12, 2018
Timothee Cour
Mar 13, 2018
Luís Marques
Mar 13, 2018
Luís Marques
Mar 14, 2018
Timothee Cour
Mar 15, 2018
Timothee Cour
February 26, 2018
https://github.com/llvm-mirror/lldb/pull/3
+
https://github.com/timotheecour/dtools/blob/master/dtools/lldbdplugin.d


on OSX, it works great except when encountering large symbols which
cause segfault when GC does a collection (triggered inside
core.demangle.demangle);
Help is welcome to improve that (or more generally to improve D
support in lldb, which I started in
https://github.com/llvm-mirror/lldb/pull/3)
NOTE: lldb doesn't accept github PR's but easier to work with PR's for
whoever wants to help on tha in the meantime
February 27, 2018
On Tuesday, 27 February 2018 at 05:28:41 UTC, Timothee Cour wrote:
> https://github.com/llvm-mirror/lldb/pull/3
> +
> https://github.com/timotheecour/dtools/blob/master/dtools/lldbdplugin.d
>
>
> on OSX, it works great except when encountering large symbols which
> cause segfault when GC does a collection (triggered inside
> core.demangle.demangle);
> Help is welcome to improve that (or more generally to improve D
> support in lldb, which I started in
> https://github.com/llvm-mirror/lldb/pull/3)
> NOTE: lldb doesn't accept github PR's but easier to work with PR's for
> whoever wants to help on tha in the meantime

Specifically, the issue I'm facing is: https://github.com/timotheecour/dtools/issues/2 (a crash occurs when _d_arraysetlengthiT is called)

any help would be greatly appreciated


March 01, 2018
On Tuesday, 27 February 2018 at 11:23:02 UTC, timotheecour wrote:
> On Tuesday, 27 February 2018 at 05:28:41 UTC, Timothee Cour wrote:
>> https://github.com/llvm-mirror/lldb/pull/3
>> +
>> https://github.com/timotheecour/dtools/blob/master/dtools/lldbdplugin.d
>>
>>
>> on OSX, it works great except when encountering large symbols which
>> cause segfault when GC does a collection (triggered inside
>> core.demangle.demangle);
>> Help is welcome to improve that (or more generally to improve D
>> support in lldb, which I started in
>> https://github.com/llvm-mirror/lldb/pull/3)
>> NOTE: lldb doesn't accept github PR's but easier to work with PR's for
>> whoever wants to help on tha in the meantime
>
> Specifically, the issue I'm facing is: https://github.com/timotheecour/dtools/issues/2 (a crash occurs when _d_arraysetlengthiT is called)
>
> any help would be greatly appreciated

Thanks for working on this. I'll try to look into this in the next few days. (If you have further progress on this please provide an update here).
March 01, 2018
yes, I've fixed the issue with crashes on large symbols using a patched `demangle` ; will update code soon; but feel free to take a look at lldb side of things




On Thu, Mar 1, 2018 at 12:23 PM, Luís Marques via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> On Tuesday, 27 February 2018 at 11:23:02 UTC, timotheecour wrote:
>>
>> On Tuesday, 27 February 2018 at 05:28:41 UTC, Timothee Cour wrote:
>>>
>>> https://github.com/llvm-mirror/lldb/pull/3
>>> +
>>> https://github.com/timotheecour/dtools/blob/master/dtools/lldbdplugin.d
>>>
>>>
>>> on OSX, it works great except when encountering large symbols which
>>> cause segfault when GC does a collection (triggered inside
>>> core.demangle.demangle);
>>> Help is welcome to improve that (or more generally to improve D
>>> support in lldb, which I started in
>>> https://github.com/llvm-mirror/lldb/pull/3)
>>> NOTE: lldb doesn't accept github PR's but easier to work with PR's for
>>> whoever wants to help on tha in the meantime
>>
>>
>> Specifically, the issue I'm facing is: https://github.com/timotheecour/dtools/issues/2 (a crash occurs when _d_arraysetlengthiT is called)
>>
>> any help would be greatly appreciated
>
>
> Thanks for working on this. I'll try to look into this in the next few days. (If you have further progress on this please provide an update here).

March 02, 2018
On Tuesday, 27 February 2018 at 05:28:41 UTC, Timothee Cour wrote:
> https://github.com/llvm-mirror/lldb/pull/3
> +
> https://github.com/timotheecour/dtools/blob/master/dtools/lldbdplugin.d
>
>
> on OSX, it works great except when encountering large symbols which
> cause segfault when GC does a collection (triggered inside
> core.demangle.demangle);
> Help is welcome to improve that (or more generally to improve D
> support in lldb, which I started in
> https://github.com/llvm-mirror/lldb/pull/3)
> NOTE: lldb doesn't accept github PR's but easier to work with PR's for
> whoever wants to help on tha in the meantime

This is great work.

Keep in mind that DMD does not support dynamic libraries on macOS.

--
/Jacob Carlborg
March 05, 2018
On Tuesday, 27 February 2018 at 05:28:41 UTC, Timothee Cour wrote:
> https://github.com/llvm-mirror/lldb/pull/3
> +
> https://github.com/timotheecour/dtools/blob/master/dtools/lldbdplugin.d

Ok, I started looking into this now. I hadn't realized that you were opening an external library. I'm not sure the LLDB developers are going to want to merge something like that, have you asked? Would you consider adding C++ code for the demangling itself instead?
March 06, 2018
On Monday, 5 March 2018 at 20:03:39 UTC, Luís Marques wrote:
> On Tuesday, 27 February 2018 at 05:28:41 UTC, Timothee Cour wrote:
>> https://github.com/llvm-mirror/lldb/pull/3
>> +
>> https://github.com/timotheecour/dtools/blob/master/dtools/lldbdplugin.d
>
> Ok, I started looking into this now. I hadn't realized that you were opening an external library. I'm not sure the LLDB developers are going to want to merge something like that, have you asked? Would you consider adding C++ code for the demangling itself instead?

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

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

[1] http://lists.llvm.org/pipermail/lldb-dev/2018-January/013199.html

--
/Jacob Carlborg
March 06, 2018
On Friday, 2 March 2018 at 00:17:13 UTC, Timothee Cour wrote:
> yes, I've fixed the issue with crashes on large symbols using a patched `demangle` ; will update code soon; but feel free to take a look at lldb side of things

What version of LLVM did you base it on? 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").
March 06, 2018
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?

-Johan
March 06, 2018
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
« First   ‹ Prev
1 2