Remove shlib-versions ABI names support

Message ID Pine.LNX.4.64.1406271740520.28147@digraph.polyomino.org.uk
State Committed
Headers

Commit Message

Joseph Myers June 27, 2014, 5:42 p.m. UTC
  shlib-versions files can contain ABI lines that map triplets to a
canonical ABI name.  This name was once used for various purposes
where test baseline files for different ABIs went in a single
directory; now these purposes use sysdeps files, generation of headers
which have per-ABI variants uses abi-variants and related Makefile
variables and the shlib-versions ABI names are unused.  This patch
duly removes those lines and associated build system support for them.

Tested for x86_64 (both a full testsuite run and confirming the
installed shared libraries are unchanged by the patch).

2014-06-27  Joseph Myers  <joseph@codesourcery.com>

	* Makeconfig ($(common-objpfx)soversions.mk): Do not generate
	abi-name definition.
	* scripts/soversions.awk: Do not handle or generate ABI lines.
	* shlib-versions: Remove ABI entries.
	* sysdeps/powerpc/nofpu/shlib-versions: Remove file.
	* sysdeps/x86_64/x32/shlib-versions: Remove ABI entry.
  

Comments

Carlos O'Donell June 27, 2014, 6:03 p.m. UTC | #1
On 06/27/2014 01:42 PM, Joseph S. Myers wrote:
> shlib-versions files can contain ABI lines that map triplets to a
> canonical ABI name.  This name was once used for various purposes
> where test baseline files for different ABIs went in a single
> directory; now these purposes use sysdeps files, generation of headers
> which have per-ABI variants uses abi-variants and related Makefile
> variables and the shlib-versions ABI names are unused.  This patch
> duly removes those lines and associated build system support for them.
> 
> Tested for x86_64 (both a full testsuite run and confirming the
> installed shared libraries are unchanged by the patch).
> 
> 2014-06-27  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* Makeconfig ($(common-objpfx)soversions.mk): Do not generate
> 	abi-name definition.
> 	* scripts/soversions.awk: Do not handle or generate ABI lines.
> 	* shlib-versions: Remove ABI entries.
> 	* sysdeps/powerpc/nofpu/shlib-versions: Remove file.
> 	* sysdeps/x86_64/x32/shlib-versions: Remove ABI entry.

Looks good to me.

I was wondering if ABI could be used for anything outside of
the tree but I can't think of any immediate use. Such users should
propose patches for master if such users exist.

Cheers,
Carlos.
  
Roland McGrath June 27, 2014, 8:05 p.m. UTC | #2
Fine.
  

Patch

diff --git a/Makeconfig b/Makeconfig
index e07823f..cef0f06 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -972,7 +972,6 @@  $(common-objpfx)soversions.i: $(..)scripts/soversions.awk \
 $(common-objpfx)soversions.mk: $(common-objpfx)soversions.i $(..)Makeconfig
 	(while read which lib number setname; do \
 	   eval seen_$$which=1; \
-	   test x"$$which" != xABI || echo abi-name = "$$lib"; \
 	   test x"$$which" = xDEFAULT || continue; \
 	   case $$number in \
 	     [0-9]*) echo "$$lib.so-version=.$$number"; \
diff --git a/scripts/soversions.awk b/scripts/soversions.awk
index dc8afdc..adba155 100644
--- a/scripts/soversions.awk
+++ b/scripts/soversions.awk
@@ -7,16 +7,6 @@  BEGIN {
 
 { thiscf = $1 }
 
-$2 == "ABI" {
-  if ((config ~ thiscf) && !abiname) {
-    abiname = $3;
-    sub(/@CPU@/, cpu, abiname);
-    sub(/@VENDOR@/, vendor, abiname);
-    sub(/@OS@/, os, abiname);
-  }
-  next;
-}
-
 # Obey the first matching DEFAULT line.
 $2 == "DEFAULT" {
   $1 = $2 = "";
@@ -65,9 +55,6 @@  END {
 	}
       }
   }
-  if (abiname) {
-    print "ABI", abiname
-  }
   for (c in lines) {
     print lines[c]
   }
diff --git a/shlib-versions b/shlib-versions
index 78b0ad7..40469bd 100644
--- a/shlib-versions
+++ b/shlib-versions
@@ -26,11 +26,6 @@  powerpc64-.*-linux.*	DEFAULT			GLIBC_2.3
 powerpc.*le-.*-linux.*	DEFAULT			GLIBC_2.17
 .*-.*-gnu-gnu.*		DEFAULT			GLIBC_2.2.6
 
-# Configuration		ABI			Identifier for ABI data files
-# -------------		----------		-----------------------------
-sparc64.*-.*-.*		ABI			sparc64-@OS@
-sparc.*-.*-.*		ABI			sparc-@OS@
-
 # Configuration		Library=version		Earliest symbol set (optional)
 # -------------		---------------		------------------------------
 
diff --git a/sysdeps/powerpc/nofpu/shlib-versions b/sysdeps/powerpc/nofpu/shlib-versions
deleted file mode 100644
index 72085dd..0000000
--- a/sysdeps/powerpc/nofpu/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@ 
-powerpc.*-.*-.*		ABI			powerpcsoft-@OS@
diff --git a/sysdeps/x86_64/x32/shlib-versions b/sysdeps/x86_64/x32/shlib-versions
index ae3979b..223dfb6 100644
--- a/sysdeps/x86_64/x32/shlib-versions
+++ b/sysdeps/x86_64/x32/shlib-versions
@@ -1,7 +1,3 @@ 
 # Configuration		DEFAULT			Earliest symbol set
 # -------------		---------------		------------------------------
 x86_64-.*-linux.*	DEFAULT			GLIBC_2.16
-
-# Configuration		ABI			Identifier for ABI data files
-# -------------		----------		-----------------------------
-x86_64-.*-.*		ABI			x32-@OS@