[Libreoffice] ld dynamic linker hash style

Petr Mladek pmladek at suse.cz
Tue Apr 5 02:40:57 PDT 2011

Francois Tigeot píše v Po 04. 04. 2011 v 22:51 +0200:
> Hi all,
> During the last few days, my builds have been broken with this error message:
>   makedepend: Shared object has no run-time symbol table
> I have tracked the start of my troubles to this commit:
> 	83b781819557f269fda65ce551ec9a008fade511
> 	http://cgit.freedesktop.org/libreoffice/bootstrap/commit/?id=83b781819557f269fda65ce551ec9a008fade511
> It adds the "--hash-style=gnu" string on ld invocations.
> --hash-style=gnu sets the type of linker's hash tables to a new ".gnu.hash"
> format.
> The problem is, this flag also prevents ld to write classic ELF ".hash"
> sections, preventing some systems to be able to run the generated binaries.
> Googling a bit, I found references to this issue on all types of systems
> See here for a Suse one:
> http://mail.openjdk.java.net/pipermail/porters-dev/2009-January/000235.html
> The new .gnu.hash sections are not recognized by old binutils versions such as
> 2.17 and may or may not be used on more recent ones.
> One of my machines is using binutils-2.21 and cannot run binaries linked with
> the --hash-style=gnu option. I need to investigate.
> Howewer, the fix is quite simple: replace --hash-style=gnu by --hash-style=both
> The --hash-style=both option generates both old and new-style sections,
> keeping all binutils happy.

Sounds reasonable.

Michael, what is your opinion? Could it cause any regression in the
start up speed?

Best Regards,

More information about the LibreOffice mailing list