https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121115
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|NEW |RESOLVED --- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Look into resolve_workqueue. I think there is an alias violation in there. __gc_stkf is an array of 3 void* and is stored via void*. (_2-8B)->gcstack is stored off in __gc_stkf inside the array. And then __gc_stkf is stored off to (_2-8B)->gcstack which is fine. But then we load from __gc_stkf but via jl_task_t*->prev to get the original value of (_2-8B)->gcstack. That is definitely an alias violation.