[RFC PATCH 0/2] elfutils: don't use dlopen() for libebl modules

Omar Sandoval osandov@osandov.com
Wed Jul 3 21:37:00 GMT 2019


On Wed, Jul 03, 2019 at 05:33:42PM -0400, Frank Ch. Eigler wrote:
> Hi -
> 
> > [...]
> > My understanding of the benefit of separate modules is that we don't
> > need to link all backend modules into every elfutils binary. I did some
> > measurements to that end:
> > 
> > Dynamic backends (status quo):
> > 44K     ./libasm/libasm.so
> > 380K    ./libdw/libdw.so
> > 120K    ./libelf/libelf.so
> > 56K     ./src/objdump
> > 
> > Static backends (after this series):
> > 44K     ./libasm/libasm.so
> > 668K    ./libdw/libdw.so
> > 120K    ./libelf/libelf.so
> > 348K    ./src/objdump
> 
> Assuming a dynamically linked objdump would be the same size as
> before, and that the libebl-* contents would only bloat libdw.so,
> and only by 300K, IMHO we should just go for it.

This is actually with dynamically linked binaries -- the size increase
is because we link libebl.a directly into all of the binaries in
addition to libdw.so:

objdump_LDADD  = $(libasm) $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)



More information about the Elfutils-devel mailing list