libgo: adjust sysinfo scripts for changed -fdump-go-spec

The -fdump-go-spec flag to GCC recently changed to be more fastidious
about handling incomplete types. This caused some breakage in
mk[r] on Solaris. This commit adjusts for the new behavior.

  * Types that refer to _in6_addr may be hidden behind a typedef and can
    no longer be filtered out with `grep -v in6_addr`. Instead just
    rewrite the definition of _in6_addr to [16]byte wherever it appears.

  * timestruc_t is now (correctly) emitted as an alias for timespec, so this
    case is handled specially.

  * stdio.h is included in sysinfo.c to avoid emitting an incomplete
    definition of the FILE type.

  * Dummy definitions for _u?pad128_t are now emitted automatically,
    which conflict with the definitions installed by mk[r]
    These definitions were actually dead code, so just remove them.

Change-Id: I5395caad866524ccc61afcf90e0b6adf785ce62b
Reviewed-by: Ian Lance Taylor <>
Trust: Emmanuel Odeke <>
Trust: Cherry Zhang <>
Run-TryBot: Emmanuel Odeke <>
3 files changed