Age | Commit message (Collapse) | Author |
|
Fixes #5413
R=golang-dev, dave, adg
CC=golang-dev
https://golang.org/cl/9153045
|
|
R=golang-dev, i.caught.air, alexb, r
CC=golang-dev
https://golang.org/cl/9064044
|
|
R=golang-dev, minux.ma, r
CC=golang-dev
https://golang.org/cl/9086043
|
|
Fixes #5403.
R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/9100046
|
|
TBR=iant
CC=golang-dev
https://golang.org/cl/9048048
|
|
Fixes #5392.
R=iant, r
CC=golang-dev
https://golang.org/cl/9119043
|
|
This must have been from when "error" was a good variable
name for an "os.Error". But we use "err" these days.
R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/9132045
|
|
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/9103046
|
|
As advised by iant. Fixes windows build.
R=golang-dev, r
CC=golang-dev, iant
https://golang.org/cl/9110044
|
|
"The usual conversions" bite again.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/9103044
|
|
Include libc.h before bio.h in 8.c, because bio.h uses
the UTFmax enum, which is declared in libc.h, since
the recent switch to 21-bit runes in Plan 9.
The 5.c and 6.c files already includes libc.h.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/9040047
|
|
R=rsc, alexb, minux.ma, bradfitz, i.caught.air
CC=golang-dev
https://golang.org/cl/9082043
|
|
R=rsc, r
CC=golang-dev
https://golang.org/cl/9060045
|
|
This is needed for SWIG when linking in internal mode. In
internal mode if a symbol was cgo_import_static we used to
forget that it was also cgo_import_dynamic.
R=rsc, r
CC=golang-dev
https://golang.org/cl/9080043
|
|
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/9047045
|
|
Fixes #5355.
R=golang-dev, mikioh.mikioh, bradfitz, r
CC=golang-dev
https://golang.org/cl/8966046
|
|
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9025047
|
|
Manual undo due to later changes in doc/go1.1.html; cmd/go/test.bash still passes.
Rationale, from CL 8119049 review log:
This makes the 'go run' command different from every other command.
For example, 'go test' does not mean 'go test *.go'.
If we were going to handle the no arguments case in 'go run', I would hope that
it would scan the current directory to find a package just like 'go build' or
'go test' would, and then it would require that package to be 'package main',
and then it would run that package. This would make it match 'go test' and 'go
build' and 'go install' and so on. It would mean that if you are working on a
command in a directory that is 'go install'able, then 'go run' will run the
binary for you. The current CL does not accomplish that when build constraints
or file name constraints are involved.
For example, if I am working on a program like:
$ ls
main.go
main_386.s
main_arm.s
main_amd64.s
$
Then 'go run' will fail here because the .s files are ignored.
If instead I am working on a program like:
$ ls
main.go
main_386.go
main_arm.go
main_amd64.go
$
then 'go run' will fail because too many files are included.
I would like to see this command implemented so that it is compatible with the
other go subcommands. Since it is too late to do that for Go 1.1, I would like
to see this CL reverted, to preserve the option to do it better later.
R=golang-dev, iant, r
CC=golang-dev
https://golang.org/cl/8797049
|
|
I would like opinions on whether this is a good idea for 1.1.
On the one hand it's a moderately important issue. On the
other hand this introduces at least the possibility of
external linker errors due to the additional relocations and
it may be better to wait.
I'm fairly confident that the behaviour is unchanged when not
using an external linker.
Update #5221
This CL is tested lightly on 386 and amd64 and fixes the cases
I tested. I have not tested it on Darwin or Windows.
R=golang-dev, dave, daniel.morsing, rsc
CC=golang-dev
https://golang.org/cl/8858047
|
|
It's too hard to make portable just now.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9057043
|
|
Linux.
R=iant, iant, r, bradfitz
CC=golang-dev
https://golang.org/cl/8334044
|
|
exec_plan9.go too.
Those are in CL 8334044
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9055043
|
|
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9036046
|
|
PC-relative needs a signed offset; others need unsigned.
Also fix signedness of 32-bit relocation on Windows.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9039045
|
|
Update #5164
R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/9049043
|
|
the issue.
R=golang-dev, dsymonds, dave
CC=golang-dev
https://golang.org/cl/9038043
|
|
Some 64-bit fields were run through 32-bit words, some counts were
not checked for overflow, and relocations must fit in 32 bits.
Tests to follow.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/9033043
|
|
A few places in the linker pushed 64-bit values through 32-bit holes,
including in relocation.
Clean them up, and check for a few other overflows as well.
Tests to follow.
R=dsymonds
CC=gobot, golang-dev
https://golang.org/cl/9032043
|
|
Also added docs for InvalidUTF8Error.
Fixes #5360.
R=golang-dev, adg, r
CC=golang-dev
https://golang.org/cl/8926046
|
|
Fixes #5311
R=golang-dev, bradfitz, iant
CC=golang-dev
https://golang.org/cl/8961050
|
|
runtime.setmg() calls another function (cgo_save_gm), so it must save
LR onto stack.
Re-enabled TestCthread test in misc/cgo/test.
Fixes #4863.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/9019043
|
|
Fixes #5350.
R=r, minux.ma
CC=golang-dev
https://golang.org/cl/8950043
|
|
R=golang-dev, minux.ma, r
CC=golang-dev
https://golang.org/cl/8545047
|
|
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/9000043
|
|
Turns out the optimal value is 8 on cortex-A9 systems (pandaboard)
benchmark old ns/op new ns/op delta
BenchmarkAppend 907 908 +0.11%
BenchmarkAppend1Byte 101 101 +0.00%
BenchmarkAppend4Bytes 116 116 +0.00%
BenchmarkAppend8Bytes 139 138 -0.72%
BenchmarkAppend16Bytes 185 158 -14.59%
BenchmarkAppend32Bytes 131 131 +0.00%
BenchmarkAppendStr1Byte 72 72 +0.00%
BenchmarkAppendStr4Bytes 93 93 -0.21%
BenchmarkAppendStr8Bytes 116 116 +0.00%
BenchmarkAppendStr16Bytes 161 125 -22.36%
BenchmarkAppendStr32Bytes 102 102 +0.00%
BenchmarkAppendSpecialCase 613 613 +0.00%
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/8863045
|
|
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/8981043
|
|
R=golang-dev, adg, r
CC=golang-dev
https://golang.org/cl/8819046
|
|
The refcounting of driver Conns was completedly busted and
would leak (be held open forever) with any reasonable
load. This was a significant regression from Go 1.0.
The core of this patch is removing one line:
s.db.addDep(dc, s)
A database conn (dc) is a resource that be re-created any time
(but cached for speed) should not be held open forever with a
dependency refcount just because the Stmt (s) is alive (which
typically last for long periods of time, like forever).
The meat of the patch is new tests. In fixing the real issue,
a lot of tests then failed due to the fakedb_test.go's paranoia
about closing a fakeConn while it has open fakeStmts on it. I
could've ignored that, but that's been a problem in the past for
other bugs.
Instead, I now track per-Conn open statements and close them
when the the conn closes. The proper way to do this would've
been making *driverStmt a finalCloser and using the dep mechanism,
but it was much more invasive. Added a TODO instead.
I'd like to give a way for drivers to opt-out of caring about
driver.Stmt closes before a driver.Conn close, but that's a TODO
for the future, and that TODO is added in this CL.
I know this is very late for Go 1.1, but database/sql is
currently nearly useless without this.
I'd like to believe all these database/sql bugs in the past
release cycle are the result of increased usage, number of
drivers, and good feedback from increasingly-capable Go
developers, and not the result of me sucking. It's also hard
with all the real drivers being out-of-tree, so I'm having to
add more and more hooks to fakedb_test.go to simulate things
which real drivers end up doing.
Fixes #5323
R=golang-dev, snaury, gwenn.kahz, google, r
CC=golang-dev
https://golang.org/cl/8836045
|
|
Update #5291.
R=golang-dev, daniel.morsing, iant, r
CC=golang-dev
https://golang.org/cl/8663052
|
|
It works on i386, but fails on amd64 and arm.
««« original CL description
runtime: prevent the GC from seeing the content of a frame in runfinq()
Fixes #5348.
R=golang-dev, dvyukov
CC=golang-dev
https://golang.org/cl/8954044
»»»
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/8695051
|
|
Fixes #5348.
R=golang-dev, dvyukov
CC=golang-dev
https://golang.org/cl/8954044
|
|
Update #5344
R=golang-dev, dave, r, alex.brainman
CC=golang-dev
https://golang.org/cl/8934043
|
|
- clean up the notypes version of the test so it's quiet
- change the package in the buildtag test to avoid confusing godoc
R=golang-dev, minux.ma, bradfitz
CC=golang-dev
https://golang.org/cl/8671049
|
|
R=r, ken, khr, daniel.morsing
CC=dsymonds, golang-dev, rickyz
https://golang.org/cl/8925043
|
|
R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/8698049
|
|
We have to reset the global lineno variable before
processing each file otherwise line numbers will be
offset by the number of lines in the previous file.
The following examples are from the beginning of the
ztime_linux_amd64.c file which is generated from
time.goc in the runtime package.
Before:
#line 2483 "/home/apm/src/go/src/pkg/runtime/time.goc"
static Timers timers;
static void addtimer ( Timer* ) ;
void
time·Sleep(int64 ns)
{
#line 2492 "/home/apm/src/go/src/pkg/runtime/time.goc"
After:
#line 16 "/home/apm/src/go/src/pkg/runtime/time.goc"
static Timers timers;
static void addtimer ( Timer* ) ;
void
time·Sleep(int64 ns)
{
#line 25 "/home/apm/src/go/src/pkg/runtime/time.goc"
R=golang-dev, minux.ma, iant, r, adg
CC=golang-dev
https://golang.org/cl/8653045
|
|
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/8896045
|
|
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/8919043
|
|
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/8625044
|
|
Fixes #5333.
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/8698046
|