This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Go patches committed: merge recent changes to gofrontend


On Fri, May 12, 2017 at 3:25 AM, Thomas Schwinge
<thomas@codesourcery.com> wrote:
>
> This doesn't block me in any way, but I wanted to report it anyway:
>
> On Wed, 10 May 2017 10:26:15 -0700, Ian Lance Taylor <iant@golang.org> wrote:
>> I have committed a large patch to update the Go frontend and libgo to
>> the recent changes in the gofrontend repository.
>
> Doing an incremental rebuild, that ran into:
>
>     [...]/source-gcc/libgo/go/runtime/heapdump.go:379:14: error: reference to undefined identifier 'sys.Goexperiment'
>       dumpstr(sys.Goexperiment)
>                   ^
>     make[3]: *** [runtime.lo] Error 1
>     make[3]: Leaving directory `[...]/build-gcc/x86_64-pc-linux-gnu/libgo'
>     make[2]: *** [all-recursive] Error 1
>     make[2]: Leaving directory `[...]/build-gcc/x86_64-pc-linux-gnu/libgo'
>     make[1]: *** [all] Error 2
>     make[1]: Leaving directory `[...]/build-gcc/x86_64-pc-linux-gnu/libgo'
>     make: *** [all-target-libgo] Error 2
>
> Removing "x86_64-pc-linux-gnu/libgo", and rebuilding, it passed.
>
> There is:
>
>> commit eab2960aee91d3e3a6baa5b1bce01262d24c714f
>> Author: Ian Lance Taylor <iant@golang.org>
>> Date:   Thu Apr 20 17:08:19 2017 -0700
>>
>>     runtime/internal/sys: define Goexperiment
>>
>>     The gc toolchain defines Goexperiment based on the environment
>>     variable GOEXPERIMENT when the toolchain is built.  We just always set
>>     Goexperiment to the empty string.
>>
>>     Reviewed-on: https://go-review.googlesource.com/41292
>
> | diff --git a/libgo/Makefile.am b/libgo/Makefile.am
> | index f600a83..f4bf2bc 100644
> | --- a/libgo/Makefile.am
> | +++ b/libgo/Makefile.am
> |
> | @@ -512,6 +512,7 @@
> |       echo "package sys" > version.go.tmp
> |       echo 'const DefaultGoroot = "$(prefix)"' >> version.go.tmp
> |       echo 'const TheVersion = "'`cat $(srcdir)/VERSION | sed 1q`' '`$(GOC) --version | sed 1q`'"' >> version.go.tmp
> | +     echo 'const Goexperiment = ``' >> version.go.tmp
> |       echo 'const GOARCH = "'$(GOARCH)'"' >> version.go.tmp
> |       echo 'const GOOS = "'$(GOOS)'"' >> version.go.tmp
> |       echo 'const GccgoToolDir = "$(libexecsubdir)"' >> version.go.tmp
>
> In the failed build's tree, I do see that the Makefile has been renewed,
> but the version.go file has not yet been, at the time the build failed.
> Is there some missing dependency, or should that be implicit?
> libgo/go/runtime/heapdump.go also is new, and is the only user of
> sys.Goexperiment, as far as I can tell.

Thanks.  I don't know what would cause that.  The dependencies in
libgo/Makefile.am look right to me.  They do the same kind of thing as
I see in gcc/Makefile.in (for example, for cs-config.h).  If anybody
has any ideas, please let me know.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]