My personal website source code
Log | Files | Refs | Submodules | README | LICENSE (2693B)

      1 ---
      2 title: 'SAOC LLDB D integration: 3rd Weekly Update'
      3 date: '2021-10-06T21:07:00+01:00'
      4 tags: ['saoc', 'saoc2021', 'dlang', 'llvm', 'lldb', 'debug', 'debugging', 'dwarf']
      5 description: "This post describes what I've done on the 3rd week of the
      6 Symmetry Autumn of Code 2021, including restructuring the patch history by
      7 splitting it up according to what LLVM team requested, bug fixes on the
      8 libiberty demangler and a small fix on DMD backend for fully qualified names on
      9 DWARF info"
     10 ---
     12 Hi D community!
     14 I'm here again, to describe what I've done during the third week of Symmetry
     15 Autumn of Code.
     17 ## Restructuring the patch history
     19 According to LLVM team, the [patch]( I
     20 previously sent needs to be split into smaller ones and that is a bit of a
     21 challenge. Why you may ask? Because looking at the [ABI
     22 specification]( a lot of mangling nodes are
     23 dependent of each other and splitting 3000 lines of code into small, stackable
     24 and independent patches needs some planning. I tried several layouts and
     25 [this](../../public/assets/posts/d-saoc-2021-03/ one seems
     26 to work out the best, so I'm sticking with it.
     28 Unfortunately, this week was kinda unproductive as I mostly spent this week
     29 entirely restructuring the patch.
     31 Because I'll only push the patches when they are done, for now, my work is on
     32 [this](
     33 branch, although bare in mind that this will constantly change, and to fetch
     34 new changes you need to hard reset them when pulling.
     36 ## Fixing a bug on libiberty D demangler
     38 During the restructure, I found out that anonymous symbols were not correctly
     39 handled and skipped, according to the specification, so I reported a
     40 [bug]( and sent a
     41 [patch]( to
     42 fix the issue.
     44 ## Add fully qualified name on array DWARF tags
     46 This is part of the milestone 2, but since I had
     47 [this]( patch archived for a long time
     48 I decided to push it on the weekend.
     50 ## What's next?
     52 Next week I hopefully finish the patch split and finally push this to the LLVM
     53 review platform. I'm also going to prepare some work for the milestone 2 that
     54 includes analyzing some DWARF info that is currently being generated by
     55 DMD/LDC/GDC compilers.
     57 You can also read this on the D programming language forum,
     58 [here](,
     59 and discuss there.
     61 Read about the [previous week](../d-saoc-2021-02/) and [next
     62 week](../d-saoc-2021-04/).