Correctly handle missing initgroups database
[platform/upstream/glibc.git] / shlib-versions
index 0884698..a7839de 100644 (file)
 # listed, which must be in ascending version order reading left to right
 # and must appear in this same order in the Versions.def file.  Each listed
 # version subsumes all prior versions back to the previous listed version.
+#
+# An entry with DEFAULT in the second column gives a default third column
+# to apply on matching configurations when the matching entry for a particular
+# library has no third column.  The defaults must precede the entries they
+# apply to.
+#
+# An entry with WORDSIZE* in the second column gives an alternate
+# configuration tuple whose macros will be conditionally defined in
+# gnu/lib-names.h; @CPU@, @VENDOR@, @OS@ can be used in the third
+# column to compose the alternate tuple matched against the patterns here.
+
+# Configuration                DEFAULT                 Earliest symbol set
+# -------------                ---------------         ------------------------------
+
+s390x-.*-linux.*        DEFAULT                        GLIBC_2.2
+cris-.*-linux.*                DEFAULT                 GLIBC_2.2
+x86_64-.*-linux.*       DEFAULT                        GLIBC_2.2.5
+powerpc64-.*-linux.*   DEFAULT                 GLIBC_2.3
+.*-.*-gnu-gnu.*                DEFAULT                 GLIBC_2.2.6
+
+# Configuration                WORDSIZE[32|64]         Alternate configuration
+# -------------                ----------              -----------------------
+x86_64-.*-.*           WORDSIZE32              i686-@VENDOR@-@OS@
+i.86-.*-.*             WORDSIZE64              x86_64-@VENDOR@-@OS@
+s390x-.*-.*            WORDSIZE32              s390-@VENDOR@-@OS@
+s390-.*-.*             WORDSIZE64              s390x-@VENDOR@-@OS@
+powerpc64-.*-.*                WORDSIZE32              powerpc-@VENDOR@-@OS@
+powerpc.*-.*-.*                WORDSIZE64              powerpc64-@VENDOR@-@OS@
+sparc64.*-.*-.*                WORDSIZE32              sparc-@VENDOR@-@OS@
+sparc.*-.*-.*          WORDSIZE64              sparc64-@VENDOR@-@OS@
+
+# Configuration                ABI                     Identifier for ABI data files
+# -------------                ----------              -----------------------------
+sparc64.*-.*-.*                ABI                     sparc64-@OS@
+sparc.*-.*-.*          ABI                     sparc-@OS@
 
 # Configuration                Library=version         Earliest symbol set (optional)
 # -------------                ---------------         ------------------------------
 
 # The interface to -lm depends mostly only on cpu, not on operating system.
-sparc64-.*-linux.*     libm=6                  GLIBC_2.2
+sparc64.*-.*-linux.*   libm=6                  GLIBC_2.2
 alpha.*-.*-linux.*     libm=6.1
-mips.*-.*-linux.*      libm=6                  GLIBC_2.0 GLIBC_2.2
 ia64-.*-linux.*                libm=6.1                GLIBC_2.2
 sh.*-.*-linux.*                libm=6                  GLIBC_2.2
-hppa.*-.*-.*           libm=6                  GLIBC_2.2
-s390x-.*-linux.*        libm=6                 GLIBC_2.2
-cris-.*-linux.*                libm=6                  GLIBC_2.2
 .*-.*-linux.*          libm=6
 .*-.*-gnu-gnu.*                libm=6
 
 # We provide libc.so.6 for Linux kernel versions 2.0 and later.
 alpha.*-.*-linux.*     libc=6.1
-# Working mips versions were never released between 2.0 and 2.2.
-mips.*-.*-linux.*      libc=6                  GLIBC_2.0 GLIBC_2.2
 ia64-.*-linux.*                libc=6.1                GLIBC_2.2
 sh.*-.*-linux.*                libc=6                  GLIBC_2.2
