]> gcc.gnu.org Git - gcc.git/commit
compiler, libgo: support bootstrapping gc compiler
authorIan Lance Taylor <iant@golang.org>
Thu, 22 Jun 2023 00:27:39 +0000 (17:27 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 23 Jun 2023 23:17:11 +0000 (16:17 -0700)
commit6b724427aa1ec9b690e40f5206572f57e1adeda8
tree657010da37b7b29b9ec730e0b3bf1d303a92f1ec
parent13709b518aa9769ef427e48ce5c9583fbe098777
compiler, libgo: support bootstrapping gc compiler

In the Go 1.21 release the package internal/profile imports
internal/lazyregexp.  That works when bootstrapping with Go 1.17,
because that compiler has internal/lazyregep and permits importing it.
We also have internal/lazyregexp in libgo, but since it is not installed
it is not available for importing.  This CL adds internal/lazyregexp
to the list of internal packages that are installed for bootstrapping.

The Go 1.21, and earlier, releases have a couple of functions in
the internal/abi package that are always fully intrinsified.
The gofrontend recognizes and intrinsifies those functions as well.
However, the gofrontend was also building function descriptors
for references to the functions without calling them, which
failed because there was nothing to refer to.  That is OK for the
gc compiler, which guarantees that the functions are only called,
not referenced.  This CL arranges to not generate function descriptors
for these functions.

For golang/go#60913

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/504798
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/gogo.cc
libgo/Makefile.am
libgo/Makefile.in
libgo/go/internal/abi/abi.go
This page took 0.056086 seconds and 5 git commands to generate.