SAOC LLDB D integration: 8th Weekly Update

Luís Ferreira contact at lsferreira.net
Tue Nov 16 01:51:16 UTC 2021


On Mon, 2021-11-15 at 22:12 +0000, Johan via Digitalmars-d wrote:
> On Thursday, 11 November 2021 at 16:20:57 UTC, Luís Ferreira 
> wrote:
> > Hi D community!
> > 
> > I'm here again, to describe what I've done during the eighth 
> > week of Symmetry Autumn of Code. Sorry for being a bit late.
> > 
> > ## LLVM upstream follow up update
> > 
> > The following patches got merged:
> > - https://reviews.llvm.org/D111414
> > - https://reviews.llvm.org/D111432
> > - https://reviews.llvm.org/D110578
> > 
> > This includes the most important patch of the Milestone 1, 
> > which is initial support for D demangling. After a conversation 
> > with Chris Lattner (LLVM lead developer and creator) I managed 
> > to get acceptance on merging that change, leaving relicensing 
> > issues aside from my task list. This also means that minimal 
> > support for D in LLDB is now on the official tree.
> 
> Congratulations Luis, indeed a major milestone! You made it to 
> the LLVM weekly newsletter!
> 

Thanks! I didn't know about LLVM weekly newsletter, and should
definitely follow it!

> > Right after the merge, I submitted a patch to Google OSS Fuzz, 
> > to start fuzzing D demangler: 
> > https://github.com/google/oss-fuzz/pull/6811 .
> 
> Shameless plug: fuzzing also works with LDC, but I don't think we 
> have any fuzzing of D projects (the stdlib?) at OSS Fuzz yet... ;)
> https://johanengelen.github.io/ldc/2018/01/14/Fuzzing-with-LDC.html
> 

Thanks for the valuable resources.

Yes. That is on one of my side plans, but first we need to fix some
stuff in the compiler/standard library/druntime:
- Memory leaks in the compiler invocations even with `-lowmem`.
- ASAN/UBSAN reports stack overflow when CTFE stack overflows, which we
should check before "exploding".
- There is some heap usage after free() call and other issues reported
by ASAN/UBSAN with the current testsuite. See
https://issues.dlang.org/show_bug.cgi?id=22450 for context.
- Some standard library/runtime parts requires LDC-specific changes to
run successfully, especially in the standard library with inline asm
blocks present on math code (e.g. x87 implementations of
cos/sin/tan/...).

I have done some fixes on the standard library upstream to try to run
the test suite with LDC and a custom test runner. That is why I
discovered some problems related with LDC.

We can and should still do some fuzzing even with limited heuristics.
We can also consider doing that already with the LDC fork, which
probably doesn't have most of these prolems (maybe still some memory
leaks due to sharing the frontend).


-- 
Sincerely,
Luís Ferreira @ lsferreira.net

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20211116/3f3b2b4d/attachment.sig>


More information about the Digitalmars-d mailing list