Broad valgrind run

Torbjörn Granlund tg at
Tue Jun 9 11:02:42 UTC 2015

tg at (Torbjörn Granlund) writes:

  I tried adding -fsanitize=address to the default options on the system
  ivyubu64v1504 (access via as usually).  A 64-bit build
  passed all tests, but alas, a 32-bit build fails two tests:
  make[4]: Entering directory '/var/tmp/gmp-obj/otmp/tests/mpq'
  FAIL: t-get_d
  FAIL: reuse
  The complaints are the same.  This is likely a real GMP bug.
  ==7100==ERROR: AddressSanitizer: stack-buffer-overflow on address 0xffba2d0c at pc 0xf70202e5 bp 0xffba2c14 sp 0xffba2c04
  WRITE of size 4 at 0xffba2d0c thread T0
      #0 0xf70202e4 in __gmpn_mod_1s_2p_cps (/var/tmp/gmp-obj/otmp/.libs/
      #1 0xf701f64a in __gmpn_mod_1 (/var/tmp/gmp-obj/otmp/.libs/
      #2 0xf703e216 in __gmpn_gcd_1 (/var/tmp/gmp-obj/otmp/.libs/

I could see nothing wrong with the write complained about.  But the
gcd_1.asm in question did not align the stack properly, and after having
fixed that the checker is happier.

I have spotted the same ABI adherence error in other x86-32 assembly
files.  This sort of things should be caught by the calling_conventions
stuff of the test suite.  I'll fix that before fixing any other assembly

Please encrypt, key id 0xC8601622

More information about the gmp-devel mailing list