]> Cypherpunks.ru repositories - gostls13.git/log
gostls13.git
9 years agodoc: update README.md and CONTRIBUTING.md in response to review comments
Andrew Gerrand [Wed, 10 Dec 2014 22:44:54 +0000 (09:44 +1100)]
doc: update README.md and CONTRIBUTING.md in response to review comments

I didn't 'add' these files before my final mail.

Change-Id: Id6f25629638e58421a3dee7632aec38aad9b1970
Reviewed-on: https://go-review.googlesource.com/1340
Reviewed-by: Andrew Gerrand <adg@golang.org>
9 years agodoc: convert README to markdown and update CONTRIBUTING.md
Andrew Gerrand [Wed, 10 Dec 2014 05:06:47 +0000 (16:06 +1100)]
doc: convert README to markdown and update CONTRIBUTING.md

Fixes #9233

Change-Id: If64480cbfaafe44025fcdcc0f20d76c995ffb3a1
Reviewed-on: https://go-review.googlesource.com/1296
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agoruntime: send android stderr to /dev/log/main
David Crawshaw [Wed, 10 Dec 2014 14:29:24 +0000 (09:29 -0500)]
runtime: send android stderr to /dev/log/main

I tried to submit this in Go 1.4 as cl/107540044 but tripped over the
changes for getting C off the G stack. This is a rewritten version that
avoids cgo and works directly with the underlying log device.

Change-Id: I14c227dbb4202690c2c67c5a613d6c6689a6662a
Reviewed-on: https://go-review.googlesource.com/1285
Reviewed-by: Keith Randall <khr@golang.org>
9 years agoruntime: clean up & go-ify the hash function seeder
Keith Randall [Tue, 9 Dec 2014 22:40:40 +0000 (14:40 -0800)]
runtime: clean up & go-ify the hash function seeder

Change-Id: I0e95f8a5962c547da20e19a356ae1cf8375c9107
Reviewed-on: https://go-review.googlesource.com/1270
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agoruntime: fix finalizer iterator
Keith Randall [Tue, 9 Dec 2014 04:04:56 +0000 (20:04 -0800)]
runtime: fix finalizer iterator

It could only handle one finalizer before it raised an out-of-bounds error.

Fixes issue #9172

Change-Id: Ibb4d0c8aff2d78a1396e248c7129a631176ab427
Reviewed-on: https://go-review.googlesource.com/1201
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agomisc/makerelease: use new storage api, handle git sub-repos
Andrew Gerrand [Wed, 10 Dec 2014 02:05:37 +0000 (13:05 +1100)]
misc/makerelease: use new storage api, handle git sub-repos

Change-Id: I8c5b77d861aafdc594714982503da7bee053c9fe
Reviewed-on: https://go-review.googlesource.com/1291
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
9 years agoall: tighten overly-broad runtime/z* gitignore line
Brad Fitzpatrick [Wed, 10 Dec 2014 00:43:04 +0000 (11:43 +1100)]
all: tighten overly-broad runtime/z* gitignore line

Fixes #9231

Change-Id: Ifed6cd37e885415d9a298b63d472d63f44e72321
Reviewed-on: https://go-review.googlesource.com/1290
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agoruntime: fix some comment formatting
Rick Hudson [Tue, 9 Dec 2014 18:25:45 +0000 (13:25 -0500)]
runtime: fix some comment formatting

Change-Id: Ife7d6ce1131ff26444f09e8fda4f61344e669e21
Reviewed-on: https://go-review.googlesource.com/1260
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agoruntime: restore error message on early needm
Austin Clements [Tue, 9 Dec 2014 17:31:11 +0000 (12:31 -0500)]
runtime: restore error message on early needm

needm used to print an error before exiting when it was called too
early, but this error was lost in the transition to Go.  Bring back
the error so we don't silently exit(1) when this happens.

Change-Id: I8086932783fd29a337d7dea31b9d6facb64cb5c1
Reviewed-on: https://go-review.googlesource.com/1226
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agotest/fixedbugs/bug302: fix test on windows.
Shenghou Ma [Tue, 9 Dec 2014 05:13:10 +0000 (00:13 -0500)]
test/fixedbugs/bug302: fix test on windows.

Change-Id: I74c2578d1620b37a6486eca00a774b9a736a8899
Reviewed-on: https://go-review.googlesource.com/1222
Reviewed-by: Ian Lance Taylor <iant@golang.org>
9 years agonet/http: avoid some allocations in DetectContentType
Brad Fitzpatrick [Tue, 9 Dec 2014 00:45:19 +0000 (11:45 +1100)]
net/http: avoid some allocations in DetectContentType

Change-Id: I64985f8de7ca09e63208e8c949a5d4f4fc09073f
Reviewed-on: https://go-review.googlesource.com/1230
Reviewed-by: David Symonds <dsymonds@golang.org>
9 years agotest: write Go wrapper code so that bug302 can be run by run.go
Ian Lance Taylor [Mon, 8 Dec 2014 18:28:18 +0000 (10:28 -0800)]
test: write Go wrapper code so that bug302 can be run by run.go

Issue #4139.

Change-Id: I50d85a65b22c0cfb4d2a078cee45cf7adb23ba77
Reviewed-on: https://go-review.googlesource.com/1210
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
9 years agodoc: Fix the canonical location
Burcu Dogan [Tue, 9 Dec 2014 00:15:22 +0000 (16:15 -0800)]
doc: Fix the canonical location

Change-Id: I3030d678c4eee85970826c86332a2b818cf7f5b6
Reviewed-on: https://go-review.googlesource.com/1217
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
9 years agocmd/objdump: Fix error logging
Keith Randall [Mon, 8 Dec 2014 23:11:11 +0000 (15:11 -0800)]
cmd/objdump: Fix error logging

Change-Id: I6b1b4d3e8c039ba3198cb4b9765de75859ea8c32
Reviewed-on: https://go-review.googlesource.com/1214
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
9 years agoFix whitespace (use blanks consistently).
Robert Griesemer [Mon, 8 Dec 2014 22:19:38 +0000 (14:19 -0800)]
Fix whitespace (use blanks consistently).

