Re: portability of shared libraries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5 Apr 2005, Grigory Zagorodnev mused:
> So the possible solution for you is to hide libstdc++ symbols from
> run-time dynamic linking by means of a version script. Script like this
> will hide all symbols except those you define as global-visible:
>  
>      FOO {
>          global:
>                  <your symbols>; 
>          local: 
>                  *; 
>      }; 
> 
> Use "-Wl,--version-script,script.name" to feed script to the linker.

The danger is that if you then pass instances of libstdc++ classes
between routines that rely on different libstdc++ instances, things will
go *very* wrong, even if the ABIs and class layouts are compatible (the
allocators will get rightly confused).

-- 
This is like system("/usr/funky/bin/perl -e 'exec sleep 1'");
   --- Peter da Silva

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux