On Tue, 2018-01-09 at 12:25 +0100, Florian Weimer wrote:
> On 01/09/2018 11:00 AM, Petr Pisar wrote:
> > On 2018-01-05, Florian Weimer <fwei...@redhat.com> 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).

Would it help if xdr_enum@GLIBC_2.2.5 etc. were made weak symbols? That
way an unversioned reference could resolve to the one in libtirpc if
that happens to be in memory. (I _think_ this is how do_lookup_x
already works, but it's hard to ever be sure I'm reading it right.)

Definitely mostly in favor of -z defs though. ld doesn't have a way to
invert that option atm, but once it does that'd nice to have in a mass
rebuild.

- ajax
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to