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:
> 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"))).
> Thanks for raising this, John.
Please, read this message in discussion of symbol visibility macro:
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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk