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]>
2 files changed, 59 insertions(+), 1 deletion(-)
diff --git a/content/posts/d-saoc-2021-02.md b/content/posts/d-saoc-2021-02.md
@@ -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
diff --git a/content/posts/d-saoc-2021-03.md b/content/posts/d-saoc-2021-03.md
@@ -0,0 +1,57 @@
+title: 'SAOC LLDB D integration: 3rd Weekly Update'
+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
+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](https://reviews.llvm.org/D110576) 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](https://dlang.org/spec/abi.html) 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](https://pad.riseup.net/p/r.d96e7d99b8d964cca079be42c27e3656) 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
+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](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102618) and sent a
+fix the issue.
+## Add fully qualified name on array DWARF tags
+This is part of the milestone 2, but since I had
+[this](https://github.com/dlang/dmd/pull/13120) 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
+Read about the [previous week](../d-saoc-2021-02/).