Change-Id: I73ecfe8f1e46e4821dafc6ed5788f48a1f0deeea
Reviewed-on: https://go-review.googlesource.com/1213
Reviewed-by: Alan Donovan <adonovan@google.com>
9 years agoruntime: test for linear enqueue/dequeue behavior
Keith Randall [Mon, 8 Dec 2014 21:50:16 +0000 (13:50 -0800)]
runtime: test for linear enqueue/dequeue behavior

Make sure dequeueing from a channel queue does not exhibit quadratic time behavior.

Change-Id: Ifb7c709b026f74c7e783610d4914dd92909a441b
Reviewed-on: https://go-review.googlesource.com/1212
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agodoc: remove obsolete FAQ entry about using Mercurial vs. Git.
David Symonds [Mon, 8 Dec 2014 07:50:50 +0000 (18:50 +1100)]
doc: remove obsolete FAQ entry about using Mercurial vs. Git.

Change-Id: I9d9b02ad745208e7297cb75c86af49b2d858b12d
Reviewed-on: https://go-review.googlesource.com/1176
Reviewed-by: Andrew Gerrand <adg@golang.org>
9 years agotest/fibo: a stand-alone bignum/allocation benchmark and test
Robert Griesemer [Mon, 8 Dec 2014 19:20:41 +0000 (11:20 -0800)]
test/fibo: a stand-alone bignum/allocation benchmark and test

Usage:
fibo <n>        compute fibonacci(n), n must be >= 0
fibo -bench     benchmark fibonacci computation (takes about 1 min)

Additional flags:
-half           add values using two half-digit additions
-opt            optimize memory allocation through reuse
-short          only print the first 10 digits of very large fibonacci numbers

This change was reviewed in detail as https://codereview.appspot.com/168480043 .

Change-Id: I7c86d49c5508532ea6206d00f424cf2117d2fe41
Reviewed-on: https://go-review.googlesource.com/1211
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agoruntime: use doubly-linked lists for channel send/recv queues.
Keith Randall [Mon, 8 Dec 2014 18:11:08 +0000 (10:11 -0800)]
runtime: use doubly-linked lists for channel send/recv queues.

Avoids a potential O(n^2) performance problem when dequeueing
from very popular channels.

benchmark                old ns/op     new ns/op     delta
BenchmarkChanPopular     2563782       627201        -75.54%

Change-Id: I231aaeafea0ecd93d27b268a0b2128530df3ddd6
Reviewed-on: https://go-review.googlesource.com/1200
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agoruntime: fix missing newline when dumping bad symbol table
Austin Clements [Mon, 8 Dec 2014 16:12:33 +0000 (11:12 -0500)]
runtime: fix missing newline when dumping bad symbol table

If the symbol table isn't sorted, we print it and abort.  However, we
were missing the line break after each symbol, resulting in one
gigantic line instead of a nicely formatted table.

Change-Id: Ie5c6f3c256d0e648277cb3db4496512a79d266dd
Reviewed-on: https://go-review.googlesource.com/1182
Reviewed-by: Russ Cox <rsc@golang.org>
9 years agodoc: add CONRIBUTORS.md
Andrew Gerrand [Mon, 8 Dec 2014 11:05:57 +0000 (22:05 +1100)]
doc: add CONRIBUTORS.md

This file is known to GitHub and will be linked prominently when
potential contributors try to open pull requests.

Here's how it should appear:
https://gist.github.com/adg/e0ffcc922a32f20af3db

Change-Id: I41c5aadf284a0a24c485f96b7fe2caa338ad1e4f
Reviewed-on: https://go-review.googlesource.com/1178
Reviewed-by: Rob Pike <r@golang.org>
9 years agoremove the obsolete lib/codereview.
David Symonds [Mon, 8 Dec 2014 07:47:42 +0000 (18:47 +1100)]
remove the obsolete lib/codereview.

Change-Id: Idd2e74053ce4a2be3d757aef1bb83313973de6f0
Reviewed-on: https://go-review.googlesource.com/1175
Reviewed-by: Andrew Gerrand <adg@golang.org>
9 years agoremove dev.cc file, left over from merge of the dev.cc branch.
David Symonds [Mon, 8 Dec 2014 04:59:37 +0000 (15:59 +1100)]
remove dev.cc file, left over from merge of the dev.cc branch.

Change-Id: I6021f42ce4ac6a66632751b21ab13e9b22383af9
Reviewed-on: https://go-review.googlesource.com/1172
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
9 years agoadd bin/ to .gitignore.
David Symonds [Mon, 8 Dec 2014 00:39:11 +0000 (11:39 +1100)]
add bin/ to .gitignore.

Change-Id: I5c788d324e56ca88366fb54b67240cebf5dced2c
Reviewed-on: https://go-review.googlesource.com/1171
Reviewed-by: Andrew Gerrand <adg@golang.org>
9 years agocmd/dist: convert dist from Hg to Git.
David Symonds [Mon, 8 Dec 2014 02:53:11 +0000 (13:53 +1100)]
cmd/dist: convert dist from Hg to Git.

9 years agoconvert .hgignore to .gitignore.
David Symonds [Mon, 8 Dec 2014 02:50:49 +0000 (13:50 +1100)]
convert .hgignore to .gitignore.

9 years agoremove .hgtags.
David Symonds [Mon, 8 Dec 2014 02:50:49 +0000 (13:50 +1100)]
remove .hgtags.

9 years agoencoding/xml: remove SyntaxError.Byte
Russ Cox [Sat, 6 Dec 2014 02:33:07 +0000 (21:33 -0500)]
encoding/xml: remove SyntaxError.Byte

It is unused. It was introduced in the CL that added InputOffset.
I suspect it was an editing mistake.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/182580043

9 years agoall: merge dev.garbage (d1238958d4ae) into default branch
Russ Cox [Sat, 6 Dec 2014 01:34:45 +0000 (20:34 -0500)]
all: merge dev.garbage (d1238958d4ae) into default branch

