Re: Update15.x/kcfi to LLVM 15.0.3 (ZSTD + DWARFv5)

From: Nick Desaulniers
Date: Thu Oct 20 2022 - 13:18:14 EST


On Thu, Oct 20, 2022 at 9:56 AM Nick Desaulniers
<ndesaulniers@xxxxxxxxxx> wrote:
>
> On Wed, Oct 19, 2022 at 10:44 PM Sedat Dilek (DHL Supply Chain)
> <sedat.dilek@xxxxxxx> wrote:
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
> > Gesendet: Dienstag, 18. Oktober 2022 18:00
> > An: Sedat Dilek (DHL Supply Chain) <sedat.dilek@xxxxxxx>
> > Betreff: Re: Update15.x/kcfi to LLVM 15.0.3
> >
> > On Tue, Oct 18, 2022 at 4:54 AM Sedat Dilek (DHL Supply Chain) <sedat.dilek@xxxxxxx> wrote:
> > >
> > [ CC Nick + Fangrui ]
> >
> > You happen to know or use the ZSTD cmake-option (see [1] and [2]) - came in with changes post-15.0.2?
> >
> > AFAICS Fangrui Song had some patches to use ZSTD debug-compression with DWARFv5.
> >
> > Unsure, if that combination is now possible in v15.0.3 or is a feature of LLVM-16.
> >
> > [3] says:
> >
> > [ lib/Kconfig.debug ]
> >
> > config DEBUG_INFO_COMPRESSED
> > bool "Compressed debugging information"
> > depends on $(cc-option,-gz=zlib)
> > depends on $(ld-option,--compress-debug-sections=zlib)
> > help
> > Compress the debug information using zlib. Requires GCC 5.0+ or Clang
> > 5.0+, binutils 2.26+, and zlib.
> >
> > Users of dpkg-deb via scripts/package/builddeb may find an increase in
> > size of their debug .deb packages with this config set, due to the
> > debug info being compressed with zlib, then the object files being
> > recompressed with a different compression scheme. But this is still
> > preferable to setting $KDEB_COMPRESS to "none" which would be even
> > larger.
> >
> > I am interested in the equivalent changes to cc-option/ld-option with ZSTD (usable with DWARFv5).
>
> Good idea. It looks like there's still a blocker to using -gz=zstd with clang:
> $ clang -gz=zstd -x c - < /dev/null
> clang-16: warning: cannot compress debug sections (zstd not enabled)
> [-Wdebug-compression-unavailable]

PEBKAC
$ sudo apt install libzstd-dev
<rebuild clang>

>
> https://github.com/facebook/zstd/issues/3271
>
> Attaching a WIP patch.
>
> >
> > Thanks.
> >
> > Best regards,
> > -Sedat-
> >
> > [1] https://github.com/llvm/llvm-project/commit/6fba7854a2f0b6b3899bb156c1a0c4ae35c96e24
> > [2] https://github.com/llvm/llvm-project/commit/b4840279846e1eea44c3dca575395a90c9d77ca0
> > [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/Kconfig.debug#n315
> > [4] https://metadata.ftp-master.debian.org/changelogs//main/l/llvm-toolchain-15/llvm-toolchain-15_15.0.3-1~exp1_changelog
> >
> >
> >
>
>
> --
> Thanks,
> ~Nick Desaulniers



--
Thanks,
~Nick Desaulniers