https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79112
--- Comment #5 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- It seems that the error message says all. TIOCGWINSZ is defined as #define TIOCGWINSZ 0x80087468 /* _IOR('t', 104, struct winsize) */ in the SH kernel header asm/ioctls.h. Perhaps you could change it to #define TIOCGWINSZ (int)0x80087468 /* _IOR('t', 104, struct winsize) */ so to avoid that error. I'm not sure that this is go problem or usual SH kernel header problem. And I'm not sure that go can work well on SH even if it can be built. I guess 32-bit ports without split stack can run small go applications only. The patch is welcome, of course.