]> Cypherpunks repositories - gostls13.git/log
gostls13.git
10 years ago[dev.power64] hash/crc32: use portable castagnoli on power64
Russ Cox [Wed, 13 Aug 2014 01:38:50 +0000 (21:38 -0400)]
[dev.power64] hash/crc32: use portable castagnoli on power64

LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/128110044

10 years ago[dev.power64] cmd/9g, cmd/gc, cmd/ld: fix build.
Shenghou Ma [Wed, 13 Aug 2014 01:22:27 +0000 (21:22 -0400)]
[dev.power64] cmd/9g, cmd/gc, cmd/ld: fix build.

1. disable nonsplit stack overflow check
2. disable OLROT recognition
3. emit correct instructions for adding offsets to an address

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

10 years ago[dev.power64] cmd/9c: fix endian issue in integer to floating point conversion
Shenghou Ma [Wed, 13 Aug 2014 00:58:05 +0000 (20:58 -0400)]
[dev.power64] cmd/9c: fix endian issue in integer to floating point conversion

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

10 years ago[dev.power64] cmd/9l: remove MAXIO (fix build)
Shenghou Ma [Wed, 13 Aug 2014 00:57:54 +0000 (20:57 -0400)]
[dev.power64] cmd/9l: remove MAXIO (fix build)

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

10 years ago[dev.power64] liblink: support stack split, long conditional branches
Shenghou Ma [Wed, 13 Aug 2014 00:57:45 +0000 (20:57 -0400)]
[dev.power64] liblink: support stack split, long conditional branches

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

10 years ago[dev.power64] cmd/gc: handle thechar=='9', disable nilopt() for now
Shenghou Ma [Wed, 13 Aug 2014 00:57:32 +0000 (20:57 -0400)]
[dev.power64] cmd/gc: handle thechar=='9', disable nilopt() for now

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

10 years ago[dev.power64] cmd/9g: implement zerorange
Shenghou Ma [Tue, 12 Aug 2014 23:51:01 +0000 (19:51 -0400)]
[dev.power64] cmd/9g: implement zerorange

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

10 years ago[dev.power64] sync/atomic: implement for asm_power64x.s
Shenghou Ma [Tue, 12 Aug 2014 23:50:51 +0000 (19:50 -0400)]
[dev.power64] sync/atomic: implement for asm_power64x.s

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

10 years ago[dev.power64] math: implement Abs, add power64/power64le forwarding assembly functions
Shenghou Ma [Tue, 12 Aug 2014 23:50:40 +0000 (19:50 -0400)]
[dev.power64] math: implement Abs, add power64/power64le forwarding assembly functions

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

10 years ago[dev.power64] runtime: add defs3_linux.go to generate defs_linux_power64{,le}.h
Shenghou Ma [Tue, 12 Aug 2014 23:50:30 +0000 (19:50 -0400)]
[dev.power64] runtime: add defs3_linux.go to generate defs_linux_power64{,le}.h

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

10 years ago[dev.power64] runtime: auto-generated headers for linux/power64 and linux/power64le
Shenghou Ma [Tue, 12 Aug 2014 23:50:18 +0000 (19:50 -0400)]
[dev.power64] runtime: auto-generated headers for linux/power64 and linux/power64le

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

10 years ago[dev.power64] runtime: move noasm_arm.goc to noasm.goc
Shenghou Ma [Tue, 12 Aug 2014 23:50:03 +0000 (19:50 -0400)]
[dev.power64] runtime: move noasm_arm.goc to noasm.goc

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

10 years ago[dev.power64] runtime: changes to the portable part for linux/power64 and linux/power64le
Shenghou Ma [Tue, 12 Aug 2014 23:49:52 +0000 (19:49 -0400)]
[dev.power64] runtime: changes to the portable part for linux/power64 and linux/power64le

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

10 years ago[dev.power64] os/signal: support for linux/power64 and linux/power64le
Shenghou Ma [Tue, 12 Aug 2014 23:49:41 +0000 (19:49 -0400)]
[dev.power64] os/signal: support for linux/power64 and linux/power64le

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

10 years ago[dev.power64] syscall: script changes for power64
Shenghou Ma [Tue, 12 Aug 2014 23:49:31 +0000 (19:49 -0400)]
[dev.power64] syscall: script changes for power64

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

10 years ago[dev.power64] syscall: auto-generated source for linux/power64 and linux/power64le.
Shenghou Ma [Tue, 12 Aug 2014 23:49:18 +0000 (19:49 -0400)]
[dev.power64] syscall: auto-generated source for linux/power64 and linux/power64le.

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

10 years ago[dev.power64] syscall: the manually written parts for linux/power64 and linux/power64le
Shenghou Ma [Tue, 12 Aug 2014 23:49:03 +0000 (19:49 -0400)]
[dev.power64] syscall: the manually written parts for linux/power64 and linux/power64le

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

10 years ago[dev.power64] runtime: manually written parts for linux/power64 and linux/power64le...
Shenghou Ma [Tue, 12 Aug 2014 23:48:49 +0000 (19:48 -0400)]
[dev.power64] runtime: manually written parts for linux/power64 and linux/power64le, checkpoint

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

10 years ago[dev.power64] cmd/9g: first check point
Shenghou Ma [Tue, 12 Aug 2014 03:44:55 +0000 (23:44 -0400)]
[dev.power64] cmd/9g: first check point

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

10 years ago[dev.power64] cmd/9l/9.out.h: introduce NFREG, REGG, REGRT1 and REGRT2
Shenghou Ma [Tue, 12 Aug 2014 03:44:38 +0000 (23:44 -0400)]
[dev.power64] cmd/9l/9.out.h: introduce NFREG, REGG, REGRT1 and REGRT2

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

10 years ago[dev.power64] cmd/9l: introduce the power64 linker, based loosely on 5l
Shenghou Ma [Tue, 12 Aug 2014 03:44:23 +0000 (23:44 -0400)]
[dev.power64] cmd/9l: introduce the power64 linker, based loosely on 5l

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

10 years ago[dev.power64] cmd/cgo: add {ppc,power}64{,le} to pointer and int size maps
Shenghou Ma [Tue, 12 Aug 2014 03:43:51 +0000 (23:43 -0400)]
[dev.power64] cmd/cgo: add {ppc,power}64{,le} to pointer and int size maps

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

10 years ago[dev.power64] debug/elf: add power64 support along with relocation test
Shenghou Ma [Tue, 12 Aug 2014 03:43:34 +0000 (23:43 -0400)]
[dev.power64] debug/elf: add power64 support along with relocation test

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

10 years ago[dev.power64] syscall: remove duplicated constants
Shenghou Ma [Tue, 12 Aug 2014 03:43:15 +0000 (23:43 -0400)]
[dev.power64] syscall: remove duplicated constants

Without this CL, simply running mkall.sh for Linux will generate duplicated constants
for termios. I verified that after this CL, mkall.sh will generate almost identical
z* files for linux/amd64.

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

10 years ago[dev.power64] runtime: ignore rt_sigaction error if it's for SIGRTMAX.
Shenghou Ma [Tue, 12 Aug 2014 03:32:33 +0000 (23:32 -0400)]
[dev.power64] runtime: ignore rt_sigaction error if it's for SIGRTMAX.
Workaround a qemu linux user space emulation bug.
ref: http://git.qemu.org/?p=qemu.git;a=blob;f=linux-user/signal.c;h=1141054be2170128d6f7a340b41484b49a255936;hb=HEAD#l82

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

10 years ago[dev.power64] runtime: rename traceback_arm.c to traceback_lr.c
Shenghou Ma [Tue, 12 Aug 2014 03:32:08 +0000 (23:32 -0400)]
[dev.power64] runtime: rename traceback_arm.c to traceback_lr.c
Also make it more portable by not hardcoding pointer sizes.

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

10 years ago[dev.power64] cmd/ld: add MAXIO back in lib.h
Shenghou Ma [Tue, 12 Aug 2014 03:31:28 +0000 (23:31 -0400)]
[dev.power64] cmd/ld: add MAXIO back in lib.h

It was accidentally removed.

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

10 years ago[dev.power64] cmd/9c: add Makefile
Shenghou Ma [Thu, 7 Aug 2014 22:41:37 +0000 (18:41 -0400)]
[dev.power64] cmd/9c: add Makefile

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

10 years ago[dev.power64] liblink: handle $i64. symbols, add debug output for -S -v, show rel...
Shenghou Ma [Thu, 7 Aug 2014 22:41:09 +0000 (18:41 -0400)]
[dev.power64] liblink: handle $i64. symbols, add debug output for -S -v, show rel addend in hex for RISC arches

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

