[LLVMdev] exception handling broken on x86-64?

Dale Johannesen dalej at apple.com
Sun Mar 16 10:41:09 PDT 2008


On Mar 16, 2008, at 5:07 AM, Duncan Sands wrote:

>> Did anything ever come of the work on exception handling for x86_64?
>>
>> I'm having problems with exceptions on linux x86_64.
>
> I'm fairly sure that exception handling doesn't currently work on
> x86-64 linux (it may work with darwin - not sure).  I don't know
> what it would take to get it to work.

On Darwin, the Dwarf metadata emitted in .s/.o files is correct  
(although there may be bugs, it hasn't been exercised beyond the llvm  
and gcc testsuites).   The unwinding code in libgcc* has not been  
ported to x86-64 and does not work.  Thus, if you take the libgcc*  
from a non-llvm gcc and link llvm-gcc-produced .o files with that,  
things work.
It would probably not take much to get Linux x86-64 to this state, I  
doubt the metadata is much different from Darwin.




More information about the llvm-dev mailing list