Checking patch sysdeps/i386/fpu/fclrexcpt.c... error: while searching for: /* Bah, we have to clear selected exceptions. Since there is no `fldsw' instruction we have to do it the hard way. */ __asm__ ("fnstenv %0" : "=m" (*&temp)); /* Clear the relevant bits. */ temp.__status_word &= excepts ^ FE_ALL_EXCEPT; /* Put the new data in effect. */ __asm__ ("fldenv %0" : : "m" (*&temp)); /* If the CPU supports SSE, we clear the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) error: patch failed: sysdeps/i386/fpu/fclrexcpt.c:30 error: sysdeps/i386/fpu/fclrexcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/fedisblxcpt.c... error: while searching for: unsigned short int new_exc, old_exc; /* Get the current control word. */ __asm__ ("fstcw %0" : "=m" (*&new_exc)); old_exc = (~new_exc) & FE_ALL_EXCEPT; excepts &= FE_ALL_EXCEPT; new_exc |= excepts; __asm__ ("fldcw %0" : : "m" (*&new_exc)); /* If the CPU supports SSE we set the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) error: patch failed: sysdeps/i386/fpu/fedisblxcpt.c:26 error: sysdeps/i386/fpu/fedisblxcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/feenablxcpt.c... error: while searching for: unsigned short int old_exc; /* Get the current control word. */ __asm__ ("fstcw %0" : "=m" (*&new_exc)); excepts &= FE_ALL_EXCEPT; old_exc = (~new_exc) & FE_ALL_EXCEPT; new_exc &= ~excepts; __asm__ ("fldcw %0" : : "m" (*&new_exc)); /* If the CPU supports SSE we set the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) error: patch failed: sysdeps/i386/fpu/feenablxcpt.c:27 error: sysdeps/i386/fpu/feenablxcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/fegetexcept.c... error: while searching for: unsigned short int exc; /* Get the current control word. */ __asm__ ("fstcw %0" : "=m" (*&exc)); return (~exc) & FE_ALL_EXCEPT; } error: patch failed: sysdeps/i386/fpu/fegetexcept.c:24 error: sysdeps/i386/fpu/fegetexcept.c: patch does not apply Checking patch sysdeps/i386/fpu/fegetround.c... error: while searching for: { int cw; __asm__ ("fnstcw %0" : "=m" (*&cw)); return cw & 0xc00; } error: patch failed: sysdeps/i386/fpu/fegetround.c:23 error: sysdeps/i386/fpu/fegetround.c: patch does not apply Checking patch sysdeps/i386/fpu/feholdexcpt.c... error: while searching for: /* Set all exceptions to non-stop and clear them. */ xwork = (envp->__eip | 0x1f80) & ~0x3f; __asm__ ("ldmxcsr %0" : : "m" (*&xwork)); } return 0; error: patch failed: sysdeps/i386/fpu/feholdexcpt.c:38 error: sysdeps/i386/fpu/feholdexcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/fesetenv.c... error: while searching for: values which we do not want to come from the saved environment. Therefore, we get the current environment and replace the values we want to use from the environment specified by the parameter. */ __asm__ ("fnstenv %0" : "=m" (*&temp)); if (envp == FE_DFL_ENV) { error: patch failed: sysdeps/i386/fpu/fesetenv.c:40 error: sysdeps/i386/fpu/fesetenv.c: patch does not apply Checking patch sysdeps/i386/fpu/fesetexcept.c... error: while searching for: { /* Get the control word of the SSE unit. */ unsigned int mxcsr; __asm__ ("stmxcsr %0" : "=m" (*&mxcsr)); /* Set relevant flags. */ mxcsr |= excepts; /* Put the new data in effect. */ __asm__ ("ldmxcsr %0" : : "m" (*&mxcsr)); } else { error: patch failed: sysdeps/i386/fpu/fesetexcept.c:33 error: sysdeps/i386/fpu/fesetexcept.c: patch does not apply Checking patch sysdeps/i386/fpu/fesetround.c... error: while searching for: /* ROUND is no valid rounding mode. */ return 1; __asm__ ("fnstcw %0" : "=m" (*&cw)); cw &= ~0xc00; cw |= round; __asm__ ("fldcw %0" : : "m" (*&cw)); /* If the CPU supports SSE we set the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) { unsigned int xcw; __asm__ ("stmxcsr %0" : "=m" (*&xcw)); xcw &= ~0x6000; xcw |= round << 3; __asm__ ("ldmxcsr %0" : : "m" (*&xcw)); } return 0; error: patch failed: sysdeps/i386/fpu/fesetround.c:29 error: sysdeps/i386/fpu/fesetround.c: patch does not apply Checking patch sysdeps/i386/fpu/feupdateenv.c... error: while searching for: unsigned int xtemp = 0; /* Save current exceptions. */ __asm__ ("fnstsw %0" : "=m" (*&temp)); /* If the CPU supports SSE we test the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) __asm__ ("stmxcsr %0" : "=m" (*&xtemp)); temp = (temp | xtemp) & FE_ALL_EXCEPT; error: patch failed: sysdeps/i386/fpu/feupdateenv.c:27 error: sysdeps/i386/fpu/feupdateenv.c: patch does not apply Checking patch sysdeps/i386/fpu/fgetexcptflg.c... error: while searching for: fexcept_t temp; /* Get the current exceptions. */ __asm__ ("fnstsw %0" : "=m" (*&temp)); *flagp = temp & excepts & FE_ALL_EXCEPT; error: patch failed: sysdeps/i386/fpu/fgetexcptflg.c:27 error: sysdeps/i386/fpu/fgetexcptflg.c: patch does not apply Checking patch sysdeps/i386/fpu/fraiseexcpt.c... error: while searching for: /* Bah, we have to clear selected exceptions. Since there is no `fldsw' instruction we have to do it the hard way. */ __asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp)); /* Set the relevant bits. */ temp.__status_word |= FE_OVERFLOW; /* Put the new data in effect. */ __asm__ __volatile__ ("fldenv %0" : : "m" (*&temp)); /* And raise the exception. */ __asm__ __volatile__ ("fwait"); error: patch failed: sysdeps/i386/fpu/fraiseexcpt.c:54 error: sysdeps/i386/fpu/fraiseexcpt.c: patch does not apply Checking patch sysdeps/i386/fpu/fsetexcptflg.c... error: while searching for: cannot separately set the status word. Note: fnstenv masks all floating-point exceptions until the fldenv or fldcw below. */ __asm__ ("fnstenv %0" : "=m" (*&temp)); if (CPU_FEATURE_USABLE (SSE)) { error: patch failed: sysdeps/i386/fpu/fsetexcptflg.c:37 error: sysdeps/i386/fpu/fsetexcptflg.c: patch does not apply Checking patch sysdeps/i386/fpu/ftestexcept.c... error: while searching for: /* If the CPU supports SSE we test the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) __asm__ ("stmxcsr %0" : "=m" (*&xtemp)); return (temp | xtemp) & excepts & FE_ALL_EXCEPT; } error: patch failed: sysdeps/i386/fpu/ftestexcept.c:31 error: sysdeps/i386/fpu/ftestexcept.c: patch does not apply Checking patch sysdeps/i386/setfpucw.c... error: while searching for: fpu_control_t cw; /* Fetch the current control word. */ __asm__ ("fnstcw %0" : "=m" (*&cw)); /* Preserve the reserved bits, and set the rest as the user specified (or the default, if the user gave zero). */ cw &= _FPU_RESERVED; cw |= set & ~_FPU_RESERVED; __asm__ ("fldcw %0" : : "m" (*&cw)); /* If the CPU supports SSE, we set the MXCSR as well. */ if (CPU_FEATURE_USABLE (SSE)) error: patch failed: sysdeps/i386/setfpucw.c:28 error: sysdeps/i386/setfpucw.c: patch does not apply Checking patch sysdeps/x86/fpu/fenv_private.h... error: while searching for: libc_feholdexcept_sse (fenv_t *e) { unsigned int mxcsr; asm (STMXCSR " %0" : "=m" (*&mxcsr)); e->__mxcsr = mxcsr; mxcsr = (mxcsr | 0x1f80) & ~0x3f; asm volatile (LDMXCSR " %0" : : "m" (*&mxcsr)); } static __always_inline void error: patch failed: sysdeps/x86/fpu/fenv_private.h:30 error: sysdeps/x86/fpu/fenv_private.h: patch does not apply Checking patch sysdeps/x86/fpu_control.h... Checking patch sysdeps/x86_64/fpu/fclrexcpt.c... error: while searching for: /* Bah, we have to clear selected exceptions. Since there is no `fldsw' instruction we have to do it the hard way. */ __asm__ ("fnstenv %0" : "=m" (*&temp)); /* Clear the relevant bits. */ temp.__status_word &= excepts ^ FE_ALL_EXCEPT; /* Put the new data in effect. */ __asm__ ("fldenv %0" : : "m" (*&temp)); /* And the same procedure for SSE. */ __asm__ ("stmxcsr %0" : "=m" (*&mxcsr)); /* Clear the relevant bits. */ mxcsr &= ~excepts; /* And put them into effect. */ __asm__ ("ldmxcsr %0" : : "m" (*&mxcsr)); /* Success. */ return 0; error: patch failed: sysdeps/x86_64/fpu/fclrexcpt.c:29 error: sysdeps/x86_64/fpu/fclrexcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fedisblxcpt.c... error: while searching for: excepts &= FE_ALL_EXCEPT; /* Get the current control word of the x87 FPU. */ __asm__ ("fstcw %0" : "=m" (*&new_exc)); old_exc = (~new_exc) & FE_ALL_EXCEPT; new_exc |= excepts; __asm__ ("fldcw %0" : : "m" (*&new_exc)); /* And now the same for the SSE MXCSR register. */ __asm__ ("stmxcsr %0" : "=m" (*&new)); /* The SSE exception masks are shifted by 7 bits. */ new |= excepts << 7; __asm__ ("ldmxcsr %0" : : "m" (*&new)); return old_exc; } error: patch failed: sysdeps/x86_64/fpu/fedisblxcpt.c:27 error: sysdeps/x86_64/fpu/fedisblxcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/feenablxcpt.c... error: while searching for: excepts &= FE_ALL_EXCEPT; /* Get the current control word of the x87 FPU. */ __asm__ ("fstcw %0" : "=m" (*&new_exc)); old_exc = (~new_exc) & FE_ALL_EXCEPT; new_exc &= ~excepts; __asm__ ("fldcw %0" : : "m" (*&new_exc)); /* And now the same for the SSE MXCSR register. */ __asm__ ("stmxcsr %0" : "=m" (*&new)); /* The SSE exception masks are shifted by 7 bits. */ new &= ~(excepts << 7); __asm__ ("ldmxcsr %0" : : "m" (*&new)); return old_exc; } error: patch failed: sysdeps/x86_64/fpu/feenablxcpt.c:27 error: sysdeps/x86_64/fpu/feenablxcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fegetexcept.c... error: while searching for: unsigned short int exc; /* Get the current control word. */ __asm__ ("fstcw %0" : "=m" (*&exc)); return (~exc) & FE_ALL_EXCEPT; } error: patch failed: sysdeps/x86_64/fpu/fegetexcept.c:24 error: sysdeps/x86_64/fpu/fegetexcept.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fegetround.c... error: while searching for: /* We only check the x87 FPU unit. The SSE unit should be the same - and if it's not the same there's no way to signal it. */ __asm__ ("fnstcw %0" : "=m" (*&cw)); return cw & 0xc00; } error: patch failed: sysdeps/x86_64/fpu/fegetround.c:25 error: sysdeps/x86_64/fpu/fegetround.c: patch does not apply Checking patch sysdeps/x86_64/fpu/feholdexcpt.c... error: while searching for: /* Set the SSE MXCSR register. */ mxcsr = (envp->__mxcsr | 0x1f80) & ~0x3f; __asm__ ("ldmxcsr %0" : : "m" (*&mxcsr)); return 0; } error: patch failed: sysdeps/x86_64/fpu/feholdexcpt.c:32 error: sysdeps/x86_64/fpu/feholdexcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fesetenv.c... error: while searching for: Therefore, we get the current environment and replace the values we want to use from the environment specified by the parameter. */ __asm__ ("fnstenv %0\n" "stmxcsr %1" : "=m" (*&temp), "=m" (*&temp.__mxcsr)); if (envp == FE_DFL_ENV) { error: patch failed: sysdeps/x86_64/fpu/fesetenv.c:36 error: sysdeps/x86_64/fpu/fesetenv.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fesetexcept.c... error: while searching for: { unsigned int mxcsr; __asm__ ("stmxcsr %0" : "=m" (*&mxcsr)); mxcsr |= excepts & FE_ALL_EXCEPT; __asm__ ("ldmxcsr %0" : : "m" (*&mxcsr)); return 0; } error: patch failed: sysdeps/x86_64/fpu/fesetexcept.c:23 error: sysdeps/x86_64/fpu/fesetexcept.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fesetround.c... error: while searching for: return 1; /* First set the x87 FPU. */ asm ("fnstcw %0" : "=m" (*&cw)); cw &= ~0xc00; cw |= round; asm ("fldcw %0" : : "m" (*&cw)); /* And now the MSCSR register for SSE, the precision is at different bit positions in the different units, we need to shift it 3 bits. */ asm ("stmxcsr %0" : "=m" (*&mxcsr)); mxcsr &= ~ 0x6000; mxcsr |= round << 3; asm ("ldmxcsr %0" : : "m" (*&mxcsr)); return 0; } error: patch failed: sysdeps/x86_64/fpu/fesetround.c:29 error: sysdeps/x86_64/fpu/fesetround.c: patch does not apply Checking patch sysdeps/x86_64/fpu/feupdateenv.c... error: while searching for: unsigned int xtemp; /* Save current exceptions. */ __asm__ ("fnstsw %0\n\tstmxcsr %1" : "=m" (*&temp), "=m" (xtemp)); temp = (temp | xtemp) & FE_ALL_EXCEPT; /* Install new environment. */ error: patch failed: sysdeps/x86_64/fpu/feupdateenv.c:25 error: sysdeps/x86_64/fpu/feupdateenv.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fgetexcptflg.c... error: while searching for: /* Get the current exceptions for the x87 FPU and SSE unit. */ __asm__ ("fnstsw %0\n" "stmxcsr %1" : "=m" (*&temp), "=m" (*&mxscr)); *flagp = (temp | mxscr) & FE_ALL_EXCEPT & excepts; error: patch failed: sysdeps/x86_64/fpu/fgetexcptflg.c:26 error: sysdeps/x86_64/fpu/fgetexcptflg.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fraiseexcpt.c... error: while searching for: /* Bah, we have to clear selected exceptions. Since there is no `fldsw' instruction we have to do it the hard way. */ __asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp)); /* Set the relevant bits. */ temp.__status_word |= FE_OVERFLOW; /* Put the new data in effect. */ __asm__ __volatile__ ("fldenv %0" : : "m" (*&temp)); /* And raise the exception. */ __asm__ __volatile__ ("fwait"); error: patch failed: sysdeps/x86_64/fpu/fraiseexcpt.c:57 error: sysdeps/x86_64/fpu/fraiseexcpt.c: patch does not apply Checking patch sysdeps/x86_64/fpu/fsetexcptflg.c... error: while searching for: /* Get the current x87 FPU environment. We have to do this since we cannot separately set the status word. */ __asm__ ("fnstenv %0" : "=m" (*&temp)); /* Clear relevant flags. */ temp.__status_word &= ~(excepts & ~ *flagp); /* Store the new status word (along with the rest of the environment). */ __asm__ ("fldenv %0" : : "m" (*&temp)); /* And now similarly for SSE. */ __asm__ ("stmxcsr %0" : "=m" (*&mxcsr)); /* Clear or set relevant flags. */ mxcsr ^= (mxcsr ^ *flagp) & excepts; /* Put the new data in effect. */ __asm__ ("ldmxcsr %0" : : "m" (*&mxcsr)); /* Success. */ return 0; error: patch failed: sysdeps/x86_64/fpu/fsetexcptflg.c:35 error: sysdeps/x86_64/fpu/fsetexcptflg.c: patch does not apply Checking patch sysdeps/x86_64/fpu/ftestexcept.c... error: while searching for: /* Get current exceptions. */ __asm__ ("fnstsw %0\n" "stmxcsr %1" : "=m" (*&temp), "=m" (*&mxscr)); return (temp | mxscr) & excepts & FE_ALL_EXCEPT; } error: patch failed: sysdeps/x86_64/fpu/ftestexcept.c:26 error: sysdeps/x86_64/fpu/ftestexcept.c: patch does not apply