This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] libnsl: Turn remaining symbols into compat symbols [BZ #22701]


On 01/31/2018 12:21 PM, Szabolcs Nagy wrote:
On 29/01/18 13:32, Florian Weimer wrote:
On 01/29/2018 02:30 PM, Andreas Schwab wrote:
On Jan 11 2018, fweimer@redhat.com (Florian Weimer) wrote:

    [BZ #22701]
    * include/rpcsvc/nislib.h (__nis_default_ttl): Add
    libnsl_hidden_proto.
    * include/rpcsvc/yp.h (yp_xdrall): Declare with
    libnsl_hidden_proto.
    * include/rpcsvc/ypclnt.h (yp_maplist): Likewise.
    * nis/Makefile (libnsl-routines): Add nss-default only for
    build-obsolete-nsl.
    * nis/nis_defaults.c (__nis_default_ttl): Add
    libnsl_hidden_nolink_def.
    * nis/rpcsvc/ypclnt.h (yp_maplist): Remove #ifdef'ed-out
    declaration.
    * nis/yp_xdr.c (xdr_ypall): Add libnsl_hidden_nolink_def.
    * nis/ypclnt.c (yp_maplist): Likewise.

Ok.

Dmitry, is it okay to sneak this into glibc 2.27?  The change is mostly cosmetic; the important change was not installing libnsl.so and libnsl.a, and that is already on master.


isn't this an internal abi break?

Not really, I think.

if i install glibc-2.27 on top of an earlier glibc install
without removing the previous libnss_nis.so.2, which references
_nsl_default_nss, then the new libnsl.so.1 will not have that
symbol so old libnss_nis.so.2 no longer works.

either i have to --enable-obsolete-nsl in the new libc or
remove the old libnss_nis.so.2 (and hope nothing needs it)
before i run the new ldconfig.

i thought 'installing over' previous libc is a valid use
(i do this when testing in chroot)

A similar thing happens if you install a glibc over another glibc with different build flags, e.g. one that is using AT_PLATFORM directories.

We can certainly revert the change and reapply it for 2.28, maybe this time with a change which loads the NSS modules with RTLD_NOW, so that the missing GLIBC_PRIVATE symbol is detected at dlopen time and the NSS module is ignored (at least for now).

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]