aboutsummaryrefslogtreecommitdiff
path: root/shlib-versions
blob: 58e923e7175eafa4ff00ec8528cf7da2e5925ab2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# This file defines the shared library version numbers we will install.

# The following lines list filename patterns matching canonical configurations,
# and the associated versions to use for various libraries.  The entire
# list is processed, with earlier entries taking precedence over later
# entries.  So loose patterns at the end of the list can give defaults.

# This file can use cpp-style conditionals starting with % instead of #
# to test the symbols defined in config.h by configure.

# In the optional third column, there can one or more symbol set names
# 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		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
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
.*-.*-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
.*-.*-linux.*		libc=6

# libmachuser.so.1 corresponds to mach/*.defs as of Utah's UK22 release.
.*-.*-gnu-gnu.*		libmachuser=1

# libhurduser.so.0.3 corresponds to hurd/*.defs as of 11 June 2002.
.*-.*-gnu-gnu.*		libhurduser=0.3

# 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
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
.*-.*-.*		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
.*-.*-.*		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
.*-.*-.*		libnss_files=2
.*-.*-.*		libnss_dns=2
.*-.*-.*		libnss_compat=2
.*-.*-.*		libnss_nis=2
.*-.*-.*		libnss_nisplus=2
.*-.*-.*		libnss_ldap=2
.*-.*-.*		libnss_hesiod=2

# Version for libnsl with YP and NIS+ functions.
alpha.*-.*-linux.*	libnsl=1.1
mips.*-.*-linux.*	libnsl=1		GLIBC_2.0 GLIBC_2.2
.*-.*-.*		libnsl=1

# This defines the shared library version numbers we will install.
alpha.*-.*-linux.*	libcrypt=1.1
.*-.*-.*		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
.*-.*-.*		libBrokenLocale=1

# The real-time library from POSIX.1b.
mips.*-.*-linux.*	librt=1			GLIBC_2.0 GLIBC_2.2
.*-.*-.*		librt=1

# The asynchronous name lookup library.
.*-.*-.*		libanl=1