about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-07-17 14:31:12 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-07-17 14:31:12 +0000
commit29c4f53e2a3d25290afd16baf38c05f0351eacb5 (patch)
treeb4aef3acdbb26606810ce9ecd0fd1cd42884da3c
parent57977c4bf379c7f0b3dcf8b9a97a76214bfdf677 (diff)
downloadglibc-29c4f53e2a3d25290afd16baf38c05f0351eacb5.tar.gz
glibc-29c4f53e2a3d25290afd16baf38c05f0351eacb5.tar.xz
glibc-29c4f53e2a3d25290afd16baf38c05f0351eacb5.zip
Move architecture shlib-versions files to Linux-specific directories.
Various architectures have files such as sysdeps/<arch>/shlib-versions
whose contents are in fact entirely Linux-specific, relating only to
the symbol / shared library versions for the port to Linux on that
architecture, when any future port to a different OS on that
architecture would use the symbol version of the glibc release it goes
in, as standard for new ports.

This patch moves such files under sysdeps/unix/sysv/linux/, merging in
the contents of sysdeps/<arch>/nptl/shlib-versions in the process.
The only bits not moved are those relating to libgcc_s versions, which
don't appear OS-specific in the same way that glibc's symbol versions
so.  It deliberately does not change the regular expressions given for
matching configurations in each file; some match only Linux although
not Linux-specific, or match other OSes although Linux-specific.  It
is with a view to at least the following further cleanups:

* Move architecture-specific content from the toplevel shlib-versions
  and nptl/shlib-versions into sysdeps shlib-versions files, so
  eliminating another difference between ex-ports and non-ex-ports
  architectures.

* Likewise, for OS-specific content in shlib-versions files.

* At that point, the first field in shlib-versions files (the regular
  expression matching a configuration triplet) should be redundant, so
  eliminate that field and leave shlib-versions selection working
  purely on a sysdeps basis (with limited use of %ifdef in
  shlib-versions files when needed) rather than having its own
  separate mechanism to select what configuration information is
  relevant.

* Move the build of gnu/lib-names.h to a similar mechanism to that
  used for gnu/stubs.h (each library build installing a version of the
  header specifically for that build), so we can eliminate the
  duplication of soname information in the makefiles and get it purely
  from shlib-versions files again.

There may be other cleanups possible as well (in particular, I'm not
sure that all cases where the same "Earliest symbol set" information
is repeated for many different libraries actually should need to
repeat it rather than specifying it just once for DEFAULT for the
given configuration, and separately specifying any non-default choices
of soname).

Tested x86_64 that the installed shared libraries are unchanged by
this patch.

	* sysdeps/aarch64/shlib-versions: Move to ...
	* sysdeps/unix/sysv/linux/aarch64/shlib-versions: ... here.
	* sysdeps/alpha/shlib-versions: Move to ...
	* sysdeps/unix/sysv/linux/alpha/shlib-versions: ... here.
	* sysdeps/arm/shlib-versions: Move to ...
	* sysdeps/unix/sysv/linux/arm/shlib-versions: ... here.
	* sysdeps/hppa/shlib-versions: Move all contents except for
	libgcc_s entry to ...
	* sysdeps/unix/sysv/linux/hppa/shlib-versions: ... here.  Merge in
	entry from ...
	* sysdeps/hppa/nptl/shlib-versions: ... here.  Remove file.
	* sysdeps/ia64/shlib-versions: Move to ...
	* sysdeps/unix/sysv/linux/ia64/shlib-versions: ... here.  Merge in
	entry from ...
	* sysdeps/ia64/nptl/shlib-versions: ... here.  Remove file.
	* sysdeps/m68k/coldfire/shlib-versions: Move to ...
	* sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: ... here.
	* sysdeps/microblaze/shlib-versions: Move to ...
	* sysdeps/unix/sysv/linux/microblaze/shlib-versions: ... here.
	* sysdeps/mips/shlib-versions: Move to ...
	* sysdeps/unix/sysv/linux/mips/shlib-versions: ... here.  Merge in
	entry from ...
	* sysdeps/mips/nptl/shlib-versions: ... here.  Remove file.
	* sysdeps/tile/shlib-versions: Move to ...
	* sysdeps/unix/sysv/linux/tile/shlib-versions: ... here.
	* sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Merge in entry
	from ...
	* sysdeps/x86_64/64/shlib-versions: ... here.  Remove file.
	* sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Merge in
	entry from ...
	* sysdeps/x86_64/x32/shlib-versions: ... here.  Remove file.
