Arithmetic bug on ARM (STM 32 F4)
Torbjörn Granlund
tg at gmplib.org
Thu Jan 21 20:17:21 UTC 2021
ttt =
3578942983869995381409279381784954092773488221200587338717407747084074518600438737913956360066709506626656635118978526559637095289631190671071178702312877654
but ttt should be
5247183143879283565064056089869553515440215252945038779070795247972433237341511292686962488915110675351673985513318500576097977116134885013371639187873069514
I give the code to reproduce the bug in attachment.
GMP is built with the options:
CC=/home/titouan/Softs/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc
../configure CFLAGS="-nostartfiles --specs=nosys.specs -mcpu=cortex-m4"
--host=arm-none-eabi --disable-assembly --prefix=YOUR_CHOICE
As you might guess, GMP's mod operation has been tested a lot during
GMP's 30 years of existence. A completely fundamental bug like the one
you observe is of course still possible, but incredibly unlikely.
It is much more likely that the compiler you used for compiling GMP is
buggy. That's indeed where you should start looking.
Unfortunatly, we cannot help. We don't know what compiler you used, and
even if we did, we don't have access to it.
--
Torbjörn
Please encrypt, key id 0xC8601622
More information about the gmp-bugs
mailing list