When we start work on Gerrit, ppc64 and garbage collection
work will continue in the master branch, not the dev branches.

(We may still use dev branches for other things later, but
these are ready to be merged, and doing it now, before moving
to Git means we don't have to have dev branches working
in the Gerrit workflow on day one.)

TBR=rlh
CC=golang-codereviews
https://golang.org/cl/183140043

9 years ago[dev.garbage] runtime: raise StackGuard limit for Windows (again)
Russ Cox [Sat, 6 Dec 2014 00:50:09 +0000 (19:50 -0500)]
[dev.garbage] runtime: raise StackGuard limit for Windows (again)

640 bytes ought to be enough for anybody.

We'll bring this back down before Go 1.5. That's issue 9214.

TBR=rlh
CC=golang-codereviews
https://golang.org/cl/188730043

9 years agoall: power64 is now ppc64
Russ Cox [Sat, 6 Dec 2014 00:13:20 +0000 (19:13 -0500)]
all: power64 is now ppc64

Fixes #8654.

LGTM=austin
R=austin
CC=golang-codereviews
https://golang.org/cl/180600043

9 years ago[dev.garbage] runtime: reduce stack footprint of write barriers
Russ Cox [Fri, 5 Dec 2014 21:47:50 +0000 (16:47 -0500)]
[dev.garbage] runtime: reduce stack footprint of write barriers

This is going to hurt a bit but we'll make it better later.
Now the race detector can be run again.

I added the write barrier optimizations from
CL 183020043 to try to make it hurt a little less.

TBR=rlh
CC=golang-codereviews
https://golang.org/cl/185070043

9 years agoruntime: generate windows callback list with go generate
Russ Cox [Fri, 5 Dec 2014 21:24:20 +0000 (16:24 -0500)]
runtime: generate windows callback list with go generate

This is the last system-dependent file written by cmd/dist.
They are all now written by go generate.

cmd/dist is not needed to start building package runtime
for a different system anymore.

Now all the generated files can be assumed generated, so
delete the clumsy hacks in cmd/api.

Re-enable api check in run.bash.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/185040044

9 years agoruntime: convert netbsd/arm to Go
Russ Cox [Fri, 5 Dec 2014 21:17:09 +0000 (16:17 -0500)]
runtime: convert netbsd/arm to Go

