Teach siglongjmp about the VFP version of the setjmp buffer.
This fixes a bug where a call to sigsetjmp followed by siglongjmp may fail when run on a machine with VFP enabled.
This commit is contained in:
parent
1addf6e47a
commit
f44fbb4c13
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=253518
@ -57,8 +57,10 @@ ENTRY(sigsetjmp)
|
||||
WEAK_ALIAS(__siglongjmp, siglongjmp)
|
||||
|
||||
ENTRY(siglongjmp)
|
||||
ldr r2, .L_setjmp_magic
|
||||
ldr r3, [r0]
|
||||
teq r2, r3
|
||||
ldr r2, .L_setjmp_magic /* load magic */
|
||||
ldr r3, [r0] /* get magic from jmp_buf */
|
||||
bic r3, r3, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP)
|
||||
/* ignore VFP-ness of magic */
|
||||
teq r2, r3 /* magic correct? */
|
||||
beq PIC_SYM(_C_LABEL(_longjmp), PLT)
|
||||
b PIC_SYM(_C_LABEL(longjmp), PLT)
|
||||
|
Loading…
Reference in New Issue
Block a user