[Bug go/68931] New: gccgo fails to build using MUSL libc

2015-12-15 Thread gccbugzilla at daniel dot thecshore.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68931

Bug ID: 68931
   Summary: gccgo fails to build using MUSL libc
   Product: gcc
   Version: 5.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: go
  Assignee: ian at airs dot com
  Reporter: gccbugzilla at daniel dot thecshore.com
CC: cmang at google dot com
  Target Milestone: ---

Created attachment 37045
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37045&action=edit
Patch for missing types when building go with MUSL

Using MUSL gccgo fails to build due to missing types.

The patch attached resolves the issue:

[Bug go/68931] gccgo fails to build using MUSL libc

2015-12-16 Thread gccbugzilla at daniel dot thecshore.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68931

--- Comment #2 from Daniel Dickinson  
---
Sorry, the patch wasn't intended for inclusion as is; it is a patch I made for
OpenWrt (which has a configuration option CONFIG_USE_MUSL that is available to
the top-level Makefile).

The error that occurs when using musl combined with gccgo is:

sysinfo.go:6308:15: error: use of undefined type '_off64_t'
 type Offset_t _off64_t
   ^
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:360:11:
error: reference to undefined name '_loff_t'
   lroff = _loff_t(*roff)
   ^
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:366:11:
error: reference to undefined name '_loff_t'
   lwoff = _loff_t(*woff)
   ^
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
  var lroff _loff_t
^
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/syscall/libcall_linux.go:357:12:
error: use of undefined type '_loff_t'
libtool: compile: 
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0-final/./gcc/gccgo
-B/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0-final/./gcc/
-B/home/daniel/Build/openwrt/trunk/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/mips-openwrt-linux-musl/bin/
-B/home/daniel/Build/openwrt/trunk/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/mips-openwrt-linux-musl/lib/
-isystem
/home/daniel/Build/openwrt/trunk/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/mips-openwrt-linux-musl/include
-isystem
/home/daniel/Build/openwrt/trunk/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/mips-openwrt-linux-musl/sys-include
-O2 -g -DCONFIG_USE_MUSL -I . -c -fgo-pkgpath=math/cmplx
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/abs.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/asin.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/conj.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/exp.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/isinf.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/isnan.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/log.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/phase.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/polar.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/pow.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/rect.go
/home/daniel/Build/openwrt/trunk/openwrt/build_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgo/go/math/cmplx/s