siglongjmp(): Preserve floating point exception flags on i386 and amd64.

Per POSIX, siglongjmp() shall be equivalent to longjmp() except that it must
match sigsetjmp() instead of setjmp() and except for the effect on the
signal mask. Therefore, it should preserve the floating point exception
flags.

This was fixed for longjmp() and _longjmp() in r180080 and r180081 for amd64
and i386 respectively.
This commit is contained in:
Jilles Tjoelker 2014-06-09 21:35:36 +00:00
parent 1c01559353
commit 078cb49070
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=267307
2 changed files with 0 additions and 2 deletions

View File

@ -105,7 +105,6 @@ ENTRY(__siglongjmp)
movq 40(%rdx),%r13
movq 48(%rdx),%r14
movq 56(%rdx),%r15
fninit
fldcw 64(%rdx)
testq %rax,%rax
jnz 1f

View File

@ -115,7 +115,6 @@ ENTRY(__siglongjmp)
movl 12(%edx),%ebp
movl 16(%edx),%esi
movl 20(%edx),%edi
fninit
fldcw 24(%edx)
testl %eax,%eax
jnz 1f