enable-symvers (was: Re: std::deque move constructor)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2017-08-21 at 16:30 +0100, Jonathan Wakely wrote:
> I proposed this ABI breaking change for the
> --enable-symvers=gnu-versioned-namespace config and nobody replied:
> https://gcc.gnu.org/ml/libstdc++/2016-10/msg00017.html
> 
> This gets rid of the allocations in the move operations, allowing
> "really empty" deques.

Sorry for derailing this thread slightly, but are there more details
about --enable-symvers than are found in the option description in
https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html ?

It's not clear what the difference is between the different values (in
particular "gnu" vs. "gnu-versioned-namespace").  Also, it's not clear
what this means, if anything, for static libstdc++.

Let us suppose I'm building my own GCC/binutils on GNU/Linux, and I
will be compiling all my code (C/C++) and any 3rd party C++ libraries
with that compiler, and I'll be linking all my programs and shared
libraries with -static-libstdc++, and I've also used a linker map on my
shared libraries to ensure that only the specific symbols that I want
are published (thus no STL symbols from my -static-libstdc++ are
visible to users of my shared library).  I don't send any STL-typed
data across the API of my shared library.

Is the value of --enable-symvers potentially interesting/useful to me
in this situation?

Cheers!



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux