On 30.09.23 14:53, Torbjörn Granlund wrote: > Stefan Liebler <s...@linux.ibm.com> writes: > > The returned limb was retrieved from v6 instead of v2. > This is also observable in failing testcase t-fat. > > While I agree the code looks suspicious, I fail to trigger any test > suite failure for any Z/arch configuration. > > How exactly did you trigger it? > > (I try to avoid fixing any GMP bugs without making sure we trigger it > with our testsuite and test system setup.) > > I'm using a z16 with Fedora 37 (gcc 12.2.1). There I've just run: <gmp-sources>$ ./.bootstrap <gmp-build-dir>$ <gmp-sources>/configure <gmp-build-dir>$ make <gmp-build-dir>$ make check
../../../gmp/test-driver: line 112: 2635694 Aborted (core dumped) "$@" >> "$log_file" 2>&1 FAIL: t-fat (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=<optimized out>, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x000003fff7ca1466 in __pthread_kill_internal (signo=<optimized out>, threadid=<optimized out>) at pthread_kill.c:78 #2 0x000003fff7c51640 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x000003fff7c345c0 in __GI_abort () at abort.c:79 #4 0x000003fff7e8de08 in __gmp_assert_fail (filename=filename@entry=0x100c01e "/home/stli/libgmpDir/gmp/tests/mpn/t-fat.c", linenum=linenum@entry=138, expr=expr@entry=0x100c058 "r == 0") at /home/stli/libgmpDir/gmp/assert.c:57 #5 0x00000000010030ca in check_functions () at /home/stli/libgmpDir/gmp/tests/mpn/t-fat.c:138 #6 0x0000000001002a04 in main () at /home/stli/libgmpDir/gmp/tests/mpn/t-fat.c:305 │ 133 for (i = 0; i < 2; i++) │ 134 { │ 135 xp[0] = 1296; │ 136 r = mpn_divexact_by3c (wp, xp, (mp_size_t) 1, CNST_LIMB(0)); │ 137 ASSERT_ALWAYS (wp[0] == 432); │ > 138 ASSERT_ALWAYS (r == 0); │ 139 } In my case, before calling mpn_divexact_by3c v6 was {0x1, 0x0} and thus mpn_bdiv_dbm1c returns 0x1, which is ANDed with 3 and then also returned by mpn_divexact_by3c. Therefore the test fails by chance. I assume, you are using a different gcc version. _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel