2020-03-12  Release Manager

	* GCC 9.3.0 released.

2019-08-12  Release Manager

	* GCC 9.2.0 released.

2019-05-03  Release Manager

	* GCC 9.1.0 released.

2019-02-28  Ian Lance Taylor  <iant@golang.org>

	PR go/89406
	* Makefile.am (GOTOOLS_TEST_TIMEOUT): Double.
	* Makefile.in: Regenerate.

2019-02-12  Ian Lance Taylor  <iant@golang.org>

	PR go/89193
	* Makefile.am (mostlyclean-local): Avoid getting an error from
	chmod.  Remove check-vet-dir and gocache-test.
	* Makefile.in: Regenerate.

2019-01-28  Uroš Bizjak  <ubizjak@gmail.com>

	* Makefile.in: Really regenerate.

2019-01-18  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (go_cmd_vet_files): Update for Go1.12beta2 release.
	(GOTOOLS_TEST_TIMEOUT): Increase to 600.
	(check-runtime): Export LD_LIBRARY_PATH before computing GOARCH
	and GOOS.
	(check-vet): Copy golang.org/x/tools into check-vet-dir.
	* Makefile.in: Regenerate.

2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* config/go.m4: Remove file.
	* Makefile.am (ACLOCAL_AMFLAGS): Do not use -I ./config.
	* configure.ac:  Remove AC_PREREQ.  Do not include config/go.m4.
	* Makefile.in, aclocal.m4, configure: Regenerate.

2018-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (mostlyclean-local): Ignore chmod errors.
	(check-go-tool): Likewise.
	* Makefile.in: Regenerate.

2018-09-24  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (mostlyclean-local): Run chmod on check-go-dir to
	make sure it is writable.
	(check-go-tools): Likewise.
	(check-vet): Copy internal/objabi to check-vet-dir.
	* Makefile.in: Rebuild.

2018-05-09  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (check-go-tool): Don't copy zstdpkglist.go.
	* Makefile.in: Rebuild.

2018-05-04  Ian Lance Taylor  <iant@golang.org>

	PR go/85630
	* Makefile.am (CHECK_ENV): Set GOCACHE.
	(ECHO_ENV): Update for setting of GOCACHE.
	* Makefile.in: Rebuild.

2018-21-03  Uros Bizjak  <ubizjak@gmail.com>

	* Makefile.am (check-runtime): Pass -test.timeout
	with GOTOOLS_TEST_TIMEOUT.
	* Makefile.in: Rebuild.

2018-02-09  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (GOTOOLS_TEST_TIMEOUT): Double value.

2018-02-08  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (check-gccgo, check-gcc): Add options to pick up
	target libstdc++, to permit tests that use C++.
	* Makefile.in: Rebuild.

2018-01-18  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (GOTOOLS_TEST_TIMEOUT): Define.
	(check-go-tool): Pass -test.timeout with GOTOOLS_TEST_TIMEOUT.
	(check-cgo-test, check-carchive-test, check-vet): Likewise.
	* Makefile.in: Rebuild.

2018-01-08  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (go_cmd_vet_files): New variable.
	(go_cmd_buildid_files, go_cmd_test2json_files): New variables.
	(s-zdefaultcc): Change from constants to functions.
	(noinst_PROGRAMS): Add vet, buildid, and test2json.
	(cgo$(EXEEXT)): Link against $(LIBGOTOOL).
	(vet$(EXEEXT)): New target.
	(buildid$(EXEEXT)): New target.
	(test2json$(EXEEXT)): New target.
	(install-exec-local): Install all $(noinst_PROGRAMS).
	(uninstall-local): Uninstasll all $(noinst_PROGRAMS).
	(check-go-tool): Depend on $(noinst_PROGRAMS).  Copy down
	objabi.go.
	(check-runtime): Depend on $(noinst_PROGRAMS).
	(check-cgo-test, check-carchive-test): Likewise.
	(check-vet): New target.
	(check): Depend on check-vet.  Look at cmd_vet-testlog.
	(.PHONY): Add check-vet.
	* Makefile.in: Rebuild.

2017-10-25  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (check-go-tool): Output colon after ${fl}.
	(check-runtime, check-cgo-test, check-carchive-test): Likewise.
	* Makefile.in: Rebuild.

2017-09-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (GOTESTFLAGS): New variable.
	(check-runtime): Pass it to gotest.
	(check-go-tools): Sort summary.
	(check-runtime): Likewise.
	(check-cgo-test): Likewise.
	(check-carchive-test): Likewise.
	(check): Likewise.
	* Makefile.in: Regenerate.

2017-09-14  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (LIBGOTOOL): Define.
	(go_cmd_go_files): Update for Go 1.9 release.
	(go$(EXEEXT)): Depend on and link against $(LIBGOTOOL).
	(CHECK_ENV): Add definition of shell variable fl.
	(check-go-tool): Update for rearrangement of cmd/go sources in Go
	1.9 release.  Echo failure message if test fails.
	(check-runtime): Echo failure message if test fails.
	(check-cgo-test, check-carchive-test): Likewise.
	* Makefile.in: Rebuild.

