This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] Regenerate Solaris 2 baselines for GCC 4.6.0 release


> The lines in question are
> 
>     ##_ZTISt16nested_exception (glob)
>     _ZTISt16nested_exception;
>     ##_ZTSSt16nested_exception (glob)
>     _ZTSSt16nested_exception;
>     ##_ZTVSt16nested_exception (glob)
>     _ZTVSt16nested_exception;
> 
> in CXXABI_1.3.5, but the same symbols are also matched by
> 
>     ##_ZTISt[0-9][0-9][m-q]* (glob)
>     ##_ZTSSt[0-9][0-9][m-q]* (glob)
>     ##_ZTVSt[0-9][0-9][m-q]* (glob)
> 
> in GLIBCXX_3.4.  I fear that I need to update contrib/make_sunver.pl
> to handle this, but would need to know the exact semantics of such a
> version script first.

Here's a patch that makes this exports crystal clear. 

FWIW, the linux exports for these nested_exception symbols were in
GLIBCXX_3.15 which was correct. This is still the case, even with the
explicit carve-outs in the patch below.

I've also changed the bad_function_call exports to not be in libsupc++,
or the freestanding version. (ie to GLIBCXX from CXXABI). I think this
was probably a simple thinko, right Paolo? If it's not, I'm not sure of
the rationale and would appreciate any commentary.

best,
benjamin
2011-03-15  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/pre/gnu.ver: Make nested_exception exports super clear.
	Move bad_function_call exports from CXXABI_1.3.5 to GLIBCXX_3.4.15.

Index: config/abi/pre/gnu.ver
===================================================================
--- config/abi/pre/gnu.ver	(revision 171002)
+++ config/abi/pre/gnu.ver	(working copy)
@@ -618,7 +618,10 @@
     _ZTVSt[0-9][0-9][g-k]*;
     _ZTVSt11logic_error;
     _ZTVSt12length_error;
-    _ZTVSt[0-9][0-9][m-q]*;
+#   _ZTVSt[0-9][0-9][m-q]*;
+    _ZTVSt[0-9][0-9][m]*;
+    _ZTVSt[0-9][0-9]n[^e]*;
+    _ZTVSt[0-9][0-9][o-q]*;
     _ZTVSt11range_error;
     _ZTVSt13runtime_error;
     _ZTVSt[0-9][0-9][t-z]*;
@@ -648,7 +651,10 @@
     _ZTISt[0-9][0-9][g-k]*;
     _ZTISt11logic_error;
     _ZTISt12length_error;
-    _ZTISt[0-9][0-9][m-q]*;
+#   _ZTISt[0-9][0-9][m-q]*;
+    _ZTISt[0-9][0-9][m]*;
+    _ZTISt[0-9][0-9]n[^e]*;
+    _ZTISt[0-9][0-9][o-q]*;
     _ZTISt11range_error;
     _ZTISt13runtime_error;
     _ZTISt[0-9][0-9][t-z]*;
@@ -682,7 +688,10 @@
     _ZTSSt[0-9][0-9][g-k]*;
     _ZTSSt11logic_error;
     _ZTSSt12length_error;
-    _ZTSSt[0-9][0-9][m-q]*;
+#   _ZTSSt[0-9][0-9][m-q]*;
+    _ZTSSt[0-9][0-9][m]*;
+    _ZTSSt[0-9][0-9]n[^e]*;
+    _ZTSSt[0-9][0-9][o-q]*;
     _ZTSSt11range_error;
     _ZTSSt13runtime_error;
     _ZTSSt[0-9][0-9][t-z]*;
@@ -1219,12 +1228,19 @@
     _ZTISt11regex_error;
     _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE;
 
+    # std::bad_weak_ptr
     _ZNSt12bad_weak_ptrD*;
     _ZNKSt12bad_weak_ptr4whatEv;
     _ZTSSt12bad_weak_ptr;
     _ZTVSt12bad_weak_ptr;
     _ZTISt12bad_weak_ptr;
 
+    # std::bad_function_call
+    _ZNSt17bad_function_callD*;
+    _ZTISt17bad_function_call;
+    _ZTSSt17bad_function_call;
+    _ZTVSt17bad_function_call;
+
     _ZNSt14error_categoryC*;
     _ZNSt14error_categoryD*;
 
@@ -1422,12 +1438,6 @@
     # FNV hash.
     _ZSt15_Fnv_hash_bytesPKv*;
 
-    # std::bad_function_call.
-    _ZNSt17bad_function_callD*;
-    _ZTISt17bad_function_call;
-    _ZTSSt17bad_function_call;
-    _ZTVSt17bad_function_call;
-
     # std::nested_exception
     _ZNSt16nested_exceptionD*;
     _ZTISt16nested_exception;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]