summaryrefslogtreecommitdiffstats
path: root/lib/libc/amd64
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2014-06-09 21:35:36 +0000
committerjilles <jilles@FreeBSD.org>2014-06-09 21:35:36 +0000
commitfe13779dda3878ced9ebc571bcac78c79b1fc19b (patch)
tree6b964251625d0c6c34eef8893f0b237dd311c015 /lib/libc/amd64
parent17863b4bce26877f2514e7e6fc8157ed57011028 (diff)
downloadFreeBSD-src-fe13779dda3878ced9ebc571bcac78c79b1fc19b.zip
FreeBSD-src-fe13779dda3878ced9ebc571bcac78c79b1fc19b.tar.gz
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.
Diffstat (limited to 'lib/libc/amd64')
-rw-r--r--lib/libc/amd64/gen/sigsetjmp.S1
1 files changed, 0 insertions, 1 deletions
diff --git a/lib/libc/amd64/gen/sigsetjmp.S b/lib/libc/amd64/gen/sigsetjmp.S
index 02b154c..9a20556 100644
--- a/lib/libc/amd64/gen/sigsetjmp.S
+++ b/lib/libc/amd64/gen/sigsetjmp.S
@@ -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
OpenPOWER on IntegriCloud