git

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

d-saoc-2021-10.md (2588B)


      1 ---
      2 title: 'SAOC LLDB D integration: 10th Weekly Update'
      3 date: '2021-11-25T21:26:00+01:00'
      4 tags: ['saoc', 'saoc2021', 'dlang', 'llvm', 'lldb', 'debug', 'debugging', 'dwarf']
      5 description: "This post describes what I've done on the 10th week of the
      6 Symmetry Autumn of Code 2021, including follow up updates on the LLVM patches
      7 and implementation of a minimal TypeSystem for D."
      8 ---
      9 
     10 Hi D community!
     11 
     12 I'm here again, to describe what I've done during the tenth week of Symmetry
     13 Autumn of Code.
     14 
     15 ## LLVM upstream follow up update
     16 
     17 During the discussion for the next patch in the train, 4 more patches have been
     18 raised, due to request to split it even more:
     19 
     20 - https://reviews.llvm.org/D114305
     21 - https://reviews.llvm.org/D114307
     22 - https://reviews.llvm.org/D114308
     23 - https://reviews.llvm.org/D114309
     24 
     25 Some more changes were made on other existing patches due to further discussion
     26 on implementation details.
     27 
     28 I also proposed a minor change on the specification to accommodate artificial
     29 local parent symbols when mangling ambiguities happen, see
     30 [here](https://github.com/dlang/dlang.org/pull/3124).
     31 
     32 ## Minimal TypeSystem for D
     33 
     34 This week I finally focused on getting a minimal TypeSystem working for D on
     35 the LLDB. This means nothing to the end user and huge change need to be made to
     36 make it functional exactly the same as is right now, the main difference is
     37 that, instead of relying on Clang type system, we have our own.
     38 
     39 For now it has the Clang type system disabled and detects D as usual, but does
     40 nothing, when requesting any type information.
     41 
     42 The current changes for the implementation of D TypeSystem will be in
     43 [this](https://github.com/ljmf00/lldb-d/pull/1) PR.
     44 
     45 I decided to create a seperate repository for this until I have a decent plugin
     46 to upstream. As this might take a while to implement, I would like to ask the
     47 community if it is worth to do some builds to several platforms with the
     48 demangling and language formatters enabled? I'm particularly asking this since
     49 building LLVM is a beefy task and some may not be able to do it easily with
     50 their machine. What is your thoughts?
     51 
     52 ## What is next?
     53 
     54 I will continue implementing TypeSystem for D as well as a new type wrapper to
     55 represent a D type. I'm going to start adding support for very basic types.
     56 
     57 You can also read this on the D programming language forum,
     58 [here](https://forum.dlang.org/thread/mailman.1018.1637883198.11670.digitalmars-d@puremagic.com),
     59 and discuss there, including your thoughts about the asked questions!
     60 
     61 Read about the [previous week](../d-saoc-2021-09/) and [next
     62 week](../d-saoc-2021-11/).