mirror of
https://github.com/golang/go
synced 2024-11-02 11:50:30 +00:00
be818361b9
This CL enables moving the bulk of the object writing code out of liblink and into translated Go libraries in cmd/internal/obj, but it does not do the move. This CL introduces two new environment variables, $GOOBJ and $GOOBJWRITER, but both will be deleted along with the rest of the liblink C code. The default behavior of a build is unchanged by this CL: the C version of liblink uses the C object layout and writing code. If $GOOBJ=1, liblink invokes go tool objwriter instead. If $GOOBJ=2, liblink does its own layout and then invokes go tool objwriter, which checks that it gets the same answer. That is, in $GOOBJ=2 mode, both the C and the Go version of the code run, and the operation fails if the two produce different answers. This provides a very strong check that the translation is working correctly. Change-Id: I56ab49b07ccb2c7b81085f1d6950131047c6aa3c Reviewed-on: https://go-review.googlesource.com/3048 Reviewed-by: Ian Lance Taylor <iant@golang.org> |
||
---|---|---|
.. | ||
plan9 | ||
ar.h | ||
bio.h | ||
fmt.h | ||
libc.h | ||
link.h | ||
README | ||
u.h | ||
utf.h |
The header files under this directory are strictly internal to the gc toolchain, so please don't copy them to the system include file directory (/usr/include, /usr/local/include, etc.) Also note that they must be kept as is in $GOROOT/include, or cmd/dist will malfunction.