Linker problems with system vs bundled libraries (RPATH vs RUNPATH) / LTO / gold
Дилян Палаузов
dpa-libreoffice at aegee.org
Fri Feb 1 21:12:43 UTC 2019
Hello,
my initial understanding of the case “Linker problems with system vs bundled libraries (RPATH vs RUNPATH) ” is, that
ld.bfd and ld.gold behave differently, which is exposed by invoking --enable-linker=
How do ld.bfd and ld.gold differ, that triggered the problem?
Based on what does ./configure --help print behind --enable-lto: best used with “gold”. Are there any known problems
with ld.bfd?
The "gold as linker" in configure.in/configure.ac comes from commit fc41132306 back in 2011 and ld.bfd can handle linker
plugins at least since 2015.
The AS_HELP_STRING for --enable-lto says "both gold and lld linkers generally use less memory and link faster".
Compared to what? It shoud say "compared to ld.bfd".
--enable-lto switches AR, NM and RANLIB to be gcc-ar, gcc-nm and gcc-ranlib, but… on some systems the binary is called
gcc-ar-4, for clang you have to use llvm-ar, which on some systems is called llvm-ar-5.0. I am not aware of a single
autoconf project that manages this right; new versions of CMake do.
I propose removing all the LTO extras from LibreOffice. Competent users are supposed to install the linker plugin
liblto_plugin.so and LLVMgold.so in $libdir/bfd-plugins and insert -flto into CFLAGS and CXXFLAGS, respectively -flto=6
in LDFLAGS. Incompetent users don’t have a problem without LTO, as they do not know LTO exists.
Regards
Дилян
On Fri, 2019-02-01 at 21:32 +0100, Michael Stahl wrote:
> On 01.02.19 20:12, Luboš Luňák wrote:
> > On Monday 28 of January 2019, Michael Stahl wrote:
> > > hope this will help:
> > >
> > > https://gerrit.libreoffice.org/#/c/67012/
> > >
> > > the idea is we use different symbol version for everything so LO libs
> > > call into bundled library, system libs call into system library.
> > >
> > > haven't tested it though, just make check runs fine here...
> >
> > Yes, that works. But before you do, could you please e.g. add URL of this
> > discussion to the commit message? "unintended hilarity" is a rather poor
> > problem description.
>
> ... unfortunately it's too late to add anything to the commit message as
> the patch somehow reviewed and pushed itself.
>
> well, anybody who knows what a gloriously misguided idea the ELF global
> namespace is can think of any number of problems that would be fixed by
> the patch :)
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libreoffice
More information about the LibreOffice
mailing list