Re: Static call dependency on libelf version?

From: Josh Poimboeuf
Date: Tue Sep 15 2020 - 19:00:54 EST


On Tue, Sep 15, 2020 at 04:38:02PM +0200, Mark Wielaard wrote:
> Hi Josh,
>
> On Tue, 2020-09-15 at 09:17 -0500, Josh Poimboeuf wrote:
> > On Tue, Sep 15, 2020 at 01:24:17PM +0200, Mark Wielaard wrote:
> > > But all this is for ancient versions of elfutils libelf. So it is hard
> > > to say and my memory might be failing. If someone can confirm 0.158
> > > (which is 6 years old) works fine I would pick that as minimum version,
> > > otherwise simply go with 0.168 which is 4 years old and should be on
> > > most systems by now.
> >
> > I just discovered elf_version(), I assume that would allow us to check
> > and enforce the libelf version?
>
> No, sorry. That is for the ELF file format version, which is and has
> always been version 1 (and I suspect it will be for the next 20
> years).

Oh, right :-)

> There is /usr/include/elfutils/version.h which provides a
> _ELFUTILS_PREREQ(major, minor) macro if you need something during
> compile time.

Nice, I'll try that.

> Note that in theory libelf is a generic library (there are variants for
> Solaris and BSD with which we try to be [source] compatible), but the
> only actively maintained version is the elfutils one.

Yeah, we've occasionally had users using another variant of the library
which is 10+ years old. Not surprisingly it didn't work well.

--
Josh