This is the mail archive of the
mailing list for the GCC project.
Re: versioning of _Unwind_*() symbols
Gabriel Dos Reis wrote:
Jim Wilson <firstname.lastname@example.org> writes:I agree with David Mosberger.
| I fail to see any difference between what glibc does and what libgcc
I believe the main difference is that libgcc is tightly coupled with
the compiler and glibc is more much decoupled. libgcc is fixed by the
compiler. That makes its versioning more debatable.
I'm not sure we can reason on what glibc does and transpose the
outcome to libgcc.
I think that it was a mistake to version the symbols. The C++ ABI is
designed so that compilers can interoperate; clearly, if GCC-compiled
objects contain references to versioned symbols, then other compilers
cannot easily provide matching runtime libraries, and vice versa.
If these functions need to change in some way that would normally
require using a versioned symbol, the functions must instead be renamed.
Therefore, I think we need to do two things:
(1) Put the unversioned symbols back in libgcc, and or make libgcc
depend on libunwind, thereby making sure that the symbols will be available.
(2) Keep the versioned symbols that we have now because there might be
(ABI-incompatible) code that depends upon them.