-sparc64-.*-linux.*     libc=6                  GLIBC_2.2
-hppa.*-.*-.*           libc=6                  GLIBC_2.2
-s390x-.*-linux.*       libc=6                  GLIBC_2.2
-cris-.*-linux.*                libc=6                  GLIBC_2.2
+sparc64.*-.*-linux.*   libc=6                  GLIBC_2.2
 .*-.*-linux.*          libc=6
 
 # libmachuser.so.1 corresponds to mach/*.defs as of Utah's UK22 release.
 .*-.*-gnu-gnu.*                libmachuser=1
 
-# libhurduser.so.0.0 corresponds to hurd/*.defs as of 7 May 1996.
-.*-.*-gnu-gnu.*                libhurduser=0.0
+# libhurduser.so.0.3 corresponds to hurd/*.defs as of 11 June 2002.
+.*-.*-gnu-gnu.*                libhurduser=0.3
 
-# libc.so.0.2 is for the Hurd alpha release 0.2.
-%ifdef USE_IN_LIBIO /* experimental only! */
-.*-.*-gnu-gnu.*                libc=0.2.90.libio       GLIBC_2.2
-%else
-.*-.*-gnu-gnu.*                libc=0.2
-%endif
+# libc.so.0.3 is the first Hurd libc using libio.
+.*-.*-gnu-gnu.*                libc=0.3
 
 # The dynamic loader also requires different names.
 i.86-.*-linux.*                ld=ld-linux.so.2
-sparc64-.*-linux.*     ld=ld-linux.so.2        GLIBC_2.2
+sparc64.*-.*-linux.*   ld=ld-linux.so.2        GLIBC_2.2
 sparc.*-.*-linux.*     ld=ld-linux.so.2
 alpha.*-.*-linux.*     ld=ld-linux.so.2
-arm.*-.*-linux.*       ld=ld-linux.so.2
 sh.*-.*-linux.*                ld=ld-linux.so.2        GLIBC_2.2
 ia64-.*-linux.*                ld=ld-linux-ia64.so.2   GLIBC_2.2
-mips.*-.*-linux.*      ld=ld.so.1              GLIBC_2.0 GLIBC_2.2
-hppa.*-.*-.*           ld=ld.so.1              GLIBC_2.2
 s390x-.*-linux.*       ld=ld64.so.1            GLIBC_2.2
+powerpc64.*-.*-linux.* ld=ld64.so.1            GLIBC_2.3
 cris-.*-linux.*                ld=ld.so.1              GLIBC_2.2
+x86_64-.*-linux.*      ld=ld-linux-x86-64.so.2 GLIBC_2.2.5
 # We use the ELF ABI standard name for the default.
 .*-.*-.*               ld=ld.so.1
 
 # The -ldl interface (see <dlfcn.h>) is the same on all platforms.
 alpha.*-.*-linux.*     libdl=2.1
-mips.*-.*-linux.*      libdl=2                 GLIBC_2.0 GLIBC_2.2
-s390x-.*-linux.*        libdl=2                        GLIBC_2.2
-cris-.*-linux.*                libdl=2                 GLIBC_2.2
 .*-.*-.*               libdl=2
 
 # So far the -lutil interface is the same on all platforms, except for the
 # `struct utmp' format, which depends on libc.
 alpha.*-.*-linux.*     libutil=1.1
-s390x-.*-linux.*        libutil=1              GLIBC_2.2
-cris-.*-linux.*                libutil=1               GLIBC_2.2
 .*-.*-.*               libutil=1
 
 # Version number 2 is used on other systems for the BIND 4.9.5 resolver
 # interface.
 alpha.*-.*-linux.*     libresolv=2.1
-mips.*-.*-linux.*      libresolv=2             GLIBC_2.0 GLIBC_2.2
 .*-.*-.*               libresolv=2
 
 # Interface revision of nss_* modules.  This must match NSS_SHLIB_REVISION
 # in nss/nsswitch.h, which determines the library names used for service
 # names given in /etc/nsswitch.conf.
