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]

libgo patch committed: add runtime/internal/sys package


This patch to libgo adds the runtime/internal/sys package that is in
the gc toolchain.  In the gc toolchain this package is mostly a
collection of generated files, one for each GOARCH value and one for
each GOOS value.  Rather than doing it in the gofrontend, we record
the information in configure.ac and write it out in Makefile.  My hope
is that this will make it easier to add new ports: people will have to
change the information in one place, configure.ac.

This change also removes the automake GOARCH conditionals, which are
no longer used.  The GOOS conditionals remain, as they are currently
used while building the C runtime code.

The new package includes intrinsics for ctz and bswap, so I have added
definitions of the builtin functions to the Gcc_backend constructor
along with the other builtin function definitions.  This is in the GCC
Go interface, not the gofrontend proper.

Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu.  Committed
to mainline.

Because the file version.go is moving from the runtime package to the
sys package as part of this change, people with existing working
directories may need to remove their libgo directories before
rebuilding.  The automatic dependencies won't handle that change
correctly.

Ian

2016-09-11  Ian Lance Taylor  <iant@golang.org>

* go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
ctz, ctzll, bswap32, bswap64.

Attachment: patch.txt
Description: Text document


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