packages: gcc/gcc.spec, gcc/gcc-symvers.patch - don't remove symvers entire...

baggins baggins at pld-linux.org
Mon Jun 18 11:30:40 CEST 2012


Author: baggins                      Date: Mon Jun 18 09:30:40 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- don't remove symvers entirely, put it under bcond if we ever decide to try again

---- Files affected:
packages/gcc:
   gcc.spec (1.695 -> 1.696) , gcc-symvers.patch (1.2 -> 1.3) 

---- Diffs:

================================================================
Index: packages/gcc/gcc.spec
diff -u packages/gcc/gcc.spec:1.695 packages/gcc/gcc.spec:1.696
--- packages/gcc/gcc.spec:1.695	Mon Jun 18 11:14:31 2012
+++ packages/gcc/gcc.spec	Mon Jun 18 11:30:16 2012
@@ -33,6 +33,13 @@
 # - other:
 %bcond_without	bootstrap	# omit 3-stage bootstrap
 %bcond_with	tests		# torture gcc
+%bcond_with	symvers		# enable versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
+
+%if %{with symvers}
+%define		cxx_sover	7
+%else
+%define		cxx_sover	6
+%endif
 
 %if %{without cxx}
 %undefine	with_go
@@ -136,6 +143,7 @@
 %endif
 %endif
 BuildRequires:	gmp-devel >= 4.1
+BuildRequires:	gmp-c++-devel >= 4.1
 BuildRequires:	libmpc-devel
 BuildRequires:	mpfr-devel >= 2.3.0
 BuildRequires:	ppl-devel
@@ -1477,6 +1485,9 @@
 %if %{with qt}
 %patch8 -p1
 %endif
+%if %{with symvers}
+%patch9 -p0
+%endif
 # update if you need it
 #%patch10 -p1
 
@@ -2239,13 +2250,13 @@
 %defattr(644,root,root,755)
 %doc libstdc++-v3/{ChangeLog,README}
 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.7
+%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.%{cxx_sover}
 
 %if %{with multilib}
 %files -n libstdc++-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.7
+%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.%{cxx_sover}
 %endif
 
 %if %{with python}
@@ -2255,7 +2266,7 @@
 %{py_sitescriptdir}/libstdcxx/*.py[co]
 %dir %{py_sitescriptdir}/libstdcxx/v6
 %{py_sitescriptdir}/libstdcxx/v6/*.py[co]
-%{_datadir}/gdb/auto-load/usr/lib*/libstdc++.so.7.0.0-gdb.py
+%{_datadir}/gdb/auto-load/usr/lib*/libstdc++.so.%{cxx_sover}.*.*-gdb.py
 %endif
 
 %files -n libstdc++-devel
@@ -2678,6 +2689,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.696  2012/06/18 09:30:16  baggins
+- don't remove symvers entirely, put it under bcond if we ever decide to try again
+
 Revision 1.695  2012/06/18 09:14:31  pluto
 - rollback fully versioned libstdc++ namespace (the outside software is full of buggy std:: forward declarations/redefinitions).
 - release 2.

================================================================
Index: packages/gcc/gcc-symvers.patch
diff -u /dev/null packages/gcc/gcc-symvers.patch:1.3
--- /dev/null	Mon Jun 18 11:30:40 2012
+++ packages/gcc/gcc-symvers.patch	Mon Jun 18 11:30:16 2012
@@ -0,0 +1,22 @@
+--- libstdc++-v3/configure.orig	2012-03-02 08:13:55.000000000 +0100
++++ libstdc++-v3/configure	2012-03-25 12:31:53.278684698 +0200
+@@ -64773,7 +64773,7 @@
+ 	  	        esac
+ 
+ else
+-  enable_symvers=yes
++  enable_symvers=gnu-versioned-namespace
+ fi
+ 
+ 
+--- libstdc++-v3/configure.ac.orig	2012-03-25 12:31:14.966921062 +0200
++++ libstdc++-v3/configure.ac	2012-03-25 12:30:07.363809031 +0200
+@@ -308,7 +308,7 @@
+ 
+ GCC_HEADER_STDINT(include/gstdint.h)
+ 
+-GLIBCXX_ENABLE_SYMVERS([yes])
++GLIBCXX_ENABLE_SYMVERS([gnu-versioned-namespace])
+ AC_SUBST(libtool_VERSION)
+ 
+ GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY([yes])
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/packages/gcc/gcc.spec?r1=1.695&r2=1.696
    http://cvs.pld-linux.org/packages/gcc/gcc-symvers.patch?r1=1.2&r2=1.3



More information about the pld-cvs-commit mailing list