On 01/09/2018 11:00 AM, Petr Pisar wrote:
On 2018-01-05, Florian Weimer <fweimer@xxxxxxxxxx> wrote:
perl-PDL-2.18.0-4.fc27.src.rpm
[...]
This is based on relatively current Fedora rawhide/x86_64 and reflects
which currently uses svc_/clnt_/xdr_ symbols from glibc. It does not
indicate whether these packages can use libtirpc or have bundled
replacements.
How exactly these xdr_ symbols changed?
They are compat symbols, so existing binaries can still reference them.
The perl-PDL situation is yet a bit more complex. Rebuilding it with
the new glibc succeeds because the xdr_ symbols actually come from HDF,
which only provides a static library. Our ld does not default to “-z
defs”, so SD.so contains an undefined symbol references to xdr_enum and
similar symbols. This reference is unversioned, so the glibc dynamic
linker will still bind it to the base symbol version in glibc (e.g.,
xdr_enum@GLIBC_2.2.5).
This is certainly not the right behavior. I'm asking around what can be
done about it. I can detect this situation statically based on ELF
symbol analysis, but I would prefer if we can make builds to fail
instead. Unversioned references to versioned symbols cause problems
again and again, so we really need to avoid them.
Thanks,
Florian
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx