portability of shared libraries
Zagorodnev, Grigory
grigory.zagorodnev@intel.com
Wed Apr 6 10:56:00 GMT 2005
>> 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:
>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).
Definitely. Passing pointers to malloc'ed regions between libraries is
dangerous as well. Library implementation must avoid passing objects and
pointers. The approach of hiding non-user stuff may suit in this case.
- Grigory
More information about the Gcc-help
mailing list