-mips.*-.*-linux.*      libnss_files=2          GLIBC_2.0 GLIBC_2.2
-mips.*-.*-linux.*      libnss_dns=2            GLIBC_2.0 GLIBC_2.2
-mips.*-.*-linux.*      libnss_compat=2         GLIBC_2.0 GLIBC_2.2
-mips.*-.*-linux.*      libnss_nis=2            GLIBC_2.0 GLIBC_2.2
-mips.*-.*-linux.*      libnss_nisplus=2        GLIBC_2.0 GLIBC_2.2
-mips.*-.*-linux.*      libnss_ldap=2           GLIBC_2.0 GLIBC_2.2
-mips.*-.*-linux.*      libnss_hesiod=2         GLIBC_2.0 GLIBC_2.2
-s390x-.*-linux.*       libnss_files=2          GLIBC_2.2
-s390x-.*-linux.*       libnss_dns=2            GLIBC_2.2
-s390x-.*-linux.*       libnss_compat=2         GLIBC_2.2
-s390x-.*-linux.*       libnss_nis=2            GLIBC_2.2
-s390x-.*-linux.*       libnss_nisplus=2        GLIBC_2.2
-s390x-.*-linux.*       libnss_ldap=2           GLIBC_2.2
-s390x-.*-linux.*       libnss_hesiod=2         GLIBC_2.2
-cris-.*-linux.*                libnss_files=2          GLIBC_2.2
-cris-.*-linux.*                libnss_dns=2            GLIBC_2.2
-cris-.*-linux.*                libnss_compat=2         GLIBC_2.2
-cris-.*-linux.*                libnss_nis=2            GLIBC_2.2
-cris-.*-linux.*                libnss_nisplus=2        GLIBC_2.2
-cris-.*-linux.*                libnss_ldap=2           GLIBC_2.2
-cris-.*-linux.*                libnss_hesiod=2         GLIBC_2.2
 .*-.*-.*               libnss_files=2
 .*-.*-.*               libnss_dns=2
 .*-.*-.*               libnss_compat=2
@@ -119,34 +113,28 @@ cris-.*-linux.*           libnss_hesiod=2         GLIBC_2.2
 .*-.*-.*               libnss_nisplus=2
 .*-.*-.*               libnss_ldap=2
 .*-.*-.*               libnss_hesiod=2
+.*-.*-.*               libnss_db=2
+
+# Tests for NSS.  They must have the same NSS_SHLIB_REVISION number as
+# the rest.
+.*-.*-.*               libnss_test1=2
 
 # Version for libnsl with YP and NIS+ functions.
 alpha.*-.*-linux.*     libnsl=1.1
-mips.*-.*-linux.*      libnsl=1                GLIBC_2.0 GLIBC_2.2
-s390x-.*-linux.*       libnsl=1                GLIBC_2.2
-cris-.*-linux.*                libnsl=1                GLIBC_2.2
 .*-.*-.*               libnsl=1
 
 # This defines the shared library version numbers we will install.
 alpha.*-.*-linux.*     libcrypt=1.1
-s390x-.*-linux.*       libcrypt=1              GLIBC_2.2
-cris-.*-linux.*                libcrypt=1              GLIBC_2.2
 .*-.*-.*               libcrypt=1
 
 # The gross patch for programs assuming broken locale implementations.
 alpha.*-.*-linux.*     libBrokenLocale=1.1
 ia64-.*-.*             libBrokenLocale=1       GLIBC_2.2
 sh.*-.*-.*             libBrokenLocale=1       GLIBC_2.2
-sparc64-.*-.*          libBrokenLocale=1       GLIBC_2.2
-hppa-.*-.*             libBrokenLocale=1       GLIBC_2.2
-s390x-.*-linux.*       libBrokenLocale=1       GLIBC_2.2
-cris-.*-linux.*                libBrokenLocale=1       GLIBC_2.2
+sparc64.*-.*-.*                libBrokenLocale=1       GLIBC_2.2
 .*-.*-.*               libBrokenLocale=1
 
 # The real-time library from POSIX.1b.
-mips.*-.*-linux.*      librt=1                 GLIBC_2.0 GLIBC_2.2
-s390x-.*-linux.*       librt=1                 GLIBC_2.2
-cris-.*-linux.*                librt=1                 GLIBC_2.2
 .*-.*-.*               librt=1
 
 # The asynchronous name lookup library.