diff options
Diffstat (limited to 'meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch')
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch b/meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch deleted file mode 100644 index 7193f98cb9..0000000000 --- a/meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | Without this patch it fails to inline that function | ||
2 | since we do not have __SSE_MATH__ in OE build. | ||
3 | |||
4 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
5 | |||
6 | Upstream-Status: Inappropriate [OE-specific] | ||
7 | |||
8 | --- a/sysdeps/x86_64/fpu/bits/fenv.h | ||
9 | +++ b/sysdeps/x86_64/fpu/bits/fenv.h | ||
10 | @@ -112,16 +112,24 @@ __NTH (feraiseexcept (int __excepts)) | ||
11 | { | ||
12 | /* One example of a invalid operation is 0.0 / 0.0. */ | ||
13 | float __f = 0.0; | ||
14 | - | ||
15 | +# if defined __SSE_MATH__ || __WORDSIZE == 64 | ||
16 | __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f)); | ||
17 | +# else | ||
18 | + __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait" | ||
19 | + : "=t" (__f) : "0" (__f)); | ||
20 | +# endif | ||
21 | (void) &__f; | ||
22 | } | ||
23 | if ((FE_DIVBYZERO & __excepts) != 0) | ||
24 | { | ||
25 | float __f = 1.0; | ||
26 | float __g = 0.0; | ||
27 | - | ||
28 | +# if defined __SSE_MATH__ || __WORDSIZE == 64 | ||
29 | __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g)); | ||
30 | +# else | ||
31 | + __asm__ __volatile__ ("fdivp %%st(1), %%st; fwait" | ||
32 | + : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)"); | ||
33 | +# endif | ||
34 | (void) &__f; | ||
35 | } | ||
36 | |||