id summary reporter owner description type status milestone component version severity resolution keywords cc 12722 asio visibility pragmas bloat .dynstr segment mzeren@… chris_kohlhoff "We have a dynamic library that uses asio internally. It does not use asio in its public API. We compile this library with -fvisibility=hidden. When upgrading from boost 1.55 to 1.61 we noticed about 100K worth of asio symbols being added to the .dynstr segment of this library. This is an unacceptable increase for our system. After some research we found that this is due to: {{{ commit: 382804a4325b0e3b90d07f6563f5c6fd13a38052 Author: Christopher Kohlhoff chris@kohlhoff.com Date: Sat Mar 21 00:28:43 2015 ----- Use default visibility everywhere. ----- M include/boost/asio/detail/pop_options.hpp M include/boost/asio/detail/push_options.hpp M include/boost/asio/detail/service_registry.hpp }}} Which added #pragma GCC visibility push (default). Unfortunately the pragma overrides our -fvisibility command line argument. This patch first appears in Boost 1.58. To use gcc visibility correctly asio should adopt the standard macro idiom described in https://gcc.gnu.org/wiki/Visibility." Bugs new To Be Determined asio Boost 1.58.0 Problem mzeren@…