10 years ago[dev.power64] cmd/ld: update for power64
Shenghou Ma [Thu, 7 Aug 2014 22:36:42 +0000 (18:36 -0400)]
[dev.power64] cmd/ld: update for power64

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

10 years ago[dev.power64] cmd/9c: fix switch bug
Shenghou Ma [Thu, 7 Aug 2014 22:34:25 +0000 (18:34 -0400)]
[dev.power64] cmd/9c: fix switch bug

The cmd/cc bundled with 9c has additional code compared to our cmd/cc, and
without those code, 9c couldn't handle switch statement where the expression
is not just a simple int32 or int64 variable (e.g. g->status or int8 variable).

All credit goes to rsc.

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

10 years ago[dev.power64] include/link.h, liblink: convert 9l functions to liblink
Shenghou Ma [Thu, 7 Aug 2014 19:13:25 +0000 (15:13 -0400)]
[dev.power64] include/link.h, liblink: convert 9l functions to liblink
This replaces CL 122990043.

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

10 years ago[dev.power64] cmd/9l: update header files for liblink
Shenghou Ma [Thu, 7 Aug 2014 18:56:59 +0000 (14:56 -0400)]
[dev.power64] cmd/9l: update header files for liblink

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

10 years ago[dev.power64] cmd/9a: use liblink, add required additional instructions.
Shenghou Ma [Thu, 7 Aug 2014 18:49:41 +0000 (14:49 -0400)]
[dev.power64] cmd/9a: use liblink, add required additional instructions.

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

10 years ago[dev.power64] .hgignore: update for the 9 toolchain
Shenghou Ma [Thu, 7 Aug 2014 18:37:00 +0000 (14:37 -0400)]
[dev.power64] .hgignore: update for the 9 toolchain

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

10 years ago[dev.power64] cmd/9c: use liblink, use Go argument passing rules, support both endians
Shenghou Ma [Thu, 7 Aug 2014 18:36:34 +0000 (14:36 -0400)]
[dev.power64] cmd/9c: use liblink, use Go argument passing rules, support both endians

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

10 years ago[dev.power64] liblink: move span and asmout related function from obj9.c to asm9.c
Shenghou Ma [Thu, 7 Aug 2014 16:02:36 +0000 (12:02 -0400)]
[dev.power64] liblink: move span and asmout related function from obj9.c to asm9.c
To reduce delta for the upcoming liblink CL.
Just code movement, no semantic changes.

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

10 years ago[dev.power64] cmd/dist: power64/power64le support.
Shenghou Ma [Thu, 7 Aug 2014 03:59:14 +0000 (23:59 -0400)]
[dev.power64] cmd/dist: power64/power64le support.

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

10 years ago[dev.power64] cmd/9g: add doc.go to prevent build failures.
Shenghou Ma [Thu, 7 Aug 2014 03:43:36 +0000 (23:43 -0400)]
[dev.power64] cmd/9g: add doc.go to prevent build failures.

After CL 117670045, cmd/dist will expect to have a cmd/9g directory.

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

10 years ago[dev.power64] cmd/9a, cmd/9c, cmd/9l, liblink: import code from Vita Nuova.
Shenghou Ma [Thu, 7 Aug 2014 03:41:29 +0000 (23:41 -0400)]
[dev.power64] cmd/9a, cmd/9c, cmd/9l, liblink: import code from Vita Nuova.

No modifications other than adding copyright header to each file, and
concatenating several cmd/9l files together to form the liblink files.

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

10 years ago[dev.power64] cmd/dist: recognize power64 and power64le as GOHOSTARCH
Shenghou Ma [Wed, 6 Aug 2014 20:16:28 +0000 (16:16 -0400)]
[dev.power64] cmd/dist: recognize power64 and power64le as GOHOSTARCH

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

10 years ago[dev.power64] all: merge default, for codereview update
Russ Cox [Wed, 6 Aug 2014 20:15:22 +0000 (16:15 -0400)]
[dev.power64] all: merge default, for codereview update

LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/124820043

10 years agocodereview: do not hit upload_complete on first patch
Russ Cox [Wed, 6 Aug 2014 20:12:24 +0000 (16:12 -0400)]
codereview: do not hit upload_complete on first patch

Causes server 500 error, so don't do it.

