1
0
mirror of https://github.com/golang/go synced 2024-10-02 12:28:33 -06:00
go/include
Russ Cox be818361b9 [dev.cc] liblink: invoke 'go tool objwriter' to implement writeobj, if directed
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>
2015-01-21 03:15:04 +00:00
..
plan9 include/plan9: make mklibc.rc compatible with 9atom 2014-04-19 09:55:09 +02:00
ar.h gopack: change archive file name length back to 16 2011-11-01 00:29:16 -04:00
bio.h build: annotations and modifications for c2go 2014-07-02 15:41:29 -04:00
fmt.h convert C runtime to 32-bit runes; 2009-08-31 16:38:50 -07:00
libc.h [dev.cc] cmd/dist, lib9: make GOHOSTARCH, GOHOSTOS available to C programs 2015-01-21 00:44:50 +00:00
link.h [dev.cc] liblink: invoke 'go tool objwriter' to implement writeobj, if directed 2015-01-21 03:15:04 +00:00
README include: add a README file 2013-05-22 18:51:15 +08:00
u.h include/u.h: define _DEFAULT_SOURCE for new glibc 2014-07-25 08:54:09 -07:00
utf.h add missing include file 2008-06-12 13:31:17 -07:00

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.