Thread overview | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 26, 2018 I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timothee Cour | 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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to timotheecour | 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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to Luís Marques | 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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timothee Cour | 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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timothee Cour | 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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to Luís Marques | 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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timothee Cour | 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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to Luís Marques | 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 Re: I have a patch to let lldb demangle D symbols ; help welcome to improve it | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Engelen | 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
|
Copyright © 1999-2021 by the D Language Foundation