about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-09-12 12:22:27 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-09-12 12:22:27 +0000
commitdc932a24d91eb13c570e82e12f7aba049431dc37 (patch)
tree8258e02b4e2c2d2e72f907d2418c8af8286b8c6b
parent0bd72468030947254e7de183cac1014dac884475 (diff)
downloadglibc-dc932a24d91eb13c570e82e12f7aba049431dc37.tar.gz
glibc-dc932a24d91eb13c570e82e12f7aba049431dc37.tar.xz
glibc-dc932a24d91eb13c570e82e12f7aba049431dc37.zip
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.
-rw-r--r--ChangeLog10
-rw-r--r--nptl/shlib-versions5
-rw-r--r--shlib-versions13
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions2
-rw-r--r--sysdeps/unix/sysv/linux/sh/shlib-versions5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions5
8 files changed, 27 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index b84d7097d6..6cd6c6873e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
 
+	* 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.
+
 	* sysdeps/gnu/netinet/udp.h (UDP_NO_CHECK6_TX): New macro.
 	(UDP_NO_CHECK6_RX): Likewise.
 
diff --git a/nptl/shlib-versions b/nptl/shlib-versions
index f6b9b9ae66..f2cc32d235 100644
--- a/nptl/shlib-versions
+++ b/nptl/shlib-versions
@@ -1,6 +1 @@
-sparc64.*-.*-linux.*	libpthread=0		GLIBC_2.2
-sh.*-.*-linux.*		libpthread=0		GLIBC_2.2
-s390x-.*-linux.*	libpthread=0		GLIBC_2.2
-powerpc64-.*-linux.*	libpthread=0		GLIBC_2.3
-powerpc.*le-.*-linux.*	libpthread=0		GLIBC_2.17
 .*-.*-linux.*		libpthread=0
diff --git a/shlib-versions b/shlib-versions
index 40469bdaae..860fb94133 100644
--- a/shlib-versions
+++ b/shlib-versions
@@ -21,23 +21,16 @@
 # Configuration		DEFAULT			Earliest symbol set
 # -------------		---------------		------------------------------
 
-s390x-.*-linux.*        DEFAULT			GLIBC_2.2
-powerpc64-.*-linux.*	DEFAULT			GLIBC_2.3
-powerpc.*le-.*-linux.*	DEFAULT			GLIBC_2.17
 .*-.*-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.
-sparc64.*-.*-linux.*	libm=6			GLIBC_2.2
-sh.*-.*-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.
-sh.*-.*-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.
@@ -49,10 +42,6 @@ sparc64.*-.*-linux.*	libc=6			GLIBC_2.2
 # libc.so.0.3 is the first Hurd libc using libio.
 .*-.*-gnu-gnu.*		libc=0.3
 
-# The dynamic loader also requires different names.
-sparc64.*-.*-linux.*	ld=ld-linux.so.2	GLIBC_2.2
-sparc.*-.*-linux.*	ld=ld-linux.so.2
-sh.*-.*-linux.*		ld=ld-linux.so.2	GLIBC_2.2
 # We use the ELF ABI standard name for the default.
 .*-.*-.*		ld=ld.so.1
 
@@ -90,8 +79,6 @@ sh.*-.*-linux.*		ld=ld-linux.so.2	GLIBC_2.2
 .*-.*-.*		libcrypt=1
 
 # The gross patch for programs assuming broken locale implementations.
-sh.*-.*-.*		libBrokenLocale=1	GLIBC_2.2
-sparc64.*-.*-.*		libBrokenLocale=1	GLIBC_2.2
 .*-.*-.*		libBrokenLocale=1
 
 # The real-time library from POSIX.1b.
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
new file mode 100644
index 0000000000..f6480238c5
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
@@ -0,0 +1,4 @@
+powerpc64-.*-linux.*	DEFAULT			GLIBC_2.3
+powerpc.*le-.*-linux.*	DEFAULT			GLIBC_2.17
+powerpc64-.*-linux.*	libpthread=0		GLIBC_2.3
+powerpc.*le-.*-linux.*	libpthread=0		GLIBC_2.17
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions b/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions
new file mode 100644
index 0000000000..cab0c0b2fa
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions
@@ -0,0 +1,2 @@
+s390x-.*-linux.*        DEFAULT			GLIBC_2.2
+s390x-.*-linux.*	libpthread=0		GLIBC_2.2
diff --git a/sysdeps/unix/sysv/linux/sh/shlib-versions b/sysdeps/unix/sysv/linux/sh/shlib-versions
new file mode 100644
index 0000000000..c376fe8011
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sh/shlib-versions
@@ -0,0 +1,5 @@
+sh.*-.*-linux.*		libm=6			GLIBC_2.2
+sh.*-.*-linux.*		libc=6			GLIBC_2.2
+sh.*-.*-linux.*		ld=ld-linux.so.2	GLIBC_2.2
+sh.*-.*-.*		libBrokenLocale=1	GLIBC_2.2
+sh.*-.*-linux.*		libpthread=0		GLIBC_2.2
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions b/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions
new file mode 100644
index 0000000000..26ca1f4858
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions
@@ -0,0 +1 @@
+sparc.*-.*-linux.*	ld=ld-linux.so.2
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions b/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions
new file mode 100644
index 0000000000..58d2c241ed
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions
@@ -0,0 +1,5 @@
+sparc64.*-.*-linux.*	libm=6			GLIBC_2.2
+sparc64.*-.*-linux.*	libc=6			GLIBC_2.2
+sparc64.*-.*-linux.*	ld=ld-linux.so.2	GLIBC_2.2
+sparc64.*-.*-.*		libBrokenLocale=1	GLIBC_2.2
+sparc64.*-.*-linux.*	libpthread=0		GLIBC_2.2