[LLVMdev] exception handling broken on x86-64?

Dale Johannesen dalej at apple.com
Sat Feb 9 11:48:58 PST 2008


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.

> 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