-
Notifications
You must be signed in to change notification settings - Fork 319
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GCC 11.2 #564
GCC 11.2 #564
Conversation
Signed-off-by: Miguel Ojeda <[email protected]>
Compilation for GCC 11.2.0 is failing, but I can't figure out Why exactly' |
|
The error seems to be that Has something changed in the environment you are building? For instance, someone hit this due to Docker blocking the #include <pthread.h>
#include <stdlib.h>
#include <ucontext.h>
#include <unistd.h>
__thread int tls;
static char stack[10 * 1024 * 1024];
static ucontext_t c;
/* Called via makecontext/setcontext. */
static void
cfn (void)
{
exit (tls);
}
/* Called via pthread_create. */
static void *
tfn (void *dummy)
{
/* The thread should still see this value after calling
setcontext. */
tls = 0;
setcontext (&c);
/* The call to setcontext should not return. */
abort ();
}
int
main ()
{
pthread_t tid;
/* The thread should not see this value. */
tls = 1;
if (getcontext (&c) < 0)
abort ();
c.uc_stack.ss_sp = stack;
#ifdef MAKECONTEXT_STACK_TOP
c.uc_stack.ss_sp += sizeof stack;
#endif
c.uc_stack.ss_flags = 0;
c.uc_stack.ss_size = sizeof stack;
c.uc_link = NULL;
makecontext (&c, cfn, 0);
if (pthread_create (&tid, NULL, tfn, NULL) != 0)
abort ();
if (pthread_join (tid, NULL) != 0)
abort ();
/* The thread should have called exit. */
abort ();
} |
What was the problem in the end? Docker? |
Probably, it got solved when I upgraded the host from Ub18 to 20 (had to rebuild the instance from scratch due to other reasons, but was based on a really old version of our builder) |
Thanks! |
CE: compiler-explorer/compiler-explorer#2822