versioning of _Unwind_*() symbols

H. J. Lu hjl@lucon.org
Thu Apr 22 17:29:00 GMT 2004


On Thu, Apr 22, 2004 at 10:07:36AM -0700, Mark Mitchell wrote:
> H. J. Lu wrote:
> 
> >We don't need versioning to change ABI here. But it is still useful to
> >fix implementation. That is you have a broken implementation, but you
> >can't change the implementation since some binaries depend on the old
> >broken behavior. Symbol versioning allows you to fix the implementation
> >without breaking those old binaries.
> >
> I don't necessarily see that as a good idea.  If, for example, "operator 
> new" were to be broken, then old binaries that use the broken version 
> might crash sometimes.  Providing a fixed version of "operator new" 
> would help those binaries, not hurt them.  There might be some other old 

I was not talking about those binaries.

> binaries that would somehow now fail, but why should we expect there 
> would be more binaries in the latter class thant he former?

It is not about the numbers. It is binary compatibility. For every
reported breakage, it may affect many people.

> 
> And, there remains the issue that using versioning means that other 
> compilers cannot easily provide a drop-in replacement for libcxa.so, 
> even if they have a good reason (performance, for example) for doing so.

It is very trivial to provide versioning. If they can build a shared
library on Linux, they can add versioning in 2 minutes. I can provide
assistance to any compiler vendor if needed.


H.J.



More information about the Gcc mailing list