TBR=minux
CC=golang-codereviews
https://golang.org/cl/125770043

10 years agocodereview: fix submit of merge + include branch prefix in submitted message
Russ Cox [Wed, 6 Aug 2014 20:10:08 +0000 (16:10 -0400)]
codereview: fix submit of merge + include branch prefix in submitted message

hg insists that we not list explicit files for a merge.

for benefit of other tools reading logs, include branch prefix
at start of every commit message.

LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/124780044

10 years agocmd/gc: make liveness ~10x faster
Russ Cox [Wed, 6 Aug 2014 19:46:33 +0000 (15:46 -0400)]
cmd/gc: make liveness ~10x faster

1) The arrayindexof lookup function is O(n). Replace with O(1) lookups.

2) The checkptxt function is O(n²) and is purely for debugging.
Only run when the debugging flags are turned on.

3) Iterating over sparse bitmaps can be done faster word by word.
Introduce and use bvnext for that.

Run times before and after, on my 2.5 GHz Core i5 MacBook Pro.

x.go       9.48  0.84  issue 8259

x100.go    0.01  0.01  issue 8354
x1000.go   0.10  0.10
x2000.go   0.62  0.19
x3000.go   1.33  0.34
x4000.go   2.29  0.49
x5000.go   3.89  0.67
x6000.go   5.00  0.90
x7000.go   6.70  1.13
x8000.go   9.44  1.38
x9000.go  11.23  1.87
x10000.go 13.78  2.09

Fixes #8259.
Fixes #8354.

LGTM=iant, r
R=golang-codereviews, iant, r
CC=golang-codereviews
https://golang.org/cl/125720043

10 years agoall: merge default, for codereview fixes
Russ Cox [Wed, 6 Aug 2014 19:36:24 +0000 (15:36 -0400)]
all: merge default, for codereview fixes

LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/124810043

10 years agocodereview: handle upload of merge
Russ Cox [Wed, 6 Aug 2014 19:25:17 +0000 (15:25 -0400)]
codereview: handle upload of merge

LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/118690043

10 years agocodereview: preserve branch prefix in subject during hg mail
Russ Cox [Wed, 6 Aug 2014 19:15:45 +0000 (15:15 -0400)]
codereview: preserve branch prefix in subject during hg mail

LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/124800043

10 years agocmd/dist: generate anames9.c
Russ Cox [Wed, 6 Aug 2014 19:12:08 +0000 (15:12 -0400)]
cmd/dist: generate anames9.c

LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/120690043

10 years agodebug/dwarf: fix Reader panic on DW_TAG_unspecified_type
Derek Parker [Wed, 6 Aug 2014 19:11:37 +0000 (12:11 -0700)]
debug/dwarf: fix Reader panic on DW_TAG_unspecified_type

The linker currently produces the DWARF 3 DW_TAG_unspecified_type tag, however the Reader in debug/dwarf will panic whenever that tag is encountered.

Fixes #8437.

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

10 years agoA+C: Derek Parker (individual CLA)
Brad Fitzpatrick [Wed, 6 Aug 2014 19:10:00 +0000 (12:10 -0700)]
A+C: Derek Parker (individual CLA)

Generated by a+c.

R=gobot
CC=golang-codereviews
https://golang.org/cl/125750043

10 years agocmd/dist, go/build: add power64, power64le to known GOARCH lists
Russ Cox [Wed, 6 Aug 2014 18:58:17 +0000 (14:58 -0400)]
cmd/dist, go/build: add power64, power64le to known GOARCH lists

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

10 years ago[dev.power64] remove dummy file
Russ Cox [Wed, 6 Aug 2014 18:57:34 +0000 (14:57 -0400)]
[dev.power64] remove dummy file

10 years ago[dev.power64] create dev branch
Russ Cox [Wed, 6 Aug 2014 18:56:58 +0000 (14:56 -0400)]
[dev.power64] create dev branch

10 years agocodereview: enable work and code reviews in development branches
Russ Cox [Wed, 6 Aug 2014 18:52:12 +0000 (14:52 -0400)]
codereview: enable work and code reviews in development branches

This is an experiment. See mail on golang-dev
(subject: "an experiment: development branches").

LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/117660043

10 years agoruntime: turn off 'unexpected return pc' print on arm traceback
Russ Cox [Wed, 6 Aug 2014 18:50:09 +0000 (14:50 -0400)]
runtime: turn off 'unexpected return pc' print on arm traceback

