[LLVMdev] exception handling broken on x86-64?

Dale Johannesen dalej at apple.com
Sat Feb 9 11:50:29 PST 2008


On Feb 9, 2008, at 11:48 AM, Dale Johannesen wrote:

>
> On Feb 9, 2008, at 11:20 AM, Anton Korobeynikov wrote:
>
>> Dale,
>>
>>> Works for me on x86-64 Darwin, fwiw.
>> That looks pretty strange. Ok, it can work for small testcases, but  
>> will
>> surely fail when you try to use for something more real. Currently  
>> it at
>> least lacks information about frame moves. So, every invoke, which  
>> needs
>> to restore call-clobbered registers during unwinding will be broken.
>>
>> Does Shootout-C++/except work for you? And stuff from llvm testsuite
>> like omnetpp and xalan ?
>
> Everything in the llvm testsuite works.

And the gcc testsuite - well, there are a couple of failures, but I  
looked at them and am convinced they are not problems with the EH  
mechanism.

>> Also, Darwin is different than Linux, because Darwin's unwinding  
>> runtime
>> is native one, not built by llvm-gcc.
>
> I didn't look too hard, but it looks like the x86-64 info is only  
> slightly modified from the x86-32 info on darwin (in gcc).  A few  
> fields were extended to 64 bits but it was not far off.  So what was  
> there mostly just worked.  You may be right that there are problems  
> that haven't shown up yet.
>




More information about the llvm-dev mailing list