My personal website source code
Log | Files | Refs | Submodules | README | LICENSE

commit 41202fea71b5006826681406047b09cb25635bdb
parent 1c65385c43624154ef6e97e992d6450fa0b58077
Author: Luís Ferreira <>
Date:   Thu,  9 Dec 2021 17:36:59 +0000

posts: Add 'SAOC LLDB D integration: 12th Weekly Update'

Signed-off-by: Luís Ferreira <>

Mcontent/posts/ | 3++-
Acontent/posts/ | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 69 insertions(+), 1 deletion(-)

diff --git a/content/posts/ b/content/posts/ @@ -64,4 +64,5 @@ I haven't finished the type wrapper to represent a D type, due to those decoupling issues. I will hopefully finish the implementation next week and try to have some simple output on the LLDB side. -Read about the [previous week](../d-saoc-2021-10/). +Read about the [previous week](../d-saoc-2021-10/) and the [next +week](../d-saoc-2021-12/). diff --git a/content/posts/ b/content/posts/ @@ -0,0 +1,67 @@ +--- +title: 'SAOC LLDB D integration: 12th Weekly Update' +date: '2021-12-09T15:25:00+01:00' +tags: ['saoc', 'saoc2021', 'dlang', 'llvm', 'lldb', 'debug', 'debugging', 'dwarf'] +description: "This post describes what I've done on the 12th week of the +Symmetry Autumn of Code 2021, including follow up updates on the LLVM patches +continuation of decoupling of clang-specific code on LLDB interfaces and +finishing implementation of D basic types." +--- + +Hi D community! + +I'm here again, to describe what I've done during the twelfth week of Symmetry +Autumn of Code. + +## LLVM upstream follow up update + +Two more patches in the D demangling patch train got merged! + +- +- + +After getting my testsuite working reasonably well, I self merged those two +accepted patches. I've contacted some LLVM members to figure out why buildbots +were not reproducing my errors, and it seems some tests are not running on +their testsuite, hence the error. + +I also amended some existing patches, accordingly with reviews. + +## Finishing implementation of basic types and continuing decoupling Clang-specific code + +I finished the implementation I had in mind to support at least one basic type +(I choose boolean, just for testing it, being straightforward to implement the +rest) with a Type wrapper called `DType`. Although, I'm not getting any output +from the DWARF parser and `ParseTypeFromDWARF` function is not being called at +all. I checked other language implementations, like Golang, but they are very +outdated. I assume there is yet another entangled clang-specific stuff I still +need to figure out or something I'm missing. + +You can see the changes here: + + +I made one more patch to move forward with clang-specific decoupling, in order +to be able to support custom languages: + +- + +I have more changes uncommitted that needs some tuning, including a DWARF to +LLDB encoding helper, needed by language DWARF AST Parsers. + +## Simple Continuous Integration for LLDB-d + +I've been tinkering with some custom continuous integration for my llvm tree to +provide automated builds to the community to test. So, I moved the repository +to a new organization just to be able to have organization-wide self-hosted +machines on Github actions. I already have a successful action working but it +takes around 4h to complete, not including the actual testsuite, so I still +need to revaluate the workflow and probably choose self-hosted machines for +fast builds. Here are the workflows, if you are interested: + . + +## What is next? + +I will try to figure out why my current approach is not working as expected and +if I get a successful output, I will start working on the DWARF dump system. + +Read about the [previous week](../d-saoc-2021-11/).