salah1979 / iphone-dev

Automatically exported from code.google.com/p/iphone-dev
0 stars 0 forks source link

jmp_buf and sigjmp_buf need to be at least one word longer #127

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
In current supplied arm/setjmp.h, jmp_buf is 27 words and sigjmp_buf is 28 
words. Apple iPhone supplied libc.dylib sigsetjmp(&buf,mask) stores mask 
at offset 112 (=28*4) into buf, corrupting whatever comes next. jmp_buf 
needs to be >=28 words, sigjmp_buf needs to be >=29.

Full investigation not yet done, may actually need to be larger.
At this moment, even with the sigjmp_buf as 29 words, I think the signal 
mask isn't being saved/restored correctly, and this could be a factor.

Original issue reported on code.google.com by andy.z....@googlemail.com on 18 Mar 2008 at 7:34