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

commit 66c3a293a11c4b0cfd6e58aee1f30dac0d7d1954
parent 10318a223130a1097de8d532fae3fe51a3fd1651
Author: Luís Ferreira <[email protected]>
Date:   Wed,  6 Oct 2021 23:39:02 +0100

posts: add SAOC LLDB D integration: 3rd Weekly Update

Signed-off-by: Luís Ferreira <[email protected]>

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

diff --git a/content/posts/ b/content/posts/ @@ -96,4 +96,5 @@ For now, I'm going to proactively fix the requested changes in the LLVM patches. They seem to require smaller patches and probably the next week will be dedicated to that. -Read about the [previous week](../d-saoc-2021-01/). +Read about the [previous week](../d-saoc-2021-01/) and [next +week](../d-saoc-2021-03/). diff --git a/content/posts/ b/content/posts/ @@ -0,0 +1,57 @@ +--- +title: 'SAOC LLDB D integration: 3rd Weekly Update' +date: '2021-10-06T21:07:00+01:00' +tags: ['saoc', 'saoc2021', 'dlang', 'llvm', 'lldb', 'debug', 'debugging', 'dwarf'] +description: "This post describes what I've done on the 3rd week of the +Symmetry Autumn of Code 2021, including restructuring the patch history by +splitting it up according to what LLVM team requested, bug fixes on the +libiberty demangler and a small fix on DMD backend for fully qualified names on +DWARF info" +--- + +Hi D community! + +I'm here again, to describe what I've done during the third week of Symmetry +Autumn of Code. + +## Restructuring the patch history + +According to LLVM team, the [patch]( I +previously sent needs to be split into smaller ones and that is a bit of a +challenge. Why you may ask? Because looking at the [ABI +specification]( a lot of mangling nodes are +dependent of each other and splitting 3000 lines of code into small, stackable +and independent patches needs some planning. I tried several layouts and +[this]( one seems +to work out the best, so I'm sticking with it. + +Unfortunately, this week was kinda unproductive as I mostly spent this week +entirely restructuring the patch. + +Because I'll only push the patches when they are done, for now, my work is on +[this]( +branch, although bare in mind that this will constantly change, and to fetch +new changes you need to hard reset them when pulling. + +## Fixing a bug on libiberty D demangler + +During the restructure, I found out that anonymous symbols were not correctly +handled and skipped, according to the specification, so I reported a +[bug]( and sent a +[patch]( to +fix the issue. + +## Add fully qualified name on array DWARF tags + +This is part of the milestone 2, but since I had +[this]( patch archived for a long time +I decided to push it on the weekend. + +## What's next? + +Next week I hopefully finish the patch split and finally push this to the LLVM +review platform. I'm also going to prepare some work for the milestone 2 that +includes analyzing some DWARF info that is currently being generated by +DMD/LDC/GDC compilers. + +Read about the [previous week](../d-saoc-2021-02/).