https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102838
Bug ID: 102838 Summary: [12 regression] Several tests SEGV in gomp_loop_ull_init Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgomp Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- Target: i?86-pc-solaris2.11, x86_64-pc-solaris2.11 Between 20211007 (5c1838c01652a403498e27024cb0e5ea66376353) and 20211008 (db3d7270b42fe27fb05664c4fdf524ab7ad13a75), quite a number of libgomp testcases began to FAIl on 32-bit Solaris/x86 only: FAIL: libgomp.c++/../libgomp.c-c++-common/for-1.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-11.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-12.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-14.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-15.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-2.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-5.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-6.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-7.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/for-8.c execution test FAIL: libgomp.c++/../libgomp.c-c++-common/task-reduction-11.c execution test FAIL: libgomp.c++/loop-11.C execution test FAIL: libgomp.c++/loop-8.C execution test FAIL: libgomp.c/../libgomp.c-c++-common/for-1.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/for-16.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/for-2.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/for-3.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/for-7.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/for-8.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/for-9.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/lastprivate-conditional-1.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/lastprivate-conditional-5.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/monotonic-2.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/nonmonotonic-2.c execution test FAIL: libgomp.c/../libgomp.c-c++-common/task-reduction-11.c execution test FAIL: libgomp.c/loop-12.c execution test FAIL: libgomp.c/loop-6.c execution test FAIL: libgomp.fortran/pointer2.f90 -O2 execution test I manually built the C version of for-1.c. Running it works, but when I add OMP_NUM_THREADS=8 as happens during a regular make check, the test SEGVs: Thread 9 received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0xfe5d7fc8 in gomp_loop_ull_init (chunk_size=32, sched=GFS_GUIDED, incr=2, end=2147486647, start=2147483647, up=true, ws=0x80774b8) at /vol/gcc/src/hg/master/local/libgomp/loop_ull.c:48 48 ws->end_ull = ((up && start > end) || (!up && start < end)) => 0xfe5d7fc8 <gomp_loop_ull_guided_start+424>: movaps %xmm0,0x10(%esi) (gdb) p/x $esi $1 = 0x80774b8 (gdb) where #0 0xfe5d7fc8 in gomp_loop_ull_init (chunk_size=32, sched=GFS_GUIDED, incr=2, end=2147486647, start=2147483647, up=true, ws=0x80774b8) at /vol/gcc/src/hg/master/local/libgomp/loop_ull.c:48 #1 gomp_loop_ull_guided_start (up=true, start=2147483647, end=2147486647, incr=2, chunk_size=32, istart=0xfeffd910, iend=0xfeffd918) at /vol/gcc/src/hg/master/local/libgomp/loop_ull.c:157 #2 0x080600bd in f1_f_guided32 () #3 0x08061105 in test_f_guided32 () #4 0xfeffda80 in ?? () #5 0x08062c63 in main () Obviously %esi isn't properly aligned, which lets me suspect this is an i386 bug and not libgomp proper.