https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122211

--- Comment #9 from John Paul Adrian Glaubitz <glaubitz at physik dot 
fu-berlin.de> ---
(In reply to John Paul Adrian Glaubitz from comment #8)
> (In reply to Andreas Schwab from comment #7)
> > Replace "=g" with "=dm".
> 
> Like this?
> 
> --- python3.14-3.14.0.orig/Include/internal/pycore_pymath.h
> +++ python3.14-3.14.0/Include/internal/pycore_pymath.h
> @@ -146,7 +146,7 @@ extern void _Py_set_387controlword(unsig
>      unsigned int old_fpcr, new_fpcr
>  #define _Py_SET_53BIT_PRECISION_START                                   \
>      do {                                                                \
> -        __asm__ ("fmove.l %%fpcr,%0" : "=g" (old_fpcr));                \
> +        __asm__ ("fmove.l %%fpcr,%0" : "=dm" (old_fpcr));               \
>          /* Set double precision / round to nearest.  */                 \
>          new_fpcr = (old_fpcr & ~0xf0) | 0x80;                           \
>          if (new_fpcr != old_fpcr) {                                     \

OK, that still crashes with SIGILL.

Reply via email to