https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79281

--- Comment #3 from James Clarke <jrtc27 at jrtc27 dot com> ---
I believe the problem is in the "m" type in runtime2.go. There are 4 bools in a
row, which is fine, as they will take up 4 bytes, but then "printlock" is an
int8, which means "fastrand" will only be 2-byte aligned. This continues with
"ncgocall" and "ncgo" being 2-byte aligned, and then the "park" field will also
be 2-byte aligned only. Is there a way to tell gcngo that the "note" struct
(and in theory the "mutex" struct too, since that will be a futex, and I don't
know if anything embeds it incorrectly-aligned) should be 4-byte aligned, i.e.
an equivalent of __attribute__((aligned(4)))?

Reply via email to