On 03/27/2018 11:47 PM, Aurelien Jarno wrote: > Here is the coredump that I can get: > > Thread 1 "tst-bz21269" received signal SIGBUS, Bus error. > 0x565564a0 in do_test () at ../sysdeps/unix/sysv/linux/i386/tst-bz21269.c:217 > 217 while (atomic_load (&ftx) != 0) > (gdb) bt > #0 0x565564a0 in do_test () at ../sysdeps/unix/sysv/linux/i386/tst-bz21269.c:217 > #1 0x56556bc2 in support_test_main (argc=, argv=0xffffd518, config=0xffffd424) at support_test_main.c:321 > #2 0x56556061 in main (argc=2, argv=0xffffd514) at ../support/test-driver.c:164 > (gdb) print &ftx > $1 = (atomic_uint *) 0x5655a0e0 > (gdb) print ftx > $2 = 0 Ahh. I see. /* Fire up thread modify_ldt call. */ atomic_store (&ftx, 2); while (atomic_load (&ftx) != 0) ; /* On success, modify_ldt will segfault us synchronously and we will escape via siglongjmp. */ support_record_failure (); But: xsethandler (SIGSEGV, sigsegv_handler, 0); /* 32-bit kernels send SIGILL instead of SIGSEGV on IRET faults. */ xsethandler (SIGILL, sigsegv_handler, 0); So some kernels apparently use SIGBUS instead, and the crash actually shows the test succeeded. Would you please try the attached patch? Thanks, Florian