2017-08-30  Ian Lance Taylor  <iant@golang.org>

	* configure.ac: Substitute GOC_FOR_TARGET and GCC_FOR_TARGET.
	* Makefile.am (MOSTLYCLEANFILES): Add check-gcc.
	(check-gccgo): Create via a temporary file.
	(check-gcc): New target.
	(CHECK_ENV): Set CC.
	(ECHO_ENV): Report CC.
	(check-go-tool): Depend on check-gcc.
	(check-runtime, check-cgo-test, check-carchive-test): Likewise.
	* configure, Makefile.in: Rebuild.

2017-07-26  Ian Lance Taylor  <iant@golang.org>

	PR go/81548
	* Makefile.am (MOSTLYCLEANFILES): Add *.sent.
	* Makefile.in: Rebuild.

2017-07-15  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (CHECK_ENV): Set GOROOT.
	(ECHO_ENV): Report setting GOROOT.
	* Makefile.in: Rebuild.

2017-06-29  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (MOSTLYCLEANFILES): Remove testing files and logs.
	(mostlyclean-local): Remove check-runtime-dir, cgo-test-dir,
	carchive-test-dir.
	(ECHO_ENV): Define.
	(check-go-tool): Depend on cgo.  Write command to testlog.
	(check-runtime): New target.
	(check-cgo-test): New target.
	(check-carchive-test): New target.
	(check): Depend on check-runtime, check-cgo-test,
	check-carchive-test.  Add @ to prettify output.
	(.PHONY): Add check-runtime, check-cgo-test, check-carchive-test.
	* Makefile.in: Rebuild.

2017-06-26  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC
	or defaultCXX.
	* Makefile.in: Rebuild.

2017-06-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (check-go-tool): Don't use >& for I/O redirection.
	* Makefile.in: Regenerate.

2017-06-14  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (libgosrcdir): Define.
	(check-head, check-gccgo, check-go-tool): New targets.
	(CHECK_ENV): Define.
	(check): New target.
	(mostlyclean-local): New target.
	* Makefile.in: Rebuild.

2017-06-13  Ian Lance Taylor  <iant@golang.org>

	PR go/80964
	* configure.ac: Set NATIVE if host_alias = target_alias.
	* configure: Rebuild.

2017-05-18  Ian Lance Taylor  <iant@golang.org>

	PR go/80814
	* Makefile.am (AM_GOCFLAGS): Define.
	* Makefile.in: Rebuild.

2017-01-13  Ian Lance Taylor  <iant@golang.org>

	Updates for Go 1.8rc1.
	* Makefile.am (go_cmd_go_files): Add bug.go.
	(s-zdefaultcc): Write defaultPkgConfig.
	* Makefile.in: Rebuild.

2016-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	Update copyrights.

2016-02-03  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (go_cmd_gofmt_files): Update to Go 1.6rc1 by adding
	internal.go.
	* Makefile.in: Rebuild.

2015-12-02  Ian Lance Taylor  <iant@google.com>

	PR go/66147
	* Makefile.am (GOCOMPILER): In NATIVE case, add
	$(XGCC_FLAGS_FOR_TARGET).

2015-10-31  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by
	adding alldocs.go, doc.go, note.go.
	* Makefile.in: Rebuild.

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* Makefile.in: Regenerated with automake-1.11.6.
	* aclocal.m4: Likewise.
	* configure: Likewise.

2015-03-24  Ian Lance Taylor  <iant@google.com>

	PR go/65462
	* Makefile.am (go_cmd_go_files): Add $(libgodir)/zstdpkglist.go.
	* Makefile.in: Rebuild.

2015-03-12  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (GOLINK): Add GOCFLAGS.
	* Makefile.in: Rebuild.

2015-01-23  Ian Lance Taylor  <iant@google.com>

	PR go/64738
	* Makefile.am (AM_LDFLAGS): Remove -static-libgo.
	* Makefile.in: Rebuild.

2015-01-22  Ian Lance Taylor  <iant@google.com>

	PR go/64595
	* go.1, gofmt.1: New files.
	* Makefile.am (man_MANS): New variable.
	* Makefile.in: Rebuild.

2015-01-21  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (noinst_PROGRAMS): New variable.
	(libexecsub_PROGRAMS): Remove variable.
	(install-exec-local, uninstall-local): New targets.
	* Makefile.in: Rebuild.

2015-01-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac: Check if sched_yield and/or nanosleep need -lrt.
	* configure: Regenerate.
	* Makefile.am (go$(EXEEXT), gofmt$(EXEEXT), cgo$(EXEEXT)): Link
	with $(LIBS).
	* Makefile.in: Regenerate.

2015-01-15  Ian Lance Taylor  <iant@google.com>

	* configure.ac: Check for networking libraries; see NET_LIBS.
	* Makefile.am (go$(EXEEXT)): Link against NET_LIBS.
	(gofmt$(EXEEXT), cgo$(EXEEXT)): Likewise.
	* configure, Makefile.in: Rebuild.

2015-01-14  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (go_cmd_go_files): Sort entries.  Add generate.go.
	* Makefile.in: Rebuild.

2015-01-09  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (GOCOMPILER): Set to GOC or GOC_FOR_TARGET depending
	on whether this is a native build or not.
	(GOCOMPILE, GOLINK): Use $(GOCOMPILER) instead of $(GOC).
	(MOSTLYCLEANFILES): Define.
	* Makefile.in: Rebuild.

	* Initial implementation.