-rw-r--r--ChangeLog34
-rw-r--r--sysdeps/hppa/nptl/shlib-versions1
-rw-r--r--sysdeps/hppa/shlib-versions8
-rw-r--r--sysdeps/ia64/nptl/shlib-versions1
-rw-r--r--sysdeps/mips/nptl/shlib-versions1
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/shlib-versions (renamed from sysdeps/aarch64/shlib-versions)0
-rw-r--r--sysdeps/unix/sysv/linux/alpha/shlib-versions (renamed from sysdeps/alpha/shlib-versions)0
-rw-r--r--sysdeps/unix/sysv/linux/arm/shlib-versions (renamed from sysdeps/arm/shlib-versions)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/shlib-versions9
-rw-r--r--sysdeps/unix/sysv/linux/ia64/shlib-versions (renamed from sysdeps/ia64/shlib-versions)2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions (renamed from sysdeps/m68k/coldfire/shlib-versions)0
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/shlib-versions (renamed from sysdeps/microblaze/shlib-versions)0
-rw-r--r--sysdeps/unix/sysv/linux/mips/shlib-versions (renamed from sysdeps/mips/shlib-versions)2
-rw-r--r--sysdeps/unix/sysv/linux/tile/shlib-versions (renamed from sysdeps/tile/shlib-versions)0
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/shlib-versions1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions1
-rw-r--r--sysdeps/x86_64/64/shlib-versions3
-rw-r--r--sysdeps/x86_64/x32/shlib-versions3
18 files changed, 49 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 3c0b5aeb5c..d2bc3084bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+2014-07-17  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/aarch64/shlib-versions: Move to ...
+	* sysdeps/unix/sysv/linux/aarch64/shlib-versions: ... here.
+	* sysdeps/alpha/shlib-versions: Move to ...
+	* sysdeps/unix/sysv/linux/alpha/shlib-versions: ... here.
+	* sysdeps/arm/shlib-versions: Move to ...
+	* sysdeps/unix/sysv/linux/arm/shlib-versions: ... here.
+	* sysdeps/hppa/shlib-versions: Move all contents except for
+	libgcc_s entry to ...
+	* sysdeps/unix/sysv/linux/hppa/shlib-versions: ... here.  Merge in
+	entry from ...
+	* sysdeps/hppa/nptl/shlib-versions: ... here.  Remove file.
+	* sysdeps/ia64/shlib-versions: Move to ...
+	* sysdeps/unix/sysv/linux/ia64/shlib-versions: ... here.  Merge in
+	entry from ...
+	* sysdeps/ia64/nptl/shlib-versions: ... here.  Remove file.
+	* sysdeps/m68k/coldfire/shlib-versions: Move to ...
+	* sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: ... here.
+	* sysdeps/microblaze/shlib-versions: Move to ...
+	* sysdeps/unix/sysv/linux/microblaze/shlib-versions: ... here.
+	* sysdeps/mips/shlib-versions: Move to ...
+	* sysdeps/unix/sysv/linux/mips/shlib-versions: ... here.  Merge in
+	entry from ...
+	* sysdeps/mips/nptl/shlib-versions: ... here.  Remove file.
+	* sysdeps/tile/shlib-versions: Move to ...
+	* sysdeps/unix/sysv/linux/tile/shlib-versions: ... here.
+	* sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Merge in entry
+	from ...
+	* sysdeps/x86_64/64/shlib-versions: ... here.  Remove file.
+	* sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Merge in
+	entry from ...
+	* sysdeps/x86_64/x32/shlib-versions: ... here.  Remove file.
+
 2014-07-17  Will Newton  <will.newton@linaro.org>
 
 	* sysdeps/arm/bits/atomic.h
