versioning of _Unwind_*() symbols

Mark Mitchell mark@codesourcery.com
Thu Apr 22 17:46:00 GMT 2004


H. J. Lu wrote:

>>>      
>>>
>>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.
>  
>
You can't know which binaries you'd affect.  If you fix an 
implementation bug in an existing function, without changing the 
version, you'll help some binaries and you may hurt others.

In my opinion, it makes sense to have the change affect all binaries.

These functions are very fundamental.  They're like "strlen".  If we 
found a bug in "strlen", would fixing it in libc result in changing the 
version number of that symbol? 

In fact, if you discover a bug in these ABI functions, you are likely to 
have uncovered a security bug.  It's quite possible that a program which 
gets an incorrect answer from an ABI function will do something it 
should not.  If you version the symbol, then fixing the bug will not fix 
the security bug.  You will have to go recompile all the programs on the 
system that use the ABI function in order to get the fix.

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



More information about the Gcc mailing list