On demand static/shared libs and binary linkage

Ulf Hermann ulf.hermann@qt.io
Thu Jun 7 08:09:00 GMT 2018


Hi,

> - the delivered libs cannot be 100% static archives. Depending on the
> machine the libelf is used, some backend code are dlopen'd. So at
> least, the backends code must be delivered as shared lib (in the by
> default EBL directory)

The backends are for libdw, not libelf, and they are not about the 
machine you are _running_ this on, but about the machine the binaries 
you are looking at were compiled for. The dlopen is not technically 
necessary. We could just compile all the backends into libdw. The 
backend interface is private API and therefore you shouldn't use 
"external" backends anyway. The downside would be that libdw gets 
bigger, but the upside of not having to deal with dlopen and rpath would 
be easily worth it, at least for my use case.

This has been on my wish list for a while, but I haven't gotten around 
to do it, yet.

Ulf



More information about the Elfutils-devel mailing list