This was the last src/runtime/*.c file.

LGTM=austin
R=austin
CC=golang-codereviews
https://golang.org/cl/187770043

9 years agoall: merge default (faa3ed1dc30e) into dev.garbage
Russ Cox [Fri, 5 Dec 2014 16:45:03 +0000 (11:45 -0500)]
all: merge default (faa3ed1dc30e) into dev.garbage

9 years agoall: merge dev.cc (81884b89bd88) into default
Russ Cox [Fri, 5 Dec 2014 16:43:41 +0000 (11:43 -0500)]
all: merge dev.cc (81884b89bd88) into default

With this change, default now contains Go 1.5 work.
Any future bug fixes for Go 1.4 in the compilers or
the runtime will have to be made directly to the
release branch.

9 years ago[dev.garbage] all: merge dev.cc (81884b89bd88) into dev.garbage
Russ Cox [Fri, 5 Dec 2014 16:40:41 +0000 (11:40 -0500)]
[dev.garbage] all: merge dev.cc (81884b89bd88) into dev.garbage

TBR=rlh
CC=golang-codereviews
https://golang.org/cl/181100044

9 years ago[dev.cc] all: merge default (8d42099cdc23) into dev.cc
Russ Cox [Fri, 5 Dec 2014 16:18:10 +0000 (11:18 -0500)]
[dev.cc] all: merge default (8d42099cdc23) into dev.cc

TBR=austin
CC=golang-codereviews
https://golang.org/cl/178700044

9 years ago[dev.cc] liblink: don't patch jumps to jumps to symbols
Austin Clements [Fri, 5 Dec 2014 14:24:01 +0000 (09:24 -0500)]
[dev.cc] liblink: don't patch jumps to jumps to symbols

When liblink sees something like

       JMP x
       ...
    x: JMP y

it rewrites the first jump to jump directly to y.  This is
fine if y is a resolved label.  However, it *also* does this
if y is a function symbol, but fails to carry over the
relocation that would later patch in that symbol's value.  As
a result, the original jump becomes either a self-jump (if
relative) or a jump to PC 0 (if absolute).

Fix this by disabling this optimization if the jump being
patched in is a jump to a symbol.

LGTM=minux
R=rsc, minux
CC=golang-codereviews
https://golang.org/cl/185890044

9 years ago[dev.cc] cmd/ld: finalize linkmode before determining whether to import runtime/cgo
Shenghou Ma [Fri, 5 Dec 2014 07:22:20 +0000 (02:22 -0500)]
[dev.cc] cmd/ld: finalize linkmode before determining whether to import runtime/cgo

Frankly, I don't understand how the current code could possibly work except
when every android program is using cgo. Discovered this while working on
the iOS port.

LGTM=crawshaw, rsc
R=rsc, crawshaw
CC=golang-codereviews
https://golang.org/cl/177470043

9 years agocmd/go: fix build
Rob Pike [Fri, 5 Dec 2014 00:37:56 +0000 (09:37 +0900)]
cmd/go: fix build
The new semantics of split require the newline be present.
The test was stale.

LGTM=adg
R=golang-codereviews, adg
CC=golang-codereviews
https://golang.org/cl/182480043

9 years agocmd/go: avoid use of bufio.Scanner in generate
Rob Pike [Fri, 5 Dec 2014 00:15:38 +0000 (09:15 +0900)]
cmd/go: avoid use of bufio.Scanner in generate

Scanner can't handle stupid long lines and there are
reports of stupid long lines in production.

Note the issue isn't long "//go:generate" lines, but
any long line in any Go source file.

To be fair, if you're going to have a stupid long line
it's not a bad bet you'll want to run it through go
generate, because it's some embeddable asset that
has been machine generated. (One could ask why
that generation process didn't add a newline or two,
but we should cope anyway.)

Rewrite the file scanner in "go generate" so it can
handle arbitrarily long lines, and only stores in memory
those lines that start "//go:generate".

Also: Adjust the documentation to make clear that it
does not parse the file.

Fixes #9143.
Fixes #9196.

LGTM=rsc, dominik.honnef
R=rsc, cespare, minux, dominik.honnef
CC=golang-codereviews
https://golang.org/cl/182970043

9 years agocmd/pprof/internal/commands: add command to open browser on windows
Shenghou Ma [Thu, 4 Dec 2014 16:24:23 +0000 (11:24 -0500)]
cmd/pprof/internal/commands: add command to open browser on windows

While we're at there, also add a message to prompt the user to install
Graphviz if "dot" command is not found.

Fixes #9178.

LGTM=adg, alex.brainman, cookieo9, rsc
R=rsc, adg, bradfitz, alex.brainman, cookieo9, smyrman
CC=golang-codereviews
https://golang.org/cl/180380043

9 years agolib/time: update to ICANN time zone database 2014j
Rob Pike [Thu, 4 Dec 2014 04:07:48 +0000 (20:07 -0800)]
lib/time: update to ICANN time zone database 2014j

Fixes #9189.

LGTM=dsymonds
R=golang-codereviews, dsymonds
CC=golang-codereviews
https://golang.org/cl/178660043

9 years agospec: add comment marker for consistency.
David Symonds [Wed, 3 Dec 2014 22:29:29 +0000 (09:29 +1100)]
spec: add comment marker for consistency.

LGTM=r
R=gri, r
CC=golang-codereviews
https://golang.org/cl/185830043

9 years agocmd/pprof: fix symbol resolution for remote profiles
Russ Cox [Wed, 3 Dec 2014 19:14:00 +0000 (14:14 -0500)]
cmd/pprof: fix symbol resolution for remote profiles

Fixes #9199.

LGTM=iant
R=golang-codereviews, iant
CC=austin, golang-codereviews, minux
https://golang.org/cl/183080043

9 years agocmd/go: regenerate doc.go
Dominik Honnef [Tue, 2 Dec 2014 23:28:54 +0000 (10:28 +1100)]
cmd/go: regenerate doc.go

Move change from CL 170770043 to correct file and regenerate docs
for changes from CL 164120043.

LGTM=adg
R=golang-codereviews, adg, bradfitz
CC=golang-codereviews
https://golang.org/cl/183000043

9 years agotag go1.4rc2
Andrew Gerrand [Tue, 2 Dec 2014 03:39:23 +0000 (14:39 +1100)]
tag go1.4rc2

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/178600043

9 years agoruntime: fix hang in GC due to shrinkstack vs netpoll race
Russ Cox [Mon, 1 Dec 2014 21:32:06 +0000 (16:32 -0500)]
runtime: fix hang in GC due to shrinkstack vs netpoll race

During garbage collection, after scanning a stack, we think about
shrinking it to reclaim some memory. The shrinking code (called
while the world is stopped) checked that the status was Gwaiting
or Grunnable and then changed the state to Gcopystack, to essentially
lock the stack so that no other GC thread is scanning it.
The same locking happens for stack growth (and is more necessary there).

        oldstatus = runtime·readgstatus(gp);
        oldstatus &= ~Gscan;
        if(oldstatus == Gwaiting || oldstatus == Grunnable)
                runtime·casgstatus(gp, oldstatus, Gcopystack); // oldstatus is Gwaiting or Grunnable
        else
                runtime·throw("copystack: bad status, not Gwaiting or Grunnable");

Unfortunately, "stop the world" doesn't stop everything. It stops all
normal goroutine execution, but the network polling thread is still
blocked in epoll and may wake up. If it does, and it chooses a goroutine
to mark runnable, and that goroutine is the one whose stack is shrinking,
then it can happen that between readgstatus and casgstatus, the status
changes from Gwaiting to Grunnable.

casgstatus assumes that if the status is not what is expected, it is a
transient change (like from Gwaiting to Gscanwaiting and back, or like
from Gwaiting to Gcopystack and back), and it loops until the status
has been restored to the expected value. In this case, the status has
changed semi-permanently from Gwaiting to Grunnable - it won't
change again until the GC is done and the world can continue, but the
GC is waiting for the status to change back. This wedges the program.

To fix, call a special variant of casgstatus that accepts either Gwaiting
or Grunnable as valid statuses.

Without the fix bug with the extra check+throw in casgstatus, the
program below dies in a few seconds (2-10) with GOMAXPROCS=8
on a 2012 Retina MacBook Pro. With the fix, it runs for minutes
and minutes.

package main

import (
        "io"
        "log"
        "net"
        "runtime"
)

func main() {
        const N = 100
        for i := 0; i < N; i++ {
                l, err := net.Listen("tcp", "127.0.0.1:0")
                if err != nil {
                        log.Fatal(err)
                }
                ch := make(chan net.Conn, 1)
                go func() {
                        var err error
                        c1, err := net.Dial("tcp", l.Addr().String())
                        if err != nil {
                                log.Fatal(err)
                        }
                        ch <- c1
                }()
                c2, err := l.Accept()
                if err != nil {
                        log.Fatal(err)
                }
                c1 := <-ch
                l.Close()
                go netguy(c1, c2)
                go netguy(c2, c1)
                c1.Write(make([]byte, 100))
        }
        for {
                runtime.GC()
        }
}

func netguy(r, w net.Conn) {
        buf := make([]byte, 100)
        for {
                bigstack(1000)
                _, err := io.ReadFull(r, buf)
                if err != nil {
                        log.Fatal(err)
                }
                w.Write(buf)
        }
}

var g int

func bigstack(n int) {
        var buf [100]byte
        if n > 0 {
                bigstack(n - 1)
        }
        g = int(buf[0]) + int(buf[99])
}

Fixes #9186.

LGTM=rlh
R=austin, rlh
CC=dvyukov, golang-codereviews, iant, khr, r
https://golang.org/cl/179680043

9 years agoreflect: Fix reflect.funcLayout. The GC bitmap has two bits per
Keith Randall [Mon, 1 Dec 2014 15:52:09 +0000 (07:52 -0800)]
reflect: Fix reflect.funcLayout.  The GC bitmap has two bits per
pointer, not one.

Fixes #9179

LGTM=iant, rsc
R=golang-codereviews, iant, rsc
CC=golang-codereviews
https://golang.org/cl/182160043

9 years ago[dev.cc] 9l: make R_CALLPOWER like ELF's R_PPC64_REL24
Austin Clements [Tue, 25 Nov 2014 21:00:25 +0000 (16:00 -0500)]
[dev.cc] 9l: make R_CALLPOWER like ELF's R_PPC64_REL24

These accomplished the same thing, but R_CALLPOWER expected
the whole instruction to be in the addend (and completely
overwrote what was in the text section), while R_PPC64_REL24
overwrites only bits 6 through 24 of whatever was in the text
section.  Make R_CALLPOWER work like R_PPC64_REL24 to ease the
implementation of dynamic linking.

LGTM=rsc
R=rsc
CC=golang-codereviews, minux
https://golang.org/cl/177430043

9 years ago[dev.cc] cmd/5g,cmd/6g,cmd/9g: fix warnings on Plan 9
David du Colombier [Tue, 25 Nov 2014 07:42:00 +0000 (08:42 +0100)]
[dev.cc] cmd/5g,cmd/6g,cmd/9g: fix warnings on Plan 9

warning: src/cmd/5g/reg.c:461 format mismatch d VLONG, arg 5
warning: src/cmd/6g/reg.c:396 format mismatch d VLONG, arg 5
warning: src/cmd/9g/reg.c:440 format mismatch d VLONG, arg 5

LGTM=minux
R=rsc, minux
CC=golang-codereviews
https://golang.org/cl/179300043

9 years agodoc: tidy up "Projects" page; add Go 1.4
Andrew Gerrand [Tue, 25 Nov 2014 04:41:33 +0000 (15:41 +1100)]
doc: tidy up "Projects" page; add Go 1.4

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/182750043

9 years agogo/build: build $GOOS_test.go always
Russ Cox [Tue, 25 Nov 2014 01:18:44 +0000 (20:18 -0500)]
go/build: build $GOOS_test.go always

We decided to build $GOOS.go always
but forgot to test $GOOS_test.go.

Fixes #9159.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/176290043

9 years ago[dev.garbage] all: merge dev.cc (493ad916c3b1) into dev.garbage
Russ Cox [Mon, 24 Nov 2014 17:07:11 +0000 (12:07 -0500)]
[dev.garbage] all: merge dev.cc (493ad916c3b1) into dev.garbage

TBR=austin
CC=golang-codereviews
https://golang.org/cl/179290043

9 years ago[dev.cc] 9g: peephole optimizer
Austin Clements [Mon, 24 Nov 2014 16:42:15 +0000 (11:42 -0500)]
[dev.cc] 9g: peephole optimizer

This was based on the 9c peephole optimizer, modified to work
with code generated by gc and use the proginfo infrastructure
in gc.

LGTM=rsc
R=rsc, bradfitz, minux
CC=golang-codereviews
https://golang.org/cl/179190043

9 years ago[dev.cc] 9g: fill progtable for CC, V, and VCC instruction variants
Austin Clements [Mon, 24 Nov 2014 16:40:36 +0000 (11:40 -0500)]
[dev.cc] 9g: fill progtable for CC, V, and VCC instruction variants

This adds some utilities for converting between the CC, V, and
VCC variants of operations and uses these to derive the
ProgInfo entries for these variants (which are identical to
the ProgInfo for the base operations).

The 9g peephole optimizer will also use these conversion
utilities.

LGTM=minux, rsc
R=rsc, dave, minux
CC=golang-codereviews
https://golang.org/cl/180110044

9 years ago[dev.cc] runtime: convert dragonfly/386 port to Go
Joel Sing [Mon, 24 Nov 2014 16:15:11 +0000 (03:15 +1100)]
[dev.cc] runtime: convert dragonfly/386 port to Go

LGTM=rsc
R=rsc, bradfitz
CC=golang-codereviews
https://golang.org/cl/178210043

9 years ago[dev.cc] all: merge default (95f5614b4648) into dev.cc
Russ Cox [Sun, 23 Nov 2014 20:13:48 +0000 (15:13 -0500)]
[dev.cc] all: merge default (95f5614b4648) into dev.cc

TBR=austin
CC=golang-codereviews
https://golang.org/cl/177220044

9 years agoimage/jpeg: handle Read returning n > 0, err != nil in d.fill
Russ Cox [Sat, 22 Nov 2014 18:55:33 +0000 (13:55 -0500)]
image/jpeg: handle Read returning n > 0, err != nil in d.fill

Fixes #9127.

LGTM=r
R=bradfitz, r
CC=golang-codereviews, nigeltao
https://golang.org/cl/178120043

9 years agocmd/go: fix running pprof on windows.
Shenghou Ma [Sat, 22 Nov 2014 18:37:46 +0000 (13:37 -0500)]
cmd/go: fix running pprof on windows.

Fixes #9149.

LGTM=alex.brainman, rsc
R=rsc, dave, alex.brainman
CC=golang-codereviews
https://golang.org/cl/176170043

9 years ago[dev.cc] runtime: convert netbsd/386 port to Go
Joel Sing [Sat, 22 Nov 2014 11:09:11 +0000 (22:09 +1100)]
[dev.cc] runtime: convert netbsd/386 port to Go

LGTM=minux
R=rsc, minux
CC=golang-codereviews
https://golang.org/cl/177170043

9 years ago[dev.cc] runtime: convert netbsd/amd64 port to Go
Joel Sing [Sat, 22 Nov 2014 05:05:31 +0000 (16:05 +1100)]
[dev.cc] runtime: convert netbsd/amd64 port to Go

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/169620043

9 years ago[dev.cc] runtime: migrate Android/ARM port to Go.
Shenghou Ma [Fri, 21 Nov 2014 23:15:30 +0000 (18:15 -0500)]
[dev.cc] runtime: migrate Android/ARM port to Go.

I tested building Go itself, but not any of go.mobile tests.

LGTM=crawshaw
R=crawshaw, rsc
CC=golang-codereviews
https://golang.org/cl/179110043

9 years ago[dev.cc] runtime: explicitly exclude android in zgoos_linux.go
Shenghou Ma [Fri, 21 Nov 2014 23:13:59 +0000 (18:13 -0500)]
[dev.cc] runtime: explicitly exclude android in zgoos_linux.go

Otherwise both zgoos_linux.go and zgoos_android.go will be compiled
for GOOS=android.

LGTM=crawshaw, rsc
R=rsc, crawshaw
CC=golang-codereviews
https://golang.org/cl/178110043

9 years ago[dev.garbage] runtime: Stop running gs during the GCscan phase.
Rick Hudson [Fri, 21 Nov 2014 21:46:27 +0000 (16:46 -0500)]
[dev.garbage] runtime: Stop running gs during the GCscan phase.
Ensure that all gs are in a scan state when their stacks are being scanned.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/179160044

9 years ago[dev.cc] liblink: more docs on Prog and Addr fields
Austin Clements [Fri, 21 Nov 2014 20:58:29 +0000 (15:58 -0500)]
[dev.cc] liblink: more docs on Prog and Addr fields

LGTM=rsc
R=rsc, dave
CC=golang-codereviews
https://golang.org/cl/174530043

9 years ago[dev.cc] 9g: correct bad proginfo for ADUFFZERO and ADUFFCOPY
Austin Clements [Fri, 21 Nov 2014 20:58:01 +0000 (15:58 -0500)]
[dev.cc] 9g: correct bad proginfo for ADUFFZERO and ADUFFCOPY

LGTM=rsc
R=rsc, dave
CC=golang-codereviews
https://golang.org/cl/176130044

9 years ago[dev.garbage] runtime: add prefetcht0, prefetcht1, prefetcht2, prefetcht3, prefetchnt...
Russ Cox [Fri, 21 Nov 2014 20:57:10 +0000 (15:57 -0500)]
[dev.garbage] runtime: add prefetcht0, prefetcht1, prefetcht2, prefetcht3, prefetchnta for GC

We don't know what we need yet, so add them all.
Add them even on x86 architectures (as no-ops) so that
the GC can refer to them unconditionally.

Eventually we'll know what we want and probably
have just one 'prefetch' with an appropriate meaning
on each architecture.

LGTM=rlh
R=rlh
CC=golang-codereviews
https://golang.org/cl/179160043

9 years ago[dev.cc] liblink: fix warnings on Plan 9
David du Colombier [Fri, 21 Nov 2014 19:56:33 +0000 (20:56 +0100)]
[dev.cc] liblink: fix warnings on Plan 9

warning: src/liblink/list6.c:94 set and not used: s
warning: src/liblink/list6.c:157 format mismatch ld VLONG, arg 3
warning: src/liblink/list6.c:157 format mismatch E UINT, arg 4
warning: src/liblink/list6.c:157 format mismatch d VLONG, arg 5
warning: src/liblink/list6.c:163 set and not used: s
warning: src/liblink/list9.c:105 set and not used: s
warning: src/liblink/list9.c:185 format mismatch ld VLONG, arg 3
warning: src/liblink/list9.c:185 format mismatch E UINT, arg 4
warning: src/liblink/list9.c:185 format mismatch d VLONG, arg 5
warning: src/liblink/list9.c:193 set and not used: s

LGTM=rsc
R=rsc
CC=austin, golang-codereviews, minux
https://golang.org/cl/176130043

9 years ago[dev.cc] cmd/8g: fix warning on Plan 9
David du Colombier [Fri, 21 Nov 2014 19:44:04 +0000 (20:44 +0100)]
[dev.cc] cmd/8g: fix warning on Plan 9

warning: /usr/go/src/cmd/8g/reg.c:365 format mismatch d VLONG, arg 5

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/177160043

9 years ago[dev.cc] runtime: convert Plan 9 port to Go
David du Colombier [Fri, 21 Nov 2014 18:39:01 +0000 (19:39 +0100)]
[dev.cc] runtime: convert Plan 9 port to Go

Thanks to Aram Hăvărneanu, Nick Owens
and Russ Cox for the early reviews.

LGTM=aram, rsc
R=rsc, lucio.dere, aram, ality
CC=golang-codereviews, mischief
https://golang.org/cl/175370043

9 years ago[dev.cc] runtime: convert nacl support to Go
Russ Cox [Fri, 21 Nov 2014 15:22:18 +0000 (10:22 -0500)]
[dev.cc] runtime: convert nacl support to Go

LGTM=dave
R=minux, dave
CC=golang-codereviews
https://golang.org/cl/181030043

9 years ago[dev.cc] build: skip API checks on Windows too (not just Unix)
Russ Cox [Fri, 21 Nov 2014 05:21:49 +0000 (00:21 -0500)]
[dev.cc] build: skip API checks on Windows too (not just Unix)

TBR=brainman
CC=golang-codereviews
https://golang.org/cl/175490043

9 years ago[dev.cc] runtime: windows does not use _cgo_setenv and _cgo_unsetenv
Alex Brainman [Fri, 21 Nov 2014 04:59:22 +0000 (15:59 +1100)]
[dev.cc] runtime: windows does not use _cgo_setenv and _cgo_unsetenv

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/175480043

9 years ago[dev.cc] runtime: fix windows goenvs conversion mistake
Alex Brainman [Fri, 21 Nov 2014 01:15:18 +0000 (12:15 +1100)]
[dev.cc] runtime: fix windows goenvs conversion mistake

uint16 occupies 2 bytes, not 1

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/178100043

9 years ago[dev.cc] liblink: fix Solaris build some more
Austin Clements [Thu, 20 Nov 2014 19:28:54 +0000 (14:28 -0500)]
[dev.cc] liblink: fix Solaris build some more

a->name and a->class are char, so Solaris doesn't like using
them as array indexes.  (This same problem was fixed for amd64
in CL 169630043.)

LGTM=aram, minux
R=rsc, minux, aram
CC=golang-codereviews
https://golang.org/cl/175430043

9 years ago[dev.garbage] runtime: Fix constant overflow on 32 bit machines
Rick Hudson [Thu, 20 Nov 2014 19:24:01 +0000 (14:24 -0500)]
[dev.garbage] runtime: Fix constant overflow on 32 bit machines

LGTM=rsc
R=golang-codereviews
CC=golang-codereviews, rsc
https://golang.org/cl/180040043

9 years agogo/parser: Use test-specific filesets to avoid races.
Robert Griesemer [Thu, 20 Nov 2014 17:35:22 +0000 (09:35 -0800)]
go/parser: Use test-specific filesets to avoid races.

Only affects test code.

Fixes #9025.
Fixes #9130.

LGTM=r, adonovan
R=adonovan, r
CC=golang-codereviews
https://golang.org/cl/180920043

9 years ago[dev.garbage] runtime: Turn concurrent GC on by default. Avoid write barriers for...
Rick Hudson [Thu, 20 Nov 2014 17:08:13 +0000 (12:08 -0500)]
[dev.garbage] runtime: Turn concurrent GC on by default. Avoid write barriers for GC internal structures such as free lists.

LGTM=rsc
R=rsc
CC=golang-codereviews, rsc
https://golang.org/cl/179000043

9 years ago[dev.cc] all: merge default (e4ab8f908aac) into dev.cc
Russ Cox [Thu, 20 Nov 2014 16:48:08 +0000 (11:48 -0500)]
[dev.cc] all: merge default (e4ab8f908aac) into dev.cc

TBR=austin
CC=golang-codereviews
https://golang.org/cl/179040044

9 years ago[dev.cc] all: merge dev.power64 (f57928630b36) into dev.cc
Russ Cox [Thu, 20 Nov 2014 16:30:43 +0000 (11:30 -0500)]
[dev.cc] all: merge dev.power64 (f57928630b36) into dev.cc

This will be the last dev.power64 merge; we'll finish on dev.cc.

TBR=austin
CC=golang-codereviews
https://golang.org/cl/175420043

9 years agoruntime: fix atomic operations on non-heap addresses
Dmitriy Vyukov [Thu, 20 Nov 2014 14:51:02 +0000 (09:51 -0500)]
runtime: fix atomic operations on non-heap addresses
Race detector runtime does not tolerate operations on addresses
that was not previously declared with __tsan_map_shadow
(namely, data, bss and heap). The corresponding address
checks for atomic operations were removed in
https://golang.org/cl/111310044
Restore these checks.
It's tricker than just not calling into race runtime,
because it is the race runtime that makes the atomic
operations themselves (if we do not call into race runtime
we skip the atomic operation itself as well). So instead we call
__tsan_go_ignore_sync_start/end around the atomic operation.
This forces race runtime to skip all other processing
except than doing the atomic operation itself.
Fixes #9136.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/179030043

9 years agobuild: disable race external linking test on OS X 10.6 and earlier
Russ Cox [Thu, 20 Nov 2014 01:52:58 +0000 (20:52 -0500)]
build: disable race external linking test on OS X 10.6 and earlier

External linking doesn't work there at all.

LGTM=bradfitz
R=adg, bradfitz
CC=golang-codereviews
https://golang.org/cl/176070043

9 years ago[dev.cc] runtime: convert remaining windows C code to Go
Alex Brainman [Thu, 20 Nov 2014 01:24:03 +0000 (12:24 +1100)]
[dev.cc] runtime: convert remaining windows C code to Go

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/177090043

9 years agoruntime: remove assumption that noptrdata data bss noptrbss are ordered and contiguous
Russ Cox [Wed, 19 Nov 2014 20:25:33 +0000 (15:25 -0500)]
runtime: remove assumption that noptrdata data bss noptrbss are ordered and contiguous

The assumption can be violated by external linkers reordering them or
inserting non-Go sections in between them. I looked briefly at trying
to write out the _go_.o in external linking mode in a way that forced
the ordering, but no matter what there's no way to force Go's data
and Go's bss to be next to each other. If there is any data or bss from
non-Go objects, it's very likely to get stuck in between them.

Instead, rewrite the two places we know about that make the assumption.
I grepped for noptrdata to look for more and didn't find any.

The added race test (os/exec in external linking mode) fails without
the changes in the runtime. It crashes with an invalid pointer dereference.

Fixes #9133.

LGTM=dneil
R=dneil
CC=dvyukov, golang-codereviews, iant
https://golang.org/cl/179980043

9 years ago[dev.cc] runtime: add explicit siginfo.si_addr field
Austin Clements [Wed, 19 Nov 2014 19:56:49 +0000 (14:56 -0500)]
[dev.cc] runtime: add explicit siginfo.si_addr field

struct siginfo_t's si_addr field is part of a union.
Previously, we represented this union in Go using an opaque
byte array and accessed the si_addr field using unsafe (and
wrong on 386 and arm!) pointer arithmetic.  Since si_addr is
the only field we use from this union, this replaces the
opaque byte array with an explicit declaration of the si_addr
field and accesses it directly.

LGTM=minux, rsc
R=rsc, minux
CC=golang-codereviews
https://golang.org/cl/179970044

9 years ago[dev.cc] runtime: decode power64 branch instructions the way the CPU does
Austin Clements [Wed, 19 Nov 2014 19:24:41 +0000 (14:24 -0500)]
[dev.cc] runtime: decode power64 branch instructions the way the CPU does

Previously, this used the top 8 bits of an instruction as a
sort-of opcode and ignored the top two bits of the relative
PC.  This worked because these jumps are always negative and
never big enough for the top two bits of the relative PC (also
the bottom 2 bits of the sort-of opcode) to be anything other
than 0b11, but the code is confusing because it doesn't match
the actual structure of the instruction.

Instead, use the real 6 bit opcode and use all 24 bits of
relative PC.

LGTM=rsc
R=rsc, dave
CC=golang-codereviews
https://golang.org/cl/179960043

9 years agoundo CL 131750044 / 2d6d44ceb80e
Russ Cox [Wed, 19 Nov 2014 19:16:12 +0000 (14:16 -0500)]
undo CL 131750044 / 2d6d44ceb80e

Breaks reading from stdin in parent after exec with SysProcAttr{Setpgid: true}.

package main

import (
        "fmt"
        "os"
        "os/exec"
        "syscall"
)

func main() {
        cmd := exec.Command("true")
        cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
        cmd.Run()

        fmt.Printf("Hit enter:")
        os.Stdin.Read(make([]byte, 100))
        fmt.Printf("Bye\n")
}

In go1.3, I type enter at the prompt and the program exits.
With the CL being rolled back, the program wedges at the
prompt.

««« original CL description
syscall: SysProcAttr job control changes

Making the child's process group the foreground process group and
placing the child in a specific process group involves co-ordination
between the parent and child that must be done post-fork but pre-exec.

LGTM=iant
R=golang-codereviews, gobot, iant, mikioh.mikioh
CC=golang-codereviews
https://golang.org/cl/131750044

»»»

LGTM=minux, dneil
R=dneil, minux
CC=golang-codereviews, iant, michael.p.macinnis
https://golang.org/cl/174450043

9 years ago[dev.cc] runtime: allow more address bits in lfstack on Power64
Austin Clements [Wed, 19 Nov 2014 16:30:58 +0000 (11:30 -0500)]
[dev.cc] runtime: allow more address bits in lfstack on Power64

Previously, lfstack assumed Linux limited user space addresses
to 43 bits on Power64 based on a paper from 2001.  It turns
out the limit is now 46 bits, so lfstack was truncating
pointers.

Raise the limit to 48 bits (for some future proofing and to
make it match amd64) and add a self-test that will fail in a
useful way if ever unpack(pack(x)) != x.

With this change, dev.cc passes all.bash on power64le.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/174430043

9 years ago[dev.cc] runtime: update sys_windows_386.s and sys_windows_amd64.s for Go conversion
Alex Brainman [Wed, 19 Nov 2014 00:55:15 +0000 (11:55 +1100)]
[dev.cc] runtime: update sys_windows_386.s and sys_windows_amd64.s for Go conversion

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/176970043

9 years ago[dev.cc] runtime: merge power64 onM/onM_signalok into systemstack
Austin Clements [Tue, 18 Nov 2014 20:50:36 +0000 (15:50 -0500)]
[dev.cc] runtime: merge power64 onM/onM_signalok into systemstack

This is the power64 component of CL 174950043.

With this, dev.cc compiles on power64 and power64le and passes
most tests if GOGC=off (but crashes in go_bootstrap if GC is
on).

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/175290043

9 years ago[dev.cc] runtime: catch defs_linux_power64*.go up to other archs
Austin Clements [Tue, 18 Nov 2014 20:19:48 +0000 (15:19 -0500)]
[dev.cc] runtime: catch defs_linux_power64*.go up to other archs

Fix a constant conversion error.  Add set_{sec,nsec} for
timespec and set_usec for timeval.  Fix type of
sigaltstackt.ss_size.

LGTM=rsc
R=rsc, bradfitz
CC=golang-codereviews
https://golang.org/cl/180840043

9 years ago[dev.cc] runtime: convert power64-specific .c and .h files to Go
Austin Clements [Tue, 18 Nov 2014 20:19:37 +0000 (15:19 -0500)]
[dev.cc] runtime: convert power64-specific .c and .h files to Go

The power64 equivalent of CL 174860043

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/179890043

9 years ago[dev.cc] runtime: convert power64 assembly files for C to Go transition
Austin Clements [Tue, 18 Nov 2014 20:19:26 +0000 (15:19 -0500)]
[dev.cc] runtime: convert power64 assembly files for C to Go transition

The power64 equivalent of CL 168510043

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/178940043

9 years ago[dev.cc] runtime: convert power64 signal handlers from C to Go
Austin Clements [Tue, 18 Nov 2014 20:19:09 +0000 (15:19 -0500)]
[dev.cc] runtime: convert power64 signal handlers from C to Go

The power64 equivalent of CL 168500044

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/175280043

9 years ago[dev.cc] 9a: make RET a synonym for RETURN; use "g" instead of "R30"
Austin Clements [Tue, 18 Nov 2014 20:18:52 +0000 (15:18 -0500)]
[dev.cc] 9a: make RET a synonym for RETURN; use "g" instead of "R30"

Previously, 9a was the only assembler that had a different
name for RET, causing unnecessary friction in simple files
that otherwise assembled on all architectures.  Add RET so
these work on 9a.

This also renames "R30" to "g" to avoid unintentionally
clobbering g in assembly code.  This parallels a change made
to 5a.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/178030043

9 years ago[dev.cc] cmd/9c: remove
Austin Clements [Tue, 18 Nov 2014 20:18:42 +0000 (15:18 -0500)]
[dev.cc] cmd/9c: remove

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/175940043

9 years ago[dev.cc] runtime: generate GOOS- and GOARCH-specific files with go generate
Russ Cox [Tue, 18 Nov 2014 17:07:50 +0000 (12:07 -0500)]
[dev.cc] runtime: generate GOOS- and GOARCH-specific files with go generate

Eventually I'd like almost everything cmd/dist generates
to be done with 'go generate' and checked in, to simplify
the bootstrap process. The only thing cmd/dist really needs
to do is write things like the current experiment info and
the current version.

This is a first step toward that. It replaces the _NaCl etc
constants with generated ones goos_nacl, goos_darwin,
goarch_386, and so on.

LGTM=dave, austin
R=austin, dave, bradfitz
CC=golang-codereviews, iant, r
https://golang.org/cl/174290043

9 years ago[dev.cc] runtime: convert defs_linux_power64*.h to go
Russ Cox [Tue, 18 Nov 2014 16:38:23 +0000 (11:38 -0500)]
[dev.cc] runtime: convert defs_linux_power64*.h to go

LGTM=austin
R=austin
CC=golang-codereviews
https://golang.org/cl/176990043