This change exposes a few bugs in the soft-fp implementations for PPC. The current feholdexcept implementation has where it uses fesetenv to resort the current env: /* Get the current state. */ fegetenv (envp); u.fenv = *envp; /* Clear everything except the rounding mode. */ u.l[0] &= 0x3; /* ?? Should we clear the disabled exceptions as well ?? */ /* Put the new state in effect. */ fesetenv (envp); Which is incorrect. It should disable exceptions and pass the updated env to fesetenv: /* Disable exceptions */ u.l[1] = FE_ALL_EXCEPT; /* Put the new state in effect. */ fesetenv (&u.fenv); Finally the powerpc/nofpu version is missing the libm_hidden_def which results in a link error in make check. The attached patch fixes all of these problems.