This doesn't seem to affect our actual native gcc build, since it
compiles gotools just fine, which means the macro is never triggered.
However, it does help our x86 crosstoolchains, as otherwise the
gccgo crosscompiler seems to think that -fsplit-stack can be passed.
This is because of gcc/go/gospec.c, which contains code like this:
```
supports_split_stack = 1;
/* If we are linking, pass -fsplit-stack if it is supported. */
if ((library >= 0) && supports_split_stack)
{
generate_option (OPT_fsplit_stack, NULL, 1, CL_DRIVER,
&new_decoded_options[j]);
j++;
}
```
Also, refactor gccgo enablement code and reenable it on i686-musl.
Fixes https://github.com/void-linux/void-packages/issues/22742