glibc/shlib-versions
Joseph Myers dc932a24d9 Move architecture-specific shlib-versions entries to sysdeps files.
This patch eliminates another way in which ex-ports and non-ex-ports
architectures differ, by moving architecture-specific entries from the
top-level shlib-versions file and that in nptl/ to appropriate sysdeps
directories.  As with my previous patch
<https://sourceware.org/ml/libc-alpha/2014-06/msg00949.html>, I do not
change the regular expressions used; even where the present
expressions seem more general, I believe they are in fact specific to
the chosen sysdeps directory, because any port that matches the
expression but not the sysdeps directory does not currently exist, and
so would use different symbol versions if added in future (and an
intended goal of these changes is to eliminate the first column in
shlib-versions completely rather than having two different mechanisms
in use for system-specific configuration).

Tested on x86_64 that this does not change the installed shared
libraries.  (x86_64 of course does not provide much test coverage for
this patch - what should be architecture-specific contents in
shlib-versions for x86_64 is currently abi-*-ld-soname Makefile
settings, until gnu/lib-names.h is generated more like gnu/stubs.h so
those can move back to shlib-versions.)

	* nptl/shlib-versions: Remove architecture-specific entries.
	Moved to files in sysdeps.
	* shlib-versions: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions: New
	file.
	* sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions: Likewise.
	* sysdeps/unix/sysv/linux/sh/shlib-versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions: Likewise.
2014-09-12 12:22:27 +00:00

93 lines
3.2 KiB
Plaintext

# 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.
#
# Configuration DEFAULT Earliest symbol set
# ------------- --------------- ------------------------------
.*-.*-gnu-gnu.* DEFAULT GLIBC_2.2.6
# Configuration Library=version Earliest symbol set (optional)
# ------------- --------------- ------------------------------
# The interface to -lm depends mostly only on cpu, not on operating system.
.*-.*-linux.* libm=6
.*-.*-gnu-gnu.* libm=6
# We provide libc.so.6 for Linux kernel versions 2.0 and later.
.*-.*-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
# 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.
.*-.*-.* libdl=2
# So far the -lutil interface is the same on all platforms, except for the
# `struct utmp' format, which depends on libc.
.*-.*-.* libutil=1
# Version number 2 is used on other systems for the BIND 4.9.5 resolver
# interface.
.*-.*-.* 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.
.*-.*-.* libnss_files=2
.*-.*-.* libnss_dns=2
.*-.*-.* libnss_compat=2
.*-.*-.* libnss_nis=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.
.*-.*-.* libnsl=1
# This defines the shared library version numbers we will install.
.*-.*-.* libcrypt=1
# The gross patch for programs assuming broken locale implementations.
.*-.*-.* libBrokenLocale=1
# The real-time library from POSIX.1b.
.*-.*-.* librt=1
# The asynchronous name lookup library.
.*-.*-.* libanl=1
# This defines the libgcc soname version this glibc is to load for
# asynchronous cancellation to work correctly.
.*-.*-.* libgcc_s=1