It can happen legitimately if a profiling signal arrives at just the wrong moment.
It's harmless.

Fixes #8153.

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

10 years agocrypto/tls: Added dynamic alternative to NameToCertificate map for SNI
Percy Wegmann [Wed, 6 Aug 2014 18:22:00 +0000 (11:22 -0700)]
crypto/tls: Added dynamic alternative to NameToCertificate map for SNI

Revised version of https://golang.org/cl/81260045/

LGTM=agl
R=golang-codereviews, gobot, agl, ox
CC=golang-codereviews
https://golang.org/cl/107400043

10 years agocmd/cgo: consistently map void* to *byte under -{c,go}defs
Matthew Dempsky [Wed, 6 Aug 2014 17:28:19 +0000 (10:28 -0700)]
cmd/cgo: consistently map void* to *byte under -{c,go}defs

Fixes #8478.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/122150043

10 years agoruntime: remove unused variable
Dmitriy Vyukov [Wed, 6 Aug 2014 15:33:15 +0000 (19:33 +0400)]
runtime: remove unused variable
Left over from cl/119490044.

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

10 years agoruntime: simplify code
Dmitriy Vyukov [Wed, 6 Aug 2014 14:36:48 +0000 (18:36 +0400)]
runtime: simplify code
Full spans can't be passed to UncacheSpan since we get rid of free.

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

10 years agodist: fix Plan 9 build
David du Colombier [Wed, 6 Aug 2014 13:11:41 +0000 (06:11 -0700)]
dist: fix Plan 9 build

Since CL 115060044, mkanames declares an empty
array in anames8.c and anames6.c, which is not
valid for the Plan 9 compiler.

char* cnames8[] = {
};

This change makes mkanames not declaring the
cnames array when no C_ constants are found.

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

10 years agoruntime: burn cpu before calling yield in windows runtime.systime
Alex Brainman [Wed, 6 Aug 2014 07:24:03 +0000 (17:24 +1000)]
runtime: burn cpu before calling yield in windows runtime.systime

LGTM=dvyukov
R=golang-codereviews, dvyukov
CC=golang-codereviews
https://golang.org/cl/117670043

10 years agoundo CL 114420043 / b613f2acdf69
Shenghou Ma [Wed, 6 Aug 2014 06:07:31 +0000 (02:07 -0400)]
undo CL 114420043 / b613f2acdf69

Broke freebsd/amd64 due to exposure of a latent bug.

««« original CL description
cmd/ld: fix operator precedence

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

TBR=dfc
R=dave
CC=golang-codereviews
https://golang.org/cl/120630043

10 years agoliblink: encode MOVBQZX as MOVZBL instead of MOVZBQ
Rui Ueyama [Wed, 6 Aug 2014 04:38:41 +0000 (21:38 -0700)]
liblink: encode MOVBQZX as MOVZBL instead of MOVZBQ

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

10 years agoliblink, cmd/dist, cmd/5l: introduce %^ and move C_* constants.
Shenghou Ma [Wed, 6 Aug 2014 04:31:22 +0000 (00:31 -0400)]
liblink, cmd/dist, cmd/5l: introduce %^ and move C_* constants.

The helps certain diagnostics and also removed duplicated enums as a side effect.

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

10 years agocmd/cc, cmd/gc: set ctxt->debugvlog with debug['v']
Shenghou Ma [Wed, 6 Aug 2014 04:27:14 +0000 (00:27 -0400)]
cmd/cc, cmd/gc: set ctxt->debugvlog with debug['v']

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

10 years agocmd/5l, cmd/6l, cmd/8l, cmd/ld: remove unused code, consolidate enums
Shenghou Ma [Wed, 6 Aug 2014 04:25:52 +0000 (00:25 -0400)]
cmd/5l, cmd/6l, cmd/8l, cmd/ld: remove unused code, consolidate enums

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

10 years agoliblink: support big-endian properly
Shenghou Ma [Wed, 6 Aug 2014 04:25:41 +0000 (00:25 -0400)]
liblink: support big-endian properly

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

10 years agocmd/ld: fix operator precedence
Shenghou Ma [Wed, 6 Aug 2014 04:25:05 +0000 (00:25 -0400)]
cmd/ld: fix operator precedence

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

