macOS Catalina: FAIL: t-powm

Jack Howarth howarth.mailing.lists at
Sat Nov 16 02:31:00 UTC 2019

On Fri, Nov 15, 2019 at 6:42 AM Torbjörn Granlund <tg at> wrote:

> Apple has released a new version of Xcode.  It is said to fix some issue
> with UITextView, and as the update size is 8 GiB UITextView must be a
> very large function.
> But hopefully they also managed to fix the C compiler to miscompile many
> of our functions.
> --
> Torbjörn
> Please encrypt, key id 0xC8601622

     The failure in the t-powm test case isn't fixed by Xcode 11.2 and
still exists in Xcode 11.3 beta. Note that Apple's clang diverges enough
from LLVM clang that there will be Apple specific regressions not present
in the LLVM clang compiler. However I have found the triggering compiler
flag. Using Xcode 11.3 beta and the building with...

make check

I get the test case failure when the default compile flags are used for
t-powm.c. However, if I execute at that point...

cd tests/mpz
gcc -DHAVE_CONFIG_H -I. -I../..  -I../.. -I../../tests   -O2 -pedantic -m64
-mtune=core2 -march=core2 -c -o t-powm.o t-powm.c

with the -fomit-frame-pointer removed and then execute...

cd ../..
make check

I get the desired...

PASS: t-powm

Is the problematic test case being compiled with....

gcc -DHAVE_CONFIG_H -I. -I../..  -I../.. -I../../tests   -O2 -pedantic
-fomit-frame-pointer -m64 -mtune=core2 -march=core2 -c -o t-powm.o t-powm.c

on your Mac?

More information about the gmp-bugs mailing list