On Wed, 2019-01-23 at 16:36 +0100, Samuel Thibault wrote: > Svante Signell, le mer. 23 janv. 2019 15:37:06 +0100, a ecrit: > > I'll take a look. Maybe these issues are causing the SIGILL errors in the > > gcc libgo tests. > > They might be indeed.
Hello, I've built and installed glibc-2.28-5 with the patches in https://sourceware.org/bugzilla/show_bug.cgi?id=24110 threadinit-set-SS_DISABLE.patch and sigaltstack-set-SS_DISABLE.patch with an equals sign in the first patch ss->sigaltstack.ss_flags = SS_DISABLE; not adding to the ss_flags as in Samuels patch ss->sigaltstack.ss_flags |= SS_DISABLE; I don't know which version is the correct one! Please advise. However, the test programs works fine: foo.c gives: main-thread sigaltstack: enabled=no onstack=no sp=0x0 size=0x0 alternate stack installed main-thread sigaltstack: enabled=yes onstack=no sp=0x1ff9cdf size=0xa000 thread2 running thread2 sigaltstack: enabled=no onstack=no sp=0x0 size=0x0 thread2 alternate stack installed thread2 sigaltstack now: enabled=yes onstack=no sp=0x2ffbf7f size=0xa000 main-thread sigaltstack: enabled=yes onstack=no sp=0x1ff9cdf size=0xa000 SUPPORTED and use-initial-alternate-stack.c does not output " Illegal instruction" :) I've also run the libgo tests in gcc-9-9-20190120-1 and all 13 failing tests returning "Illegal instruction (SIGILL)" now does not with the patched glibc. However, all these tests are still failing, but now mainly with SIGABRT or "signal 20 (SIGCHLD) received but handler not on signal stack" or "signal 30 (SIGUSR1) received but handler not on signal stack". So I think there are still more bugs to hunt down. Thanks!