Patchwork libstdc++ ABI issues with __int128

login
register
mail settings
Submitter Jakub Jelinek
Date March 21, 2011, 7:16 p.m.
Message ID <20110321191602.GA18914@tyan-ft48-01.lab.bos.redhat.com>
Download mbox | patch
Permalink /patch/87815/
State New
Headers show

Comments

Jakub Jelinek - March 21, 2011, 7:16 p.m.
On Mon, Mar 21, 2011 at 07:32:14PM +0100, Benjamin Kosnik wrote:
> > Well, such stricter checking wouldn't be completely painless, e.g. currently
> > both current baseline_symbols.txt and the ones I've posted don't include the
> > two TLS: lines, because of the fear that not everyone has TLS enabled.
> > If baseline_symbols.txt right now miss some symbols, it is not a big deal
> > if it is not in the base version (with my patch base versions), but with
> > stricter checking it would complain.  Either we'd just say that TLS is
> > assumed on these targets and add the TLS: lines, or we'd need to invent
> > some symbol conditionalizing or something.
> 
> We will keep on doing the present solution for libstdc++.so.6 and
> invent something clever later.

After offline discussion with Benjamin I've committed
http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01175.html
http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01246.html
and the attached two patches to trunk and 4.6 after regtesting
on x86_64-linux.

	Jakub
2011-03-21  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/pre/gnu.ver: Remove typeinfo name exports for C++0x types.

Patch

--- libstdc++-v3/config/abi/pre/gnu.ver
+++ libstdc++-v3/config/abi/pre/gnu.ver
@@ -1231,7 +1231,6 @@  GLIBCXX_3.4.15 {
 
     _ZNSt11regex_errorD*;
     _ZNKSt11regex_error4whatEv;
-    _ZTSSt11regex_error;
     _ZTVSt11regex_error;
     _ZTISt11regex_error;
     _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE;
@@ -1239,14 +1238,12 @@  GLIBCXX_3.4.15 {
     # 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*;
@@ -1255,12 +1252,10 @@  GLIBCXX_3.4.15 {
     _ZNSt13__future_base12_Result_baseC*;
     _ZNSt13__future_base12_Result_baseD*;
     _ZTINSt13__future_base12_Result_baseE;
-    _ZTSNSt13__future_base12_Result_baseE;
     _ZTVNSt13__future_base12_Result_baseE;
 
     _ZNSt13__future_base11_State_baseD*;
     _ZTINSt13__future_base11_State_baseE;
-    _ZTSNSt13__future_base11_State_baseE;
     _ZTVNSt13__future_base11_State_baseE;
 
 } GLIBCXX_3.4.14;
@@ -1444,7 +1439,6 @@  CXXABI_1.3.5 {
     # std::nested_exception
     _ZNSt16nested_exceptionD*;
     _ZTISt16nested_exception;
-    _ZTSSt16nested_exception;
     _ZTVSt16nested_exception;
 
 } CXXABI_1.3.4;