portability of shared libraries
Nix
nix@esperi.org.uk
Wed Apr 6 10:29:00 GMT 2005
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
More information about the Gcc-help
mailing list