go/src
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
..
archive archive/tar: document Reader.Next's behavior at the end 2014-12-30 21:38:37 +00:00
bufio bufio: add Reader.Discard 2015-01-07 06:37:57 +00:00
builtin
bytes all: update old comments referencing *.goc files 2015-01-15 16:31:52 +00:00
cmd [dev.cc] cmd/objwriter: implement using cmd/internal/obj 2015-01-21 03:02:35 +00:00
compress compress/bzip2: s/repeat_power/repeatPower/ 2014-12-19 01:29:00 +00:00
container
crypto crypto/x509: write exact BitLength in ASN.1 encoding for certificate KeyUsage 2015-01-15 01:58:54 +00:00
database/sql database/sql: Remove unnecessary call to maybeOpenNewConnections 2014-12-24 02:39:12 +00:00
debug all: power64 is now ppc64 2014-12-05 19:13:20 -05:00
encoding encoding/xml: remove unnecessary memory allocation in Unmarshal 2015-01-15 08:45:15 +00:00
errors
expvar
flag flag: Check for Set error 2014-12-22 00:17:07 +00:00
fmt fmt: reword the document for [n]. 2015-01-19 06:35:21 +00:00
go cmd/cgo, go/build: finish a cleanup TODO 2015-01-08 00:59:37 +00:00
hash all: power64 is now ppc64 2014-12-05 19:13:20 -05:00
html
image image/draw: fold TestClipWithNilMP into TestClip. 2015-01-14 06:04:13 +00:00
index/suffixarray
internal/syscall
io
lib9 [dev.cc] cmd/dist, lib9: make GOHOSTARCH, GOHOSTOS available to C programs 2015-01-21 00:44:50 +00:00
libbio
liblink [dev.cc] liblink: invoke 'go tool objwriter' to implement writeobj, if directed 2015-01-21 03:15:04 +00:00
log log: add global Output function 2015-01-12 04:45:38 +00:00
math math/big: bug in AndNot(x,y) for x>0,y<0. 2015-01-16 17:36:29 +00:00
mime mime/multipart: moved some code to mime/internal/quotedprintable 2014-12-23 19:30:02 +00:00
net net/http/fcgi: Fix resource leaks 2015-01-19 22:54:54 +00:00
os os: replace itod on posix with general itoa and fix possible infinite recursion 2015-01-02 16:21:18 +00:00
path path/filepath: remove named result parameter for VolumeName 2014-12-18 16:05:07 +00:00
reflect reflect: remove extra word in comment 2015-01-13 18:55:15 +00:00
regexp regexp: fix typo in comment: s/onpass/onepass/ 2014-12-24 07:30:28 +00:00
runtime runtime: factor out bitmap, finalizer code from malloc/mgc 2015-01-19 16:26:51 +00:00
sort sort: reduce number of comparisons needed by medianOfThree 2015-01-13 19:37:02 +00:00
strconv strconv: speed up atoi for common cases 2015-01-08 20:58:26 +00:00
strings strings: remove overengineered Compare implementation 2015-01-19 02:19:17 +00:00
sync sync/atomic: remove atomic pointer hammer tests 2015-01-06 00:28:22 +00:00
syscall runtime, syscall: use SYSCALL instruction on FreeBSD. 2015-01-18 23:51:50 +00:00
testing testing/iotest: fix copy/paste error in comment 2014-12-29 19:05:37 +00:00
text
time time: correctly parse large input durations and avoid precision loss 2015-01-15 00:15:58 +00:00
unicode
unsafe
Make.dist
all.bash
all.bat
all.rc
androidtest.bash build: androidtest.bash has to use copy for files to adb-sync. 2015-01-15 13:53:03 +00:00
clean.bash
clean.bat
clean.rc
make.bash [dev.cc] build: do not 'clean -i std' between dist and go_bootstrap 2015-01-21 02:19:27 +00:00
make.bat [dev.cc] build: do not 'clean -i std' between dist and go_bootstrap 2015-01-21 02:19:27 +00:00
make.rc [dev.cc] build: do not 'clean -i std' between dist and go_bootstrap 2015-01-21 02:19:27 +00:00
nacltest.bash
race.bash
race.bat
run.bash cmd/cgo: remove obsolete -cdefs flag 2015-01-07 22:49:59 +00:00
run.bat build: change all.bash output to be more markdown-friendly 2014-12-13 00:03:23 +00:00
run.rc build: add GOTESTONLY environment test for Plan 9's run.rc 2015-01-08 04:35:23 +00:00