Patch for Incorrect Symbol DW_LANG_PL1 -> DW_LANG_PLI

Mark Wielaard mark@klomp.org
Mon Oct 18 16:25:31 GMT 2021


Hi Vanessa,

On Mon, 2021-10-18 at 15:27 +0000, Sochat, Vanessa wrote:
> I tried the gamut of versions from elfutils, down to 0.163 in spack:
> 
> https://github.com/spack/spack/blob/30e8dd95b54bb60b0b696ec85fb7f9b71f5e79dc/var/spack/repos/builtin/packages/elfutils/package.py#L25
>
> And no luck.

In that case I suspect somehow the build isn't using the right dwarf.h
header. It might be the:

 depends_on('libdwarf')

libabigail doesn't depend on libdwarf and libdwarf is not part of
elfutils. It does provide a dwarf.h header though, that might simply
not be compatible.

elfutils-devel install it in /usr/include/dwarf.h
while libdwarf-devel installs it in /usr/include/libdwarf/dwarf.h

So in theory they shouldn't conflict, unless the compiler has
/usr/include/libdwarf on the include path.

>  Notably, when I originally added libabigail I didn't see this error:
> https://github.com/spack/spack/commit/ef9a607c4c3bd01d6bcf3141244fd29
> 41725e92f#diff-
> a8ac1d28334e9664af1280644c56095a1ba1160e5cc8b9ceec6ef8ec85491653 so
> my early conclusion was that something had changed about libabigail
> between the previous (1.8x and 2.0) releases. I simply couldn't get
> it working without this patch, regardless of the versions of elfutils
> or dwarf that I pinned.

Not saying the PL1/PLI confusion shouldn't be fixed (it is a really odd
typo), but it is somewhat curious nobody else has reported this issue.
Which is why I suspect that somehow your build is using the "wrong"
dwarf.h. Because all elfutils/libdw versions of dwarf.h do have
DW_LANG_PL1 defined. If you are picking up a non-elfutils/libdw dwarf.h
maybe that explains some of the other build issues too?

Cheers,

Mark


More information about the Libabigail mailing list