Subject: Re: [boost] [config] Request for BOOST_SYMBOL_IMPORT_VISIBLE ?
From: Alexander Arhipenko (arhipjan_at_[hidden])
Date: 2011-01-31 08:24:41


On Sat, Jan 29, 2011 at 6:47 PM, John Maddock <boost.regex_at_[hidden]> wrote:
>[snip]
>
> I think this is a real problem, but the solution is rather cumbersome - a
> Boost library header would then have to support:
>
> 1) Exporting from dll.
> 2) Importing to executable.
> 3) Importing to dll and re-exporting.
> 4) None of the above (static lib).
>
> Looking at http://gcc.gnu.org/wiki/Visibility they suggest that 2 & 3 are
> the same, and both are __attribute__ ((visibility("default"))) on gcc.  Sp
> my suggestion is that we fix the existing macros to do the right thing and
> change GCC's BOOST_SYMBOL_IMPORT to __attribute__ ((visibility("default"))).
>
> Thoughts?
>
> Thanks for raising this, John.
>

Hi,

Please, read this message in discussion of symbol visibility macro:
http://listarchives.boost.org/Archives/boost/2010/05/166764.php.
It tries to explain why it's not desireable to re-export all the
symbols from DSO by default.
In short, the problem is a) binary compatibility, b) exaggerated symbols table.
I guess it's clear what is b) bullet about.
Some explanation about a) you can find in the message mentioned above.

Regards