10 years agoruntime: get rid of SA_RESTORER on ARM.
Shenghou Ma [Wed, 6 Aug 2014 04:24:55 +0000 (00:24 -0400)]
runtime: get rid of SA_RESTORER on ARM.

The manpages says SA_RESTORER is obsolete, and indeed, not every architecture
support it. However, sadly it's required on x86_64, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/signal.c?id=26bcd8b72563b4c54892c4c2a409f6656fb8ae8b#n430, so only use it on x86.

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

10 years agoliblink: use LinkArch.textflag() to get text and dataflag
Shenghou Ma [Wed, 6 Aug 2014 04:24:43 +0000 (00:24 -0400)]
liblink: use LinkArch.textflag() to get text and dataflag
Rather than switch on thechar.

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

10 years agoruntime: remove dead code
Shenghou Ma [Wed, 6 Aug 2014 04:24:31 +0000 (00:24 -0400)]
runtime: remove dead code

LGTM=bradfitz, dave, ruiu
R=rsc, iant, bradfitz, dave, ruiu
CC=golang-codereviews
https://golang.org/cl/116610043

10 years agoruntime: disable aeshash on NaCl at compile time
Shenghou Ma [Wed, 6 Aug 2014 04:24:11 +0000 (00:24 -0400)]
runtime: disable aeshash on NaCl at compile time

Fixes build for nacl/386.

LGTM=dave
R=khr, bradfitz, dave, dan.kortschak, rsc
CC=golang-codereviews
https://golang.org/cl/121080043

10 years agoliblink: shorter encoding for zeroing register
Rui Ueyama [Wed, 6 Aug 2014 04:10:07 +0000 (21:10 -0700)]
liblink: shorter encoding for zeroing register

Encode MOV $0, %ax as XOR %eax, %eax instead of
XOR %rax, %rax. If an operand register does not
need REX.w bit (i.e. not one of R8-R15), it is
encoded in 2 bytes instead of 3 bytes.

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

10 years agocmd/cgo: fix recursive type mapping
Matthew Dempsky [Wed, 6 Aug 2014 01:16:56 +0000 (18:16 -0700)]
cmd/cgo: fix recursive type mapping

Instead of immediately completing pointer type mappings, add them to
a queue to allow them to be completed later.  This fixes issues caused
by Type() returning arbitrary in-progress type mappings.

Fixes #8368.
Fixes #8441.

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

10 years agocmd/cgo: fix handling of defs_linux.go
Matthew Dempsky [Wed, 6 Aug 2014 01:12:32 +0000 (18:12 -0700)]
cmd/cgo: fix handling of defs_linux.go

Instead of including <sys/types.h> to get size_t, instead include
the ISO C standard <stddef.h> header, which defines fewer additional
types at risk of colliding with the user code.  In particular, this
prevents collisions between <sys/types.h>'s userspace definitions with
the kernel definitions needed by defs_linux.go.

Also, -cdefs mode uses #pragma pack, so we can keep misaligned fields.

Fixes #8477.

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

10 years agonet: separate DNS transport from DNS query-response interaction
Mikio Hara [Wed, 6 Aug 2014 00:58:47 +0000 (09:58 +0900)]
net: separate DNS transport from DNS query-response interaction

Before fixing issue 6579 this CL separates DNS transport from
DNS message interaction to make it easier to add builtin DNS
resolver control logic.

Update #6579

LGTM=alex, kevlar
R=golang-codereviews, alex, gobot, iant, minux, kevlar
CC=golang-codereviews
https://golang.org/cl/101220044

10 years agocmd/cgo: for -godefs, promote first field of anonymous union
Ian Lance Taylor [Wed, 6 Aug 2014 00:10:15 +0000 (17:10 -0700)]
cmd/cgo: for -godefs, promote first field of anonymous union

Update #6677

When a struct contains an anonymous union, use the type and
name of the first field in the union.

This should make the glibc <sys/resource.h> file work; in that
file struct rusage has fields like

__extension__ union
{
        long int ru_maxrss;
        __syscall_slong_t __ru_maxrss_word;
};

in which the field that matters is ru_maxrss and
__ru_maxrss_word just exists to advance to the next field on
systems where the kernel uses long long fields but userspace
expects long fields.

LGTM=mikioh.mikioh
R=golang-codereviews, mikioh.mikioh
CC=golang-codereviews
https://golang.org/cl/106260044

