Note the installation instructions change doesn't apply here,
so I had to patch this in manually instead of using release-apply.
R=minux.ma, r
CC=golang-codereviews, golang-dev
https://golang.org/cl/69860047
This CL is not exactly a copy of the original quoted below.
This CL omits the changes made to mgc0.c in the original.
Those changes do not apply cleanly to the Go 1.2 tree,
and they were cosmetic, simplifying code that was already
doing the right thing.
To double-check that omitting the mgc0.c change has not
invalidated the fix, I have verified by hand that the test program
in issue 6946 fails without this CL and passes with this CL.
««« CL 41640043 / e4c381446b48
runtime: fix crash in runtime.GoroutineProfile
This is a possible Go 1.2.1 candidate.
Fixes#6946.
R=iant, r
CC=golang-dev
https://golang.org/cl/41640043
»»»
LGTM=adg
R=adg
CC=golang-codereviews, golang-dev, iant, r
https://golang.org/cl/68820045
««« CL 49580044 / 38cd458b1dfe
runtime: if traceback sees a breakpoint, don't change the PC
Changing the PC confuses gdb, because execution does not
continue where gdb expects it. Not changing the PC has the
potential to confuse a stack dump, but when running under gdb
it seems better to confuse a stack dump than to confuse gdb.
Fixes#6776.
LGTM=rsc
R=golang-codereviews, dvyukov, rsc
CC=golang-codereviews
https://golang.org/cl/49580044
»»»
LGTM=r
R=golang-codereviews, r
CC=golang-dev
https://golang.org/cl/69800043
««« CL 40410043 / 8a7ac002f840
database/sql: Use all connections in pool
The last connection in the pool was not being handed out correctly.
R=golang-codereviews, gobot, bradfitz
CC=golang-codereviews
https://golang.org/cl/40410043
»»»
LGTM=r
R=golang-codereviews, r
CC=golang-dev
https://golang.org/cl/68820044
««« CL 28500043 / 1140207a3395
README: Fix installation instructions
They were out of date and should refer to the source installation instructions.
Fixes#6783.
R=golang-dev, rsc, adg, dave
CC=golang-dev
https://golang.org/cl/28500043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/34880045
««« CL 28700043 / 8b3699321603
doc: update installation instructions
Clarify that GOROOT should only be set when using a custom install path.
Remove NetBSD from binary install page (we don't provide binaries).
Remove "What's next" links from installation instructions.
Emphasize "How to Write Go Code" page.
Fixes#6613.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/28700043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/34950043
««« CL 22770044 / 23fc3139589c
encoding/gob: do not use MarshalText, UnmarshalText
This seems to be the best of a long list of bad ways to fix this issue.
Fixes#6760.
R=r
CC=golang-dev
https://golang.org/cl/22770044
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/28110043
««« CL 18430044 / 1a86e8314ff5
src/cmd/?a: link to new assembler document
Blocked on 20930043, the CL the new text references.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/18430044
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/25480046
««« CL 14415043 / 4daa80747394
spec: clarify rules for blank identifiers
This documents the status quo more precisely.
Not a language change.
Fixes#6006.
R=r, rsc, iant, ken
CC=golang-dev
https://golang.org/cl/14415043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/25790043
««« CL 25670043 / b7308814101a
doc: use the same wording for OS X as the other OSes
I used "and above" when I should have said "or later".
Sorry for the churn.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/25670043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/25780043
««« CL 20100043 / 9fe43a708b89
misc/emacs: various cleanups
- Use #' for function symbols
- Remove unused variables
- Use declare-function to shut up byte compiler
This is identical to CL 19010044 with one exception: Making sure
it doesn't break on Emacs 22.1
R=adonovan, bradfitz, shendaras
CC=golang-dev
https://golang.org/cl/20100043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/25750043
««« CL 22840043 / e6794866ebeb
cmd/cgo: fix handling of array of pointers when using clang
Clang does not record the "size" field for pointer types,
so we must insert the size ourselves. We were already
doing this, but only for the case of pointer types.
For an array of pointer types, the setting of the size for
the nested pointer type was happening after the computation
of the size of the array type, meaning that the array type
was always computed as 0 bytes. Delay the size computation.
This bug happens on all Clang systems, not just FreeBSD.
Our test checked that cgo wrote something, not that it was correct.
FreeBSD's default clang rejects array[0] as a C struct field,
so it noticed the incorrect sizes. But the sizes were incorrect
everywhere.
Update testcdefs to check the output has the right semantics.
Fixes#6292.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/22840043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/25460046
««« CL 21130043 / 0685a9549d5a
go/doc: add full stop of Japanese, Chinese and Korean.
This fix will show a good synopsis on package listings in that languages.
R=adg, r
CC=golang-dev
https://golang.org/cl/21130043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/25720043
««« CL 21770043 / ae58065f7dff
doc/go1.2: link to cgo documentation
I know it's linked in the previous sentence, but this new link is where I want it to be while reading this sentence.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/21770043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/25640045
««« CL 19910044 / 9eb64f5ef3a6
cmd/5l, runtime: fix divide for profiling tracebacks on ARM
Two bugs:
1. The first iteration of the traceback always uses LR when provided,
which it is (only) during a profiling signal, but in fact LR is correct
only if the stack frame has not been allocated yet. Otherwise an
intervening call may have changed LR, and the saved copy in the stack
frame should be used. Fix in traceback_arm.c.
2. The division runtime call adds 8 bytes to the stack. In order to
keep the traceback routines happy, it must copy the saved LR into
the new 0(SP). Change
SUB $8, SP
into
MOVW 0(SP), R11 // r11 is temporary, for use by linker
MOVW.W R11, -8(SP)
to update SP and 0(SP) atomically, so that the traceback always
sees a saved LR at 0(SP).
Fixes#6681.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/19910044
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/20170048
««« CL 19780043 / 8b49cdda6ff4
cmd/cgo: accept extra leading _ on __cgodebug_data for all object formats
The current Windows build breakage appears to be because
the Windows code should be looking for __cgodebug_data
not ___cgodebug_data. Dodge the question everywhere by
accepting both.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/19780043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/20660043
««« CL 19280043 / 9d199c7582d6
time: correct path to time zone zip file on Unix
Most Unix systems have their own time zone data,
so we almost never get far enough in the list to
discover that we cannot fall back to the zip file.
Adjust testing to exercise the final fallback.
Plan 9 and Windows were already correct
(and are the main users of the zip file).
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/19280043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/20640043
««« CL 18870043 / eca0ca43a863
os: do not return Lstat errors from Readdir
This CL restores the Go 1.1.2 semantics for os.File's Readdir method.
The code in Go 1.1.2 was rewritten mainly because it looked buggy.
This new version attempts to be clearer but still provide the 1.1.2 results.
The important diff is not this CL's version against tip but this CL's version
against Go 1.1.2.
Go 1.1.2:
names, err := f.Readdirnames(n)
fi = make([]FileInfo, len(names))
for i, filename := range names {
fip, err := Lstat(dirname + filename)
if err == nil {
fi[i] = fip
} else {
fi[i] = &fileStat{name: filename}
}
}
return fi, err
This CL:
names, err := f.Readdirnames(n)
fi = make([]FileInfo, len(names))
for i, filename := range names {
fip, lerr := lstat(dirname + filename)
if lerr != nil {
fi[i] = &fileStat{name: filename}
continue
}
fi[i] = fip
}
return fi, err
The changes from Go 1.1.2 are stylistic, not semantic:
1. Use lstat instead of Lstat, for testing (done before this CL).
2. Make error handling in loop body look more like an error case.
3. Use separate error variable name in loop body, to be clear
we are not trying to influence the final return result.
Fixes#6656.
Fixes#6680.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/18870043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/20110045
««« CL 19160043 / 104d56b5d664
cmd/gc: silence clang warning
This code is only built when you run 'make' in cmd/gc,
not in all.bash.
R=golang-dev, jsing, iant
CC=golang-dev
https://golang.org/cl/19160043
»»»
R=golang-dev
CC=golang-dev
https://golang.org/cl/20290046