Sadly the situation continues here on Debian sparc64 :
. . . /bin/bash ../../libtool --tag=CC --mode=link /usr/bin/sparc64-linux-gnu-gcc-10 -std=iso9899:1999 -m64 -g -O0 -pedantic -pedantic-errors -fno-builtin -fno-fast-math -mhard-float -mno-app-regs -mflat -mhard-quad-float -mno-unaligned-doubles -mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis -mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc -mno-subxc -mcmodel=medany -mmemory-model=tso -no-install -o t-scanf t-scanf.o ../../tests/libtests.la ../../libgmp.la libtool: link: /usr/bin/sparc64-linux-gnu-gcc-10 -std=iso9899:1999 -m64 -g -O0 -pedantic -pedantic-errors -fno-builtin -fno-fast-math -mhard-float -mno-app-regs -mflat -mhard-quad-float -mno-unaligned-doubles -mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis -mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc -mno-subxc -mcmodel=medany -mmemory-model=tso -o t-scanf t-scanf.o ../../tests/.libs/libtests.a /opt/bw/build/gmp-6.2.1_5.9.0-4-sparc64-smp.001/.libs/libgmp.so ../../.libs/libgmp.so -Wl,-rpath -Wl,/opt/bw/build/gmp-6.2.1_5.9.0-4-sparc64-smp.001/.libs -Wl,-rpath -Wl,/opt/bw/lib /usr/bin/sparc64-linux-gnu-gcc-10 -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../tests -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -D_XOPEN_SOURCE=600 -std=iso9899:1999 -m64 -g -O0 -pedantic -pedantic-errors -fno-builtin -fno-fast-math -mhard-float -mno-app-regs -mflat -mhard-quad-float -mno-unaligned-doubles -mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis -mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc -mno-subxc -mcmodel=medany -mmemory-model=tso -c -o t-locale.o t-locale.c /bin/bash ../../libtool --tag=CC --mode=link /usr/bin/sparc64-linux-gnu-gcc-10 -std=iso9899:1999 -m64 -g -O0 -pedantic -pedantic-errors -fno-builtin -fno-fast-math -mhard-float -mno-app-regs -mflat -mhard-quad-float -mno-unaligned-doubles -mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis -mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc -mno-subxc -mcmodel=medany -mmemory-model=tso -no-install -o t-locale t-locale.o ../../tests/libtests.la ../../libgmp.la libtool: link: /usr/bin/sparc64-linux-gnu-gcc-10 -std=iso9899:1999 -m64 -g -O0 -pedantic -pedantic-errors -fno-builtin -fno-fast-math -mhard-float -mno-app-regs -mflat -mhard-quad-float -mno-unaligned-doubles -mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis -mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc -mno-subxc -mcmodel=medany -mmemory-model=tso -o t-locale t-locale.o ../../tests/.libs/libtests.a /opt/bw/build/gmp-6.2.1_5.9.0-4-sparc64-smp.001/.libs/libgmp.so ../../.libs/libgmp.so -Wl,-rpath -Wl,/opt/bw/build/gmp-6.2.1_5.9.0-4-sparc64-smp.001/.libs -Wl,-rpath -Wl,/opt/bw/lib make[4]: Leaving directory '/opt/bw/build/gmp-6.2.1_5.9.0-4-sparc64-smp.001/tests/misc' /usr/bin/make check-TESTS make[4]: Entering directory '/opt/bw/build/gmp-6.2.1_5.9.0-4-sparc64-smp.001/tests/misc' make[5]: Entering directory '/opt/bw/build/gmp-6.2.1_5.9.0-4-sparc64-smp.001/tests/misc' ../../test-driver: line 107: 51992 Segmentation fault "$@" > $log_file 2>&1 FAIL: t-printf PASS: t-scanf PASS: t-locale ============================================================================ Testsuite summary for GNU MP 6.2.1 ============================================================================ # TOTAL: 3 # PASS: 2 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 ============================================================================ See tests/misc/test-suite.log Well that log offers very little : ceres$ cat tests/misc/test-suite.log ============================================= GNU MP 6.2.1: tests/misc/test-suite.log ============================================= # TOTAL: 3 # PASS: 2 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: t-printf ============== FAIL t-printf (exit status: 139) ceres$ I have been single stepping my way through t-printf and I always end up inside glibc obstack world and memcpy assembly. I glanced at glibc 2.31 where I see obstack.c line 167 inside : 143 int 144 _obstack_begin (struct obstack *h, 145 int size, int alignment, 146 void *(*chunkfun) (long), 147 void (*freefun) (void *)) . . . 167 size = 4096 - extra; etc etc. Looks very familiar however we tested that : long f(long arg){return 4096 - arg;} ... works just fine with gcc regardless of the new patch. So that can not be related. If I just let things proceed I end up at : Program received signal SIGSEGV, Segmentation fault. __memcpy_large () at ../sysdeps/sparc/sparc64/memcpy.S:370 370 stb %g5, [%o0 - 2] /* Store */ (gdb) (gdb) where #0 __memcpy_large () at ../sysdeps/sparc/sparc64/memcpy.S:370 #1 0x000001000000a9f0 in tests_allocate (size=1099511750592) at memory.c:102 #2 0x0000010000007620 in check_one (want=0x1000001dfc0 " 123", fmt=0x100001267a8 "%10Nd") at t-printf.c:312 #3 0x0000010000007af4 in check_z () at t-printf.c:424 #4 0x000001000000a6d0 in main (argc=1, argv=0x7fefffff628) at t-printf.c:945 (gdb) This feels like deep water at this point because after glancing around inside tests/memory.c at both tests_allocate() and tests_free_nosize() due to : 37:#define obstack_chunk_alloc tests_allocate 38:#define obstack_chunk_free tests_free_nosize I just go single stepping around madly for a while and that includes into the sources of glibc-2.31 and I simply got lost. Is there an easier way to track this down? -- Dennis Clarke RISC-V/SPARC/PPC/ARM/CISC UNIX and Linux spoken GreyBeard and suspenders optional _______________________________________________ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs