A libebl.a build is directly tied to the backends from the same build.
So the src/ utilities that use libebl.a directly won't be happy until
you relink them against a rebuilt libebl.a that matches the backends.
See MODVERSION on config.h and where libebl/eblopenbackend.c uses it.
We do this because libebl and the backends are not stable ABIs (or even APIs).
Only programs that are part of the elfutils build really use libebl.a directly.
For anything backend-based that we want to have a stable API/ABI for other
programs to use, we put front-end wrapper functions into libdwfl (libdw.so).
The libdw.so ABI is stable.
Thanks,
Roland