[v3] more symbol exports

Benjamin Kosnik bkoz@redhat.com
Tue Feb 19 14:18:00 GMT 2002


This patch makes --enable-symvers testresults match the unversioned
shared library results. 

Loren, can you see if this works on BSDs? If so, I'd like to enable
this functionality by default on systems using GNU ld of sufficient
vintage.

-benjamin

tested x86/linux --enable-symvers

2002-02-19  Benjamin Kosnik  <bkoz@redhat.com>
		
	* config/linker-map.gnu: Export global vtable, typeinfo, guard
	variable, and thunk info as per CXXABI docs.

Index: config/linker-map.gnu
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/config/linker-map.gnu,v
retrieving revision 1.2
diff -c -p -r1.2 linker-map.gnu
*** linker-map.gnu	2002/02/15 02:21:32	1.2
--- linker-map.gnu	2002/02/19 21:38:14
*************** GLIBCPP_3.1 {
*** 37,46 ****
      };
  
      ## Names not in an 'extern' block are mangled names.
-     __cxa_*;
-     __gxx_personality_v0;
-     __dynamic_cast;
- 
      ## operator new(unsigned)
      _Znwj;
  
--- 37,42 ----
*************** GLIBCPP_3.1 {
*** 54,69 ****
      _ZdaPv;
  
      # vtable	
!     # XXX export them all?
!     _ZTVSt*;  
!     _ZTVN10__cxxabiv1*;
  
      # typeinfo
!     # XXX export them all?
!     _ZTSSt*;
  
  
! ######## hmmmmm, the rediculous hacks section....
      ## std::_S_rb_tree_red
      _ZSt14_S_rb_tree_red;
  
--- 50,75 ----
      _ZdaPv;
  
      # vtable	
!     _ZTV*;  
!     _ZTT*;
  
      # typeinfo
!     _ZTI*;
!     _ZTS*;
! 
!     # function-scope static objects requires a guard variable.
!     _ZGV*;
  
+     # virtual function thunks
+     _ZTh*;
+     _ZTv*;
+     _ZTc*;
  
!     # XXX
!     __cxa_*;
!     __gxx_personality_v0;
!     __dynamic_cast;
! 
      ## std::_S_rb_tree_red
      _ZSt14_S_rb_tree_red;
  
*************** GLIBCPP_3.1 {
*** 75,86 ****
  
      ## std::__stl_chunk_size
      _ZSt16__stl_chunk_size;
- 
-     ## VTT for std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >
-     _ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE;
- 
-     ## VTT for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >
-     _ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE;
  
      # this is a function, "void std::__convert_to_v(stuff)", and as such
      # doesn't work well in the demangled section above
--- 81,86 ----



More information about the Gcc-patches mailing list