* sysdeps/unix/sysv/linux/configure.in
[glibc.git] / shlib-versions
blob15576eb16dd1bd701a7ec274760a663e655f3d89
1 # This file defines the shared library version numbers we will install.
3 # The following lines list filename patterns matching canonical configurations,
4 # and the associated versions to use for various libraries.  The entire
5 # list is processed, with earlier entries taking precedence over later
6 # entries.  So loose patterns at the end of the list can give defaults.
8 # This file can use cpp-style conditionals starting with % instead of #
9 # to test the symbols defined in config.h by configure.
11 # In the optional third column, there can one or more symbol set names
12 # listed, which must be in ascending version order reading left to right
13 # and must appear in this same order in the Versions.def file.  Each listed
14 # version subsumes all prior versions back to the previous listed version.
16 # An entry with DEFAULT in the second column gives a default third column
17 # to apply on matching configurations when the matching entry for a particular
18 # library has no third column.  The defaults must precede the entries they
19 # apply to.
21 # Configuration         DEFAULT                 Earliest symbol set
22 # -------------         ---------------         ------------------------------
24 s390x-.*-linux.*        DEFAULT                 GLIBC_2.2
25 cris-.*-linux.*         DEFAULT                 GLIBC_2.2
26 x86_64-.*-linux.*       DEFAULT                 GLIBC_2.2.5
27 %if defined(USE_IN_LIBIO) && !defined(GLIBC_OLDEST_ABI)
28 // If you use configure --enable-libio --enable-oldest-abi=2.0 then we
29 // won't rename the old version sets and all the libraries except libc
30 // itself ought to be binary compatible with the libc.so.0.2 ABI.
31 .*-.*-gnu-gnu.*         DEFAULT                 GLIBC_2.2.5
32 %endif
34 # Configuration         Library=version         Earliest symbol set (optional)
35 # -------------         ---------------         ------------------------------
37 # The interface to -lm depends mostly only on cpu, not on operating system.
38 sparc64-.*-linux.*      libm=6                  GLIBC_2.2
39 alpha.*-.*-linux.*      libm=6.1
40 mips.*-.*-linux.*       libm=6                  GLIBC_2.0 GLIBC_2.2
41 ia64-.*-linux.*         libm=6.1                GLIBC_2.2
42 sh.*-.*-linux.*         libm=6                  GLIBC_2.2
43 hppa.*-.*-.*            libm=6                  GLIBC_2.2
44 .*-.*-linux.*           libm=6
45 .*-.*-gnu-gnu.*         libm=6
47 # We provide libc.so.6 for Linux kernel versions 2.0 and later.
48 alpha.*-.*-linux.*      libc=6.1
49 # Working mips versions were never released between 2.0 and 2.2.
50 mips.*-.*-linux.*       libc=6                  GLIBC_2.0 GLIBC_2.2
51 ia64-.*-linux.*         libc=6.1                GLIBC_2.2
52 sh.*-.*-linux.*         libc=6                  GLIBC_2.2
53 sparc64-.*-linux.*      libc=6                  GLIBC_2.2
54 hppa.*-.*-.*            libc=6                  GLIBC_2.2
55 .*-.*-linux.*           libc=6
57 # libmachuser.so.1 corresponds to mach/*.defs as of Utah's UK22 release.
58 .*-.*-gnu-gnu.*         libmachuser=1
60 # libhurduser.so.0.0 corresponds to hurd/*.defs as of 7 May 1996.
61 .*-.*-gnu-gnu.*         libhurduser=0.0
63 %ifndef USE_IN_LIBIO
64 # libc.so.0.2 is for the Hurd alpha release 0.2.
65 .*-.*-gnu-gnu.*         libc=0.2
66 %else
67 # libc.so.0.3 is the first Hurd libc using libio.
68 .*-.*-gnu-gnu.*         libc=0.3
69 %endif
71 # The dynamic loader also requires different names.
72 i.86-.*-linux.*         ld=ld-linux.so.2
73 sparc64-.*-linux.*      ld=ld-linux.so.2        GLIBC_2.2
74 sparc.*-.*-linux.*      ld=ld-linux.so.2
75 alpha.*-.*-linux.*      ld=ld-linux.so.2
76 arm.*-.*-linux.*        ld=ld-linux.so.2
77 sh.*-.*-linux.*         ld=ld-linux.so.2        GLIBC_2.2
78 ia64-.*-linux.*         ld=ld-linux-ia64.so.2   GLIBC_2.2
79 mips.*-.*-linux.*       ld=ld.so.1              GLIBC_2.0 GLIBC_2.2
80 hppa.*-.*-.*            ld=ld.so.1              GLIBC_2.2
81 s390x-.*-linux.*        ld=ld64.so.1            GLIBC_2.2
82 cris-.*-linux.*         ld=ld.so.1              GLIBC_2.2
83 x86_64-.*-linux.*       ld=ld-linux-x86-64.so.2 GLIBC_2.2.5
84 # We use the ELF ABI standard name for the default.
85 .*-.*-.*                ld=ld.so.1
87 # The -ldl interface (see <dlfcn.h>) is the same on all platforms.
88 alpha.*-.*-linux.*      libdl=2.1
89 mips.*-.*-linux.*       libdl=2                 GLIBC_2.0 GLIBC_2.2
90 .*-.*-.*                libdl=2
92 # So far the -lutil interface is the same on all platforms, except for the
93 # `struct utmp' format, which depends on libc.
94 alpha.*-.*-linux.*      libutil=1.1
95 .*-.*-.*                libutil=1
97 # Version number 2 is used on other systems for the BIND 4.9.5 resolver
98 # interface.
99 alpha.*-.*-linux.*      libresolv=2.1
100 mips.*-.*-linux.*       libresolv=2             GLIBC_2.0 GLIBC_2.2
101 .*-.*-.*                libresolv=2
103 # Interface revision of nss_* modules.  This must match NSS_SHLIB_REVISION
104 # in nss/nsswitch.h, which determines the library names used for service
105 # names given in /etc/nsswitch.conf.
106 mips.*-.*-linux.*       libnss_files=2          GLIBC_2.0 GLIBC_2.2
107 mips.*-.*-linux.*       libnss_dns=2            GLIBC_2.0 GLIBC_2.2
108 mips.*-.*-linux.*       libnss_compat=2         GLIBC_2.0 GLIBC_2.2
109 mips.*-.*-linux.*       libnss_nis=2            GLIBC_2.0 GLIBC_2.2
110 mips.*-.*-linux.*       libnss_nisplus=2        GLIBC_2.0 GLIBC_2.2
111 mips.*-.*-linux.*       libnss_ldap=2           GLIBC_2.0 GLIBC_2.2
112 mips.*-.*-linux.*       libnss_hesiod=2         GLIBC_2.0 GLIBC_2.2
113 .*-.*-.*                libnss_files=2
114 .*-.*-.*                libnss_dns=2
115 .*-.*-.*                libnss_compat=2
116 .*-.*-.*                libnss_nis=2
117 .*-.*-.*                libnss_nisplus=2
118 .*-.*-.*                libnss_ldap=2
119 .*-.*-.*                libnss_hesiod=2
121 # Version for libnsl with YP and NIS+ functions.
122 alpha.*-.*-linux.*      libnsl=1.1
123 mips.*-.*-linux.*       libnsl=1                GLIBC_2.0 GLIBC_2.2
124 .*-.*-.*                libnsl=1
126 # This defines the shared library version numbers we will install.
127 alpha.*-.*-linux.*      libcrypt=1.1
128 .*-.*-.*                libcrypt=1
130 # The gross patch for programs assuming broken locale implementations.
131 alpha.*-.*-linux.*      libBrokenLocale=1.1
132 ia64-.*-.*              libBrokenLocale=1       GLIBC_2.2
133 sh.*-.*-.*              libBrokenLocale=1       GLIBC_2.2
134 sparc64-.*-.*           libBrokenLocale=1       GLIBC_2.2
135 hppa-.*-.*              libBrokenLocale=1       GLIBC_2.2
136 .*-.*-.*                libBrokenLocale=1
138 # The real-time library from POSIX.1b.
139 mips.*-.*-linux.*       librt=1                 GLIBC_2.0 GLIBC_2.2
140 .*-.*-.*                librt=1
142 # The asynchronous name lookup library.
143 .*-.*-.*                libanl=1