This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Go patch committed: Update to Go1.10beta1
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Ian Lance Taylor <iant at golang dot org>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, gofrontend-dev at googlegroups dot com
- Date: Thu, 11 Jan 2018 17:56:09 +0100
- Subject: Re: Go patch committed: Update to Go1.10beta1
- Authentication-results: sourceware.org; auth=none
- References: <CAOyqgcVjfA5w6qxyiCL+M=eb+Mu92nbqWSR4v6c9a1JkHHSZ7w@mail.gmail.com> <yddh8ruu6ci.fsf@CeBiTec.Uni-Bielefeld.DE>
Hi Ian,
>> This patch updates libgo to the Go1.10beta1 release. The final Go
>> 1.10 release is expected around February 1, so it's not clear how the
>> release timing is going to work with GCC 8. In any case this updates
>> GCC to something pretty close to the final Go 1.10 release.
>>
>> A few changes to the frontend were required to match changes in the
>> runtime map code, and to handle some no-writebarrier cases in the
>> runtime package.
>>
>> As usual with these updates the complete patch is too large to include
>> in this e-mail message. I've just included the changes to
>> gccgo-specific code.
>>
>> Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed
>> to mainline.
>
> the patch broke Solaris bootstrap:
>
> mv: cannot stat 'os/signal/internal/pty.s-gox.tmp': No such file or directory
> make[4]: *** [Makefile:3348: os/signal/internal/pty.s-gox] Error 1
> make[4]: *** Waiting for unfinished jobs....
>
> Fixed trivially as follows, which allowed the build to complete. make
> check still running...
there's another build failure, only affecting Solaris 10:
/vol/gcc/src/hg/trunk/local/libgo/go/os/user/cgo_lookup_unix.go:274:20: error: integer constant overflow
sp.Pw_uid = 1<<32 - 2
^
/vol/gcc/src/hg/trunk/local/libgo/go/os/user/cgo_lookup_unix.go:275:20: error: integer constant overflow
sp.Pw_gid = 1<<32 - 3
^
make[8]: *** [Makefile:3313: os/user.lo] Error 1
sysinfo.go has
type Passwd struct { Pw_name *int8; Pw_passwd *int8; Pw_uid int32; Pw_gid int32; Pw_age *int8; Pw_comment *int8; Pw_gecos *int8; Pw_dir *int8; Pw_shell *int8; }
while on S11 there is
type Passwd struct { Pw_name *int8; Pw_passwd *int8; Pw_uid uint32; Pw_gid uint32; Pw_age *int8; Pw_comment *int8; Pw_gecos *int8; Pw_dir *int8; Pw_shell *int8; }
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University