Root/toolchain/uClibc/patches-0.9.30.1/430-i386_copysign.patch

1--- a/libc/sysdeps/linux/i386/Makefile.arch
2+++ b/libc/sysdeps/linux/i386/Makefile.arch
3@@ -9,6 +9,7 @@ CSRC := brk.c sigaction.c __syscall_erro
4 
5 SSRC := \
6     __longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
7- sync_file_range.S syscall.S mmap.S mmap64.S posix_fadvise64.S
8+ sync_file_range.S syscall.S mmap.S mmap64.S posix_fadvise64.S \
9+ s_copysign.S s_copysignf.S s_copysignl.S
10 
11 include $(top_srcdir)libc/sysdeps/linux/Makefile.commonarch
12--- /dev/null
13+++ b/libc/sysdeps/linux/i386/s_copysign.S
14@@ -0,0 +1,25 @@
15+/*
16+ * Written by J.T. Conklin <jtc@netbsd.org>.
17+ * Public domain.
18+ */
19+
20+#define _ERRNO_H 1
21+#include <features.h>
22+#include <bits/errno.h>
23+
24+.text
25+.global copysign
26+.type copysign,%function
27+copysign:
28+ movl 16(%esp),%edx
29+ movl 8(%esp),%eax
30+ andl $0x80000000,%edx
31+ andl $0x7fffffff,%eax
32+ orl %edx,%eax
33+ movl %eax,8(%esp)
34+ fldl 4(%esp)
35+ ret
36+.size copysign,.-copysign
37+
38+libc_hidden_def(copysign)
39+
40--- /dev/null
41+++ b/libc/sysdeps/linux/i386/s_copysignf.S
42@@ -0,0 +1,25 @@
43+/*
44+ * Written by J.T. Conklin <jtc@netbsd.org>.
45+ * Public domain.
46+ */
47+
48+#define _ERRNO_H 1
49+#include <features.h>
50+#include <bits/errno.h>
51+
52+.text
53+.global copysignf
54+.type copysignf,%function
55+copysignf:
56+ movl 8(%esp),%edx
57+ movl 4(%esp),%eax
58+ andl $0x80000000,%edx
59+ andl $0x7fffffff,%eax
60+ orl %edx,%eax
61+ movl %eax,4(%esp)
62+ flds 4(%esp)
63+ ret
64+.size copysignf,.-copysignf
65+
66+libc_hidden_def(copysignf)
67+
68--- /dev/null
69+++ b/libc/sysdeps/linux/i386/s_copysignl.S
70@@ -0,0 +1,26 @@
71+/*
72+ * Written by J.T. Conklin <jtc@netbsd.org>.
73+ * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
74+ * Public domain.
75+ */
76+
77+#define _ERRNO_H 1
78+#include <features.h>
79+#include <bits/errno.h>
80+
81+.text
82+.global copysignl
83+.type copysignl,%function
84+copysignl:
85+ movl 24(%esp),%edx
86+ movl 12(%esp),%eax
87+ andl $0x8000,%edx
88+ andl $0x7fff,%eax
89+ orl %edx,%eax
90+ movl %eax,12(%esp)
91+ fldt 4(%esp)
92+ ret
93+.size copysignl,.-copysignl
94+
95+libc_hidden_def(copysignl)
96+
97

Archive Download this file



interactive