Ok, so I've just pushed my changes to master.
TLDR: If your distro is not older than 2-3 years, you can probably just
pass --enable-split-debug --enable-gdb-index --enable-ld=gold to configure
and you'll just magically get faster builds taking less space and faster gdb
startup.
I've decided not to enable the options by default for now, just to see if
something breaks. I still plan to do that later, if nothing shows up.
Note that this is meant primarily for debug builds. It should work also for
release builds, but I have no idea what it will do e.g. with distro packaging
tools that generate debuginfo packages.
If you want to see numbers, see previous mails, nothing has really changed
there (except for lld below).
I've changed --enable-gold to --enable-ld=<linker>, because I've found out
that LLVM besides Clang provides also a linker called lld, and lld at least
in version 6 actually performs even better than gold (4s vs gold's 6-7s).
There are some caveats though:
* lld6 crashes sometimes and needs [1] (openSUSE users,
devel:tools:compiler/libLLVM6 has it)
* Valgrind can't handle lld's debuginfo and needs [2] and [3], or
passing --no-rosegment to lld, see
https://bugs.kde.org/show_bug.cgi?id=384727 (openSUSE users,
home:llunak:my/valgrind has them)
[1]
https://github.com/llvm-mirror/llvm/commit/d227a3b47ef9e57d86127c7a94b4d06fdf1bfd2d
[2]
https://github.com/orivej/valgrind/commit/c59bf5c215f85fb08605708b51f88777227885ae.patch
[3] https://bugsfiles.kde.org/attachment.cgi?id=113765
--
Luboš Luňák
l.lunak@collabora.com
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.