10 years agoruntime: cache one GC workbuf in thread-local storage
Dmitriy Vyukov [Tue, 5 Aug 2014 21:50:37 +0000 (01:50 +0400)]
runtime: cache one GC workbuf in thread-local storage
We call scanblock for lots of small root pieces
e.g. for every stack frame args and locals area.
Every scanblock invocation calls getempty/putempty,
which accesses lock-free stack shared among all worker threads.
One-element local cache allows most scanblock calls
to proceed without accessing the shared stack.

LGTM=rsc
R=golang-codereviews, rlh
CC=golang-codereviews, khr, rsc
https://golang.org/cl/121250043

10 years agomime/multipart: fix Writer data race test
Rui Ueyama [Tue, 5 Aug 2014 20:43:12 +0000 (13:43 -0700)]
mime/multipart: fix Writer data race test

If the process exits before the spawned goroutine
completes, it'll miss the data race.

LGTM=bradfitz
R=bradfitz
CC=dvyukov, golang-codereviews
https://golang.org/cl/122120043

10 years agodoc/go1.4.txt: document ASN.1 behaviour change.
Adam Langley [Tue, 5 Aug 2014 19:00:14 +0000 (12:00 -0700)]
doc/go1.4.txt: document ASN.1 behaviour change.

CC=golang-codereviews
https://golang.org/cl/116710043

10 years agomime/multipart: add Writer data race test
Brad Fitzpatrick [Tue, 5 Aug 2014 18:45:24 +0000 (11:45 -0700)]
mime/multipart: add Writer data race test

Camlistore uses this pattern to do streaming writes, as do
others I imagine, and it was broken by the lazy boundary
change.

LGTM=dvyukov, ruiu
R=ruiu, dvyukov
CC=golang-codereviews, mathieu.lonjaret
https://golang.org/cl/116690043

10 years agoundo CL 95760043 / b2131d729e52
Brad Fitzpatrick [Tue, 5 Aug 2014 18:36:44 +0000 (11:36 -0700)]
undo CL 95760043 / b2131d729e52

Breaks Camlistore by introducing a datarace. See comments on
https://golang.org/cl/95760043/ for details.

I'll add a new test to lock-in the current behavior in a
subsequent CL.

I don't think Camlistore is particularly unique here: it's doing
the obvious thing to stream a multipart body to a server
using a goroutine feeding the multipart writer.

««« original CL description
mime/multipart: delay reading random source

If a user sets his/her own boundary string with SetBoundary,
we don't need to call randomBoundary at all.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/95760043
»»»

LGTM=ruiu
R=ruiu
CC=golang-codereviews, mathieu.lonjaret
https://golang.org/cl/117600043

10 years agocrypto/tls: add ALPN support.
Adam Langley [Tue, 5 Aug 2014 18:36:20 +0000 (11:36 -0700)]
crypto/tls: add ALPN support.

Fixes #6736.

LGTM=mikioh.mikioh
R=bradfitz, mikioh.mikioh
CC=golang-codereviews
https://golang.org/cl/108710046

10 years agoruntime: remove type.go
Dmitriy Vyukov [Tue, 5 Aug 2014 18:32:24 +0000 (22:32 +0400)]
runtime: remove type.go
We have an autogenerated version in zruntime_defs.
I am not sure what are the consequences as gdb never printed any values for me.
But it looks unnecessary to manually duplicate it.

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

10 years agospec: comma-ok expressions return untyped boolean 2nd result
Robert Griesemer [Tue, 5 Aug 2014 18:31:32 +0000 (11:31 -0700)]
spec: comma-ok expressions return untyped boolean 2nd result

Technically a language change, this cleanup is a completely
backward compatible change that brings the boolean results
of comma-ok expressions in line with the boolean results of
comparisons: they are now all untyped booleans.

The implementation effort should be minimal (less than a
handfull lines of code, depending how well factored the
implementation of comma-ok expressions is).

Fixes #8189.

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

10 years agoA+C: Percy Wegmann (individual CLA)
Adam Langley [Tue, 5 Aug 2014 18:25:47 +0000 (11:25 -0700)]
A+C: Percy Wegmann (individual CLA)

Generated by a+c.

R=gobot
CC=golang-codereviews
https://golang.org/cl/121240043

