https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77261
Bug ID: 77261 Summary: gfortran.dg/random_3.f90 FAILs Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libfortran Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: jb at gcc dot gnu.org Target Milestone: --- Host: sparc*-sun-solaris2.* Target: sparc*-sun-solaris2.* Build: sparc*-sun-solaris2.* Between 20160805 and 20160811, the gfortran.dg/random_3.f90 test started to FAIL on Solaris/SPARC (both 32 and 64-bit): +FAIL: gfortran.dg/random_3.f90 -O0 execution test +FAIL: gfortran.dg/random_3.f90 -O1 execution test +FAIL: gfortran.dg/random_3.f90 -O2 execution test +FAIL: gfortran.dg/random_3.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test +FAIL: gfortran.dg/random_3.f90 -O3 -g execution test +FAIL: gfortran.dg/random_3.f90 -Os execution test and according to gcc-testresults a couple of other targets are affected as well: at least aarch64, powerpc64*, and s390x. This must be due to 2016-08-11 Janne Blomqvist <j...@gcc.gnu.org> * intrinsics/random.c: Replace KISS with xorshift1024* using per-thread state. * runtime/main.c (init): Don't call random_seed_i4. On Solaris/SPARC, I find Thread 2 received signal SIGABRT, Aborted. [Switching to Thread 1 (LWP 1)] 0xfef5b288 in __lwp_sigqueue () from /lib/libc.so.1 (gdb) where #0 0xfef5b288 in __lwp_sigqueue () from /lib/libc.so.1 #1 0xfee97184 in raise () from /lib/libc.so.1 #2 0xfee6a170 in abort () from /lib/libc.so.1 #3 0xff2cec5c in _gfortrani_sys_abort () at /vol/gcc/src/hg/trunk/local/libgfortran/runtime/error.c:182 #4 0xff368930 in _gfortran_abort () at /vol/gcc/src/hg/trunk/local/libgfortran/intrinsics/abort.c:33 #5 0x000114a0 in random_4 () at /vol/gcc/src/hg/trunk/local/gcc/testsuite/gfortran.dg/random_3.f90:28 #6 0x000114e4 in main (argc=1, argv=0xffbffa38) at /vol/gcc/src/hg/trunk/local/gcc/testsuite/gfortran.dg/random_3.f90:29 #7 0x00010ef0 in _start () #5 0x000114a0 in random_4 () at /vol/gcc/src/hg/trunk/local/gcc/testsuite/gfortran.dg/random_3.f90:28 28 if (any ((r8 - r10) .gt. delta)) call abort (gdb) p r8 $1 = (0.33531091697986526, 0.49560326111744801, 0.27202821216533879, 0.14310502215036824, 0.52840260117005033, 0.40848924836193379, 0.99531496953458853, 0.27001843112503765, 0.95295363932045984, 0.14316668825144485) (gdb) p r10 $2 = (0.33531091697986526218176681400279274, 0.27202821216533887067191155296717697, 0.5284026011700503506437776191974859, 0.99531496953458854300698251805465629, 0.95295363932045989983140359118424494, 0.14316668825144487670941584544780525, 0.6092459765628781765258926440263291, 0.54591083895721370176324787139563687, 0.059215945881747894214465842169322417, 0.49226030310682212563454955026951127) Rainer