diff --git a/sysdeps/hppa/nptl/shlib-versions b/sysdeps/hppa/nptl/shlib-versions
deleted file mode 100644
index adc26364b1..0000000000
--- a/sysdeps/hppa/nptl/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@
-hppa.*-.*-linux.*      libpthread=0            GLIBC_2.2
diff --git a/sysdeps/hppa/shlib-versions b/sysdeps/hppa/shlib-versions
index 6b9225c925..ae3a3f195f 100644
--- a/sysdeps/hppa/shlib-versions
+++ b/sysdeps/hppa/shlib-versions
@@ -1,9 +1 @@
-hppa.*-.*-.*		libm=6			GLIBC_2.2
-
-hppa.*-.*-.*		libc=6			GLIBC_2.2
-
-hppa.*-.*-.*		ld=ld.so.1		GLIBC_2.2
-
-hppa-.*-.*		libBrokenLocale=1	GLIBC_2.2
-
 hppa.*-.*-.*		libgcc_s=4
diff --git a/sysdeps/ia64/nptl/shlib-versions b/sysdeps/ia64/nptl/shlib-versions
deleted file mode 100644
index 90015eb151..0000000000
--- a/sysdeps/ia64/nptl/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@
-ia64.*-.*-linux.*	libpthread=0		GLIBC_2.2
diff --git a/sysdeps/mips/nptl/shlib-versions b/sysdeps/mips/nptl/shlib-versions
deleted file mode 100644
index 97e41aa904..0000000000
--- a/sysdeps/mips/nptl/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@
-mips.*-.*-linux.*	libpthread=0		GLIBC_2.0 GLIBC_2.2
diff --git a/sysdeps/aarch64/shlib-versions b/sysdeps/unix/sysv/linux/aarch64/shlib-versions
index 67f19119aa..67f19119aa 100644
--- a/sysdeps/aarch64/shlib-versions
+++ b/sysdeps/unix/sysv/linux/aarch64/shlib-versions
diff --git a/sysdeps/alpha/shlib-versions b/sysdeps/unix/sysv/linux/alpha/shlib-versions
index cd4b9af78d..cd4b9af78d 100644
--- a/sysdeps/alpha/shlib-versions
+++ b/sysdeps/unix/sysv/linux/alpha/shlib-versions
diff --git a/sysdeps/arm/shlib-versions b/sysdeps/unix/sysv/linux/arm/shlib-versions
index 1ac597abbb..1ac597abbb 100644
--- a/sysdeps/arm/shlib-versions
+++ b/sysdeps/unix/sysv/linux/arm/shlib-versions
diff --git a/sysdeps/unix/sysv/linux/hppa/shlib-versions b/sysdeps/unix/sysv/linux/hppa/shlib-versions
new file mode 100644
index 0000000000..ee46e4ab00
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/hppa/shlib-versions
@@ -0,0 +1,9 @@
+hppa.*-.*-.*		libm=6			GLIBC_2.2
+
+hppa.*-.*-.*		libc=6			GLIBC_2.2
+
+hppa.*-.*-.*		ld=ld.so.1		GLIBC_2.2
+
+hppa-.*-.*		libBrokenLocale=1	GLIBC_2.2
+
+hppa.*-.*-linux.*	libpthread=0		GLIBC_2.2
diff --git a/sysdeps/ia64/shlib-versions b/sysdeps/unix/sysv/linux/ia64/shlib-versions
index b41f6c2aa3..c8e1482892 100644
--- a/sysdeps/ia64/shlib-versions
+++ b/sysdeps/unix/sysv/linux/ia64/shlib-versions
@@ -4,3 +4,5 @@ ia64-.*-linux.*		libm=6.1		GLIBC_2.2
 ia64-.*-linux.*		ld=ld-linux-ia64.so.2	GLIBC_2.2
 
 ia64-.*-.*		libBrokenLocale=1	GLIBC_2.2
+
+ia64.*-.*-linux.*	libpthread=0		GLIBC_2.2
diff --git a/sysdeps/m68k/coldfire/shlib-versions b/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions
index f4c68b2a51..f4c68b2a51 100644
--- a/sysdeps/m68k/coldfire/shlib-versions
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions
diff --git a/sysdeps/microblaze/shlib-versions b/sysdeps/unix/sysv/linux/microblaze/shlib-versions
index 6ec43db15b..6ec43db15b 100644
--- a/sysdeps/microblaze/shlib-versions
+++ b/sysdeps/unix/sysv/linux/microblaze/shlib-versions
diff --git a/sysdeps/mips/shlib-versions b/sysdeps/unix/sysv/linux/mips/shlib-versions
index b153732c27..d1414ede64 100644
--- a/sysdeps/mips/shlib-versions
+++ b/sysdeps/unix/sysv/linux/mips/shlib-versions
@@ -23,3 +23,5 @@ mips.*-.*-linux.*	libnss_hesiod=2		GLIBC_2.0 GLIBC_2.2
 mips.*-.*-linux.*	libnsl=1		GLIBC_2.0 GLIBC_2.2
 
 mips.*-.*-linux.*	librt=1			GLIBC_2.0 GLIBC_2.2
+
+mips.*-.*-linux.*	libpthread=0		GLIBC_2.0 GLIBC_2.2
diff --git a/sysdeps/tile/shlib-versions b/sysdeps/unix/sysv/linux/tile/shlib-versions
index f50868ff64..f50868ff64 100644
--- a/sysdeps/tile/shlib-versions
+++ b/sysdeps/unix/sysv/linux/tile/shlib-versions
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions b/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions
index 5093c4c18b..90ea1b79af 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions
+++ b/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions
@@ -1,3 +1,4 @@
 # Configuration		DEFAULT			Earliest symbol set
 # -------------		---------------		------------------------------
+x86_64-.*-linux.*	DEFAULT			GLIBC_2.2.5
 x86_64-.*-linux.*	libpthread=0		GLIBC_2.2.5
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions b/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions
index 8fcad2e566..8dd73e487d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions
@@ -1,3 +1,4 @@
 # Configuration		DEFAULT			Earliest symbol set
 # -------------		---------------		------------------------------
+x86_64-.*-linux.*	DEFAULT			GLIBC_2.16
 x86_64-.*-linux.*	libpthread=0		GLIBC_2.16
diff --git a/sysdeps/x86_64/64/shlib-versions b/sysdeps/x86_64/64/shlib-versions
deleted file mode 100644
index 50dd908403..0000000000
--- a/sysdeps/x86_64/64/shlib-versions
+++ /dev/null
@@ -1,3 +0,0 @@
-# Configuration		DEFAULT			Earliest symbol set
-# -------------		---------------		------------------------------
-x86_64-.*-linux.*	DEFAULT			GLIBC_2.2.5
diff --git a/sysdeps/x86_64/x32/shlib-versions b/sysdeps/x86_64/x32/shlib-versions
deleted file mode 100644
index 223dfb65b6..0000000000
--- a/sysdeps/x86_64/x32/shlib-versions
+++ /dev/null
@@ -1,3 +0,0 @@
-# Configuration		DEFAULT			Earliest symbol set
-# -------------		---------------		------------------------------
-x86_64-.*-linux.*	DEFAULT			GLIBC_2.16