versioning of _Unwind_*() symbols

Mark Mitchell mark@codesourcery.com
Wed Apr 21 19:20:00 GMT 2004


>While we are on it, binaries compiled by gcc may reference gcc
>personality functions, which only come with gcc. That means when you
>mix them with other compilers, you have to do something like
>
># icc .... find the right gcc personality functions
>
>How can we address this?
>  
>
The presonality routines should be either (a) included in the shared 
object or executable, or (b)  the shared object or executable should 
have a dependency on a shared object providing that personality routine.

>>If these functions need to change in some way that would normally 
>>require using a versioned symbol, the functions must instead be renamed.
>>    
>>
>
>Are you suggesting to change the C++ ABI in this case? If it is the
>case, shouldn't the C++ ABI be modified to reflect that? I guess
>those implementation who do it right will have to cope :-(.
>  
>
If the C++ ABI needs to change, then it will change.  In that case, new 
functions will be added to the ABI, and we will have to provide both the 
old and new functions.  This is no different from versioning, except 
that it's an uglier way of doing it.

-- 
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@codesourcery.com



More information about the Gcc mailing list