mstorsjo added a comment.

In https://reviews.llvm.org/D38680#892487, @compnerd wrote:

> I think that the problem is that we are using the generic register name, but 
> we need to use the target specific register name.  On x86, EIP/ESP are 
> swapped.


You mean EBP/ESP? I think the code here does the right thing, with `UNW_REG_SP` 
always mapping to the actual ESP.

> We should also have a test case for this.  I had reduced this down to a 
> simpler test case of:
> 
>   void f(int,int,int,int,int,int,int,int,int);
>    
>   int main() {
>     try {
>       f(0,1,2,3,4,5,6,7,8);
>     } catch (int) {
>       return 0;
>     }
>     return 1;
>   }
>    

Oh, great if you can reproduce the issue with that! Feel free to try to dig 
into the issue and figure out a better fix then.


https://reviews.llvm.org/D38680



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to