10 years agoruntime/race: add tests for maps with big keys/vals
Dmitriy Vyukov [Tue, 5 Aug 2014 14:12:38 +0000 (18:12 +0400)]
runtime/race: add tests for maps with big keys/vals
With the recent GC changes large objects are handled somewhat differently.

LGTM=khr
R=khr
CC=golang-codereviews
https://golang.org/cl/114600043

10 years agoruntime: remove outdated comment
Dmitriy Vyukov [Tue, 5 Aug 2014 13:03:06 +0000 (17:03 +0400)]
runtime: remove outdated comment

LGTM=bradfitz, khr
R=khr, bradfitz
CC=golang-codereviews
https://golang.org/cl/120400043

10 years agoruntime: use memmove rather than memcopy in mgc0.c
Ian Lance Taylor [Tue, 5 Aug 2014 03:40:44 +0000 (20:40 -0700)]
runtime: use memmove rather than memcopy in mgc0.c

For consistency with other code, as that was the only use of
memcopy outside of alg.goc.

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

10 years agosyscall: fix typo in comment
Ian Lance Taylor [Tue, 5 Aug 2014 03:30:26 +0000 (20:30 -0700)]
syscall: fix typo in comment

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

10 years agoruntime: remove unused enum maxround
Ian Lance Taylor [Tue, 5 Aug 2014 03:29:58 +0000 (20:29 -0700)]
runtime: remove unused enum maxround

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

10 years agoruntime: only use a single variable in USED
Ian Lance Taylor [Tue, 5 Aug 2014 03:29:36 +0000 (20:29 -0700)]
runtime: only use a single variable in USED

The gccgo version of USED only accepts a single variable, so
this simplifies merging.

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

10 years agotest: add test for function type in function literal
Ian Lance Taylor [Tue, 5 Aug 2014 02:50:49 +0000 (19:50 -0700)]
test: add test for function type in function literal

The gccgo compiler used to fail this test.  This was the root
cause of http://gcc.gnu.org/PR61308 .  The fix for the gccgo
compiler is https://golang.org/cl/122020043 .

LGTM=dave, bradfitz
R=golang-codereviews, dave, bradfitz
CC=golang-codereviews
https://golang.org/cl/121200043

10 years agoarchive/zip: accept bogus trailing zeros in extras
Brad Fitzpatrick [Mon, 4 Aug 2014 23:12:55 +0000 (16:12 -0700)]
archive/zip: accept bogus trailing zeros in extras

Popular tools both add incorrect trailing zeroes to the zip
extras, and popular tools accept trailing zeros. We seemed to
be the only ones being strict here. Stop being strict. :(

Fixes #8186

LGTM=ruiu, adg, dave
R=adg, ruiu, dave
CC=frohrweck, golang-codereviews
https://golang.org/cl/117550044

10 years agonet: consolidate sockaddrToAddr functions
Mikio Hara [Mon, 4 Aug 2014 21:10:46 +0000 (06:10 +0900)]
net: consolidate sockaddrToAddr functions

This CL removes sockaddrToAddr functions from socket creation
operations to avoid the bug like issue 7183.

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

10 years agoencoding/gob: save a call to userType
Rob Pike [Sun, 3 Aug 2014 22:14:59 +0000 (15:14 -0700)]
encoding/gob: save a call to userType
Avoid some pressure on the global mutex by lifting the call to userType
out of the closure.
TOTH to Matt Harden.

LGTM=crawshaw, ruiu
R=golang-codereviews, crawshaw, ruiu
CC=golang-codereviews
https://golang.org/cl/117520043

10 years agonet: fix Dial comment about IPv6 addresses
Brad Fitzpatrick [Sat, 2 Aug 2014 04:35:03 +0000 (21:35 -0700)]
net: fix Dial comment about IPv6 addresses

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

10 years agocmd/go: use correct link flags if main package contains C++/ObjC files
Peter Collingbourne [Fri, 1 Aug 2014 23:45:33 +0000 (16:45 -0700)]
cmd/go: use correct link flags if main package contains C++/ObjC files

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/117470043

10 years agoruntime: move constants from map header to map type
Keith Randall [Fri, 1 Aug 2014 21:38:56 +0000 (14:38 -0700)]
runtime: move constants from map header to map type

A good cleanup anyway, and it makes some room for an additional
field needed for issue 8412.

Update #8412

LGTM=iant
R=iant, khr
CC=golang-codereviews
https://golang.org/cl/112700043