]> Cypherpunks repositories - gostls13.git/log
gostls13.git
11 years agocmd/5l, runtime: fix divide for profiling tracebacks on ARM
Russ Cox [Thu, 31 Oct 2013 18:15:55 +0000 (18:15 +0000)]
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

11 years agoundo CL 19810043 / 352f3b7c9664
Russ Cox [Thu, 31 Oct 2013 17:18:57 +0000 (17:18 +0000)]
undo CL 19810043 / 352f3b7c9664

The CL causes misc/cgo/test to fail randomly.
I suspect that the problem is the use of a division instruction
in usleep, which can be called while trying to acquire an m
and therefore cannot store the denominator in m.
The solution to that would be to rewrite the code to use a
magic multiply instead of a divide, but now we're getting
pretty far off the original code.

Go back to the original in preparation for a different,
less efficient but simpler fix.

««« original CL description
cmd/5l, runtime: make ARM integer division profiler-friendly

The implementation of division constructed non-standard
stack frames that could not be handled by the traceback
routines.

CL 13239052 left the frames non-standard but fixed them
for the specific case of a divide-by-zero panic.
A profiling signal can arrive at any time, so that fix
is not sufficient.

Change the division to store the extra argument in the M struct
instead of in a new stack slot. That keeps the frames bog standard
at all times.

Also fix a related bug in the traceback code: when starting
a traceback, the LR register should be ignored if the current
function has already allocated its stack frame and saved the
original LR on the stack. The stack copy should be used, as the
LR register may have been modified.

Combined, these make the torture test from issue 6681 pass.

Fixes #6681.

R=golang-dev, r, josharian
CC=golang-dev
https://golang.org/cl/19810043
»»»

TBR=r
CC=golang-dev
https://golang.org/cl/20350043

11 years agocmd/5l, runtime: make ARM integer division profiler-friendly
Russ Cox [Wed, 30 Oct 2013 18:50:34 +0000 (18:50 +0000)]
cmd/5l, runtime: make ARM integer division profiler-friendly

The implementation of division constructed non-standard
stack frames that could not be handled by the traceback
routines.

CL 13239052 left the frames non-standard but fixed them
for the specific case of a divide-by-zero panic.
A profiling signal can arrive at any time, so that fix
is not sufficient.

Change the division to store the extra argument in the M struct
instead of in a new stack slot. That keeps the frames bog standard
at all times.

Also fix a related bug in the traceback code: when starting
a traceback, the LR register should be ignored if the current
function has already allocated its stack frame and saved the
original LR on the stack. The stack copy should be used, as the
LR register may have been modified.

Combined, these make the torture test from issue 6681 pass.

Fixes #6681.

R=golang-dev, r, josharian
CC=golang-dev
https://golang.org/cl/19810043

11 years agodoc/go1.2.html: delete repeated word
Rob Pike [Wed, 30 Oct 2013 16:39:20 +0000 (09:39 -0700)]
doc/go1.2.html: delete repeated word
TBR=rsc

R=golang-dev
CC=golang-dev
https://golang.org/cl/19840043

11 years agodoc/go1.2.html: stack sizes, thread limits
Rob Pike [Wed, 30 Oct 2013 15:54:53 +0000 (08:54 -0700)]
doc/go1.2.html: stack sizes, thread limits

R=golang-dev, minux.ma, adg, rsc
CC=golang-dev
https://golang.org/cl/19600043

11 years agocmd/cgo: accept extra leading _ on __cgodebug_data for all object formats
Russ Cox [Wed, 30 Oct 2013 14:24:42 +0000 (10:24 -0400)]
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

11 years agoundo CL 19010044 / dbcd720e5396
Alan Donovan [Wed, 30 Oct 2013 02:17:14 +0000 (22:17 -0400)]
undo CL 19010044 / dbcd720e5396

bradfitz reports:
> It breaks go-mode on GNU Emacs 22.1.1 as ships with OS X 10.8.6.

««« original CL description
misc/emacs: various cleanups

- Use #' for function symbols
- Remove unused variables
- Use declare-function to shut up byte compiler

R=adonovan
CC=golang-dev
https://golang.org/cl/19010044

»»»

R=bradfitz
CC=golang-dev
https://golang.org/cl/19640043

11 years agodatabase/sql: document Result methods
Brad Fitzpatrick [Wed, 30 Oct 2013 00:38:43 +0000 (17:38 -0700)]
database/sql: document Result methods

Fixes #5110

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/19280046

11 years agodatabase/sql: Fix typos in doc
Julien Schmidt [Tue, 29 Oct 2013 23:03:13 +0000 (16:03 -0700)]
database/sql: Fix typos in doc

R=golang-dev
CC=bradfitz, golang-dev
https://golang.org/cl/17590043

11 years agoA+C: Jakob Borg (individual CLA).
David Symonds [Tue, 29 Oct 2013 22:27:02 +0000 (09:27 +1100)]
A+C: Jakob Borg (individual CLA).

R=golang-dev
CC=golang-dev
https://golang.org/cl/19510043

11 years agotime: correct path to time zone zip file on Unix
Russ Cox [Tue, 29 Oct 2013 21:11:51 +0000 (17:11 -0400)]
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

11 years agoencoding/xml: fix doc comment
Russ Cox [Tue, 29 Oct 2013 21:11:25 +0000 (17:11 -0400)]
encoding/xml: fix doc comment

The tag is ",chardata" not "chardata".

Fixes #6631.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/19300046

11 years agonet/http/httputil: fix DumpRequestOut with ContentLength & false body param
Brad Fitzpatrick [Tue, 29 Oct 2013 21:06:11 +0000 (14:06 -0700)]
net/http/httputil: fix DumpRequestOut with ContentLength & false body param

Fixes #6471

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/14920050

11 years agomisc/emacs: various cleanups
Dominik Honnef [Tue, 29 Oct 2013 17:07:42 +0000 (13:07 -0400)]
misc/emacs: various cleanups

- Use #' for function symbols
- Remove unused variables
- Use declare-function to shut up byte compiler

R=adonovan
CC=golang-dev
https://golang.org/cl/19010044

11 years agoos: do not return Lstat errors from Readdir
Russ Cox [Tue, 29 Oct 2013 15:50:40 +0000 (11:50 -0400)]
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

11 years agocmd/gc: silence clang warning
Russ Cox [Tue, 29 Oct 2013 15:50:18 +0000 (11:50 -0400)]
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

11 years agomisc/emacs: support godef-jump on import statements
Dominik Honnef [Tue, 29 Oct 2013 15:14:56 +0000 (11:14 -0400)]
misc/emacs: support godef-jump on import statements

The newest version of godef supports jumping to a package's source
directory if point is on an import statement.

R=adonovan
CC=golang-dev
https://golang.org/cl/18230043

11 years agodebug/dwarf: add DWARF 4 form constants
Russ Cox [Tue, 29 Oct 2013 14:36:51 +0000 (10:36 -0400)]
debug/dwarf: add DWARF 4 form constants

Some versions of clang generate DWARF 4-format attributes
even when using -gdwarf-2. We don't care much about the
values, but we do need to be able to parse past them.

This fixes a bug in Go 1.2 rc2 reported via private mail using
a near-tip version of clang.

R=golang-dev, iant, dvyukov
CC=golang-dev
https://golang.org/cl/18460043

11 years agodoc: update front page summary text
Andrew Gerrand [Tue, 29 Oct 2013 06:56:38 +0000 (15:56 +0900)]
doc: update front page summary text

R=rsc
CC=golang-dev
https://golang.org/cl/18080045

11 years agocmd/cgo: stop using -fno-eliminate-unused-debug-types
Russ Cox [Tue, 29 Oct 2013 02:21:26 +0000 (22:21 -0400)]
cmd/cgo: stop using -fno-eliminate-unused-debug-types

This flag was added in January 2010, in CL 181102, to fix issue 497.
(Numbers were just shorter back then.) The fix was for OS X machines
and the llvm-gcc frontend.

In July 2011 we had to change the way we get enum values, because
there were no flags available to force Xcode's llvm-gcc to include the
enum names and values in DWARF debug output.

We now use clang, not llvm-gcc, on OS X machines.
Earlier versions of clang printed a warning about not knowing the flag.
Newer versions of clang now make that an error.

That is:
 - The flag was added for OS X machines.
 - The flag is no longer necessary on OS X machines.
 - The flag now breaks some OS X machines.

Remove it.

I have run the original program from issue 497 successfully
without the flag on both OS X and Linux machines.

Fixes #6678.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/18850043

11 years agoruntime: relax preemption assertion during stack split
Russ Cox [Mon, 28 Oct 2013 23:40:40 +0000 (19:40 -0400)]
runtime: relax preemption assertion during stack split

The case can happen when starttheworld is calling acquirep
to get things moving again and acquirep gets preempted.
The stack trace is in golang.org/issue/6644.

It is difficult to build a short test case for this, but
the person who reported issue 6644 confirms that this
solves the problem.

Fixes #6644.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/18740044

11 years agonet: handle single-line non-\n-terminated files correctly in readLine
Josh Bleecher Snyder [Mon, 28 Oct 2013 23:31:25 +0000 (19:31 -0400)]
net: handle single-line non-\n-terminated files correctly in readLine

Fixes #6646.

R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/15960047

11 years agonet/url: fix Encode doc comment
Andrew Gerrand [Fri, 25 Oct 2013 20:00:22 +0000 (23:00 +0300)]
net/url: fix Encode doc comment

Encoded query strings are always sorted by key; the example wasn't.

R=golang-dev, dsymonds, minux.ma, bradfitz
CC=golang-dev
https://golang.org/cl/16430043

11 years agomisc/linkcheck: better redirect handling, use meaningful exit code
Andrew Gerrand [Fri, 25 Oct 2013 14:31:02 +0000 (17:31 +0300)]
misc/linkcheck: better redirect handling, use meaningful exit code

Prevent linkcheck from following redirects that lead beyond the outside
the root URL.

Return a non-zero exit code when there are problems.

Some minor refactoring for clarity.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/14425049

11 years agostrings: fix Replacer bug with prefix matches
Brad Fitzpatrick [Thu, 24 Oct 2013 22:51:19 +0000 (15:51 -0700)]
strings: fix Replacer bug with prefix matches

singleStringReplacer had a bug where if a string was replaced
at the beginning and no output had yet been produced into the
temp buffer before matching ended, an invalid nil check (used
as a proxy for having matched anything) meant it always
returned its input.

Fixes #6659

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/16880043

11 years agodatabase/sql: link to wiki in package docs
Matthew Cottingham [Thu, 24 Oct 2013 17:13:23 +0000 (10:13 -0700)]
database/sql: link to wiki in package docs

Update #5886

R=golang-dev, kamil.kisiel, adg, r, rsc, dave, arnehormann, bradfitz
CC=golang-dev
https://golang.org/cl/14087043

11 years agoC+A: add Matthew Cottingham (Individual CLA)
Brad Fitzpatrick [Thu, 24 Oct 2013 17:13:00 +0000 (10:13 -0700)]
C+A: add Matthew Cottingham (Individual CLA)

Done by addca, but codereview failed with a Python stacktrace,
so submitting by hand.

R=golang-dev
CC=golang-dev
https://golang.org/cl/16650043

11 years agoplan9: correct create permissions with union directory
Jeff Sickel [Wed, 23 Oct 2013 14:28:28 +0000 (10:28 -0400)]
plan9: correct create permissions with union directory

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/15360045

11 years agomisc/dist: use go.tools release branch
Andrew Gerrand [Wed, 23 Oct 2013 06:34:14 +0000 (10:34 +0400)]
misc/dist: use go.tools release branch

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/15450047

11 years agotest/mapnan: use time.Now instead of syscall.Getrusage
Russ Cox [Tue, 22 Oct 2013 22:33:37 +0000 (18:33 -0400)]
test/mapnan: use time.Now instead of syscall.Getrusage

Avoids a dependency on a somewhat nonstandard part of package syscall.

R=golang-dev, dave, r
CC=golang-dev
https://golang.org/cl/15570046

11 years agocmd/cgo: use __typeof__, -w instead of typeof, -Wno-all
Russ Cox [Tue, 22 Oct 2013 22:33:23 +0000 (18:33 -0400)]
cmd/cgo: use __typeof__, -w instead of typeof, -Wno-all

Suggested by iant in earlier CL.

R=golang-dev, bradfitz, iant
CC=golang-dev
https://golang.org/cl/14920052

11 years agotime: fix ParseDuration overflow when given more than 9 digits on 32-bit arch
Shenghou Ma [Tue, 22 Oct 2013 22:33:05 +0000 (18:33 -0400)]
time: fix ParseDuration overflow when given more than 9 digits on 32-bit arch
Fixes #6617.

R=golang-dev, rsc, r
CC=golang-dev
https://golang.org/cl/15080043

11 years agomisc/emacs: handle empty "import ()" in go-goto-imports
Dominik Honnef [Tue, 22 Oct 2013 16:35:04 +0000 (12:35 -0400)]
misc/emacs: handle empty "import ()" in go-goto-imports

R=adonovan
CC=golang-dev
https://golang.org/cl/14454058

11 years agomath: remove unnecessary source file
Russ Cox [Tue, 22 Oct 2013 14:37:33 +0000 (10:37 -0400)]
math: remove unnecessary source file

The routines in this file are dregs from a very early copy of the math API.
There are no Go prototypes and no non-amd64 implementations.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/15750046

11 years agogo/build: document the go1.2 build tag
Bill Neubauer [Tue, 22 Oct 2013 12:43:32 +0000 (16:43 +0400)]
go/build: document the go1.2 build tag

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/14930046

11 years agocrypto/x509: name constraints should be a disjunction.
Adam Langley [Mon, 21 Oct 2013 23:01:24 +0000 (19:01 -0400)]
crypto/x509: name constraints should be a disjunction.

The code was requiring that all constraints be met, but it should be
satisfied by meeting *any* of them.

R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/15570044

11 years agocrypto/tls: advertise support for RSA+SHA1 in TLS 1.2 handshake.
Adam Langley [Mon, 21 Oct 2013 20:35:09 +0000 (16:35 -0400)]
crypto/tls: advertise support for RSA+SHA1 in TLS 1.2 handshake.

Despite SHA256 support being required for TLS 1.2 handshakes, some
servers are aborting handshakes that don't offer SHA1 support.

This change adds support for signing TLS 1.2 ServerKeyExchange messages
with SHA1. It does not add support for signing TLS 1.2 client
certificates with SHA1 as that would require the handshake to be
buffered.

Fixes #6618.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/15650043

11 years agonet/mail: fix minor doc typo.
David Symonds [Mon, 21 Oct 2013 06:32:45 +0000 (17:32 +1100)]
net/mail: fix minor doc typo.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/15510043

11 years agocmd/yacc: fix stderr on Windows.
Shenghou Ma [Sun, 20 Oct 2013 03:07:20 +0000 (23:07 -0400)]
cmd/yacc: fix stderr on Windows.
Fixes #6620.

R=golang-dev, dave, r
CC=golang-dev
https://golang.org/cl/15330043

11 years agocmd/cgo: fix line number in an error message
Russ Cox [Fri, 18 Oct 2013 20:52:44 +0000 (16:52 -0400)]
cmd/cgo: fix line number in an error message

Fixes #6563.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14870046

11 years agocmd/cgo: stop using compiler error message text to analyze C names
Russ Cox [Fri, 18 Oct 2013 19:56:25 +0000 (15:56 -0400)]
cmd/cgo: stop using compiler error message text to analyze C names

The old approach to determining whether "name" was a type, constant,
or expression was to compile the C program

        name;

and scan the errors and warnings generated by the compiler.
This requires looking for specific substrings in the errors and warnings,
which ties the implementation to specific compiler versions.
As compilers change their errors or drop warnings, cgo breaks.
This happens slowly but it does happen.
Clang in particular (now required on OS X) has a significant churn rate.

The new approach compiles a slightly more complex program
that is either valid C or not valid C depending on what kind of
thing "name" is. It uses only the presence or absence of an error
message on a particular line, not the error text itself. The program is:

        // error if and only if name is undeclared
        void f1(void) { typeof(name) *x; }

        // error if and only if name is not a type
        void f2(void) { name *x; }

        // error if and only if name is not an integer constant
        void f3(void) { enum { x = (name)*1 }; }

I had not been planning to do this until Go 1.3, because it is a
non-trivial change, but it fixes a real Xcode 5 problem in Go 1.2,
and the new code is easier to understand than the old code.
It should be significantly more robust.

Fixes #6596.
Fixes #6612.

R=golang-dev, r, james, iant
CC=golang-dev
https://golang.org/cl/15070043

11 years agocmd/gc: shorten name used for map bucket type
Russ Cox [Fri, 18 Oct 2013 19:56:07 +0000 (15:56 -0400)]
cmd/gc: shorten name used for map bucket type

Before:
type.struct { buckets *struct { overflow *struct { overflow *struct { overflow *struct { overflow *struct { overflow *<...>; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; oldbuckets *struct { overflow *struct { overflow *struct { overflow *struct { overflow *struct { overflow *<...>; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable } }

After:
type.map.bucket[string]*"".RangeTable

This makes debugging maps a little nicer, and it takes up less space in the binary.

R=golang-dev, r
CC=golang-dev, khr
https://golang.org/cl/15110044

11 years agonet: make sure failed Dial returns nil Conn
Russ Cox [Fri, 18 Oct 2013 19:35:45 +0000 (15:35 -0400)]
net: make sure failed Dial returns nil Conn

Fixes #6614.

R=golang-dev, bradfitz, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/14950045

11 years agoruntime: remove nomemprof
Dmitriy Vyukov [Fri, 18 Oct 2013 06:45:19 +0000 (10:45 +0400)]
runtime: remove nomemprof
Nomemprof seems to be unneeded now, there is no recursion.
If the recursion will be re-introduced, it will break loudly by deadlocking.
Fixes #6566.

R=golang-dev, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/14695044

11 years agomisc/dist: build race packages when os suffix present
Andrew Gerrand [Fri, 18 Oct 2013 06:03:41 +0000 (15:03 +0900)]
misc/dist: build race packages when os suffix present

The "darwin-amd64-osx10.8" target was not matching "darwin-amd64".

R=golang-dev
CC=golang-dev
https://golang.org/cl/14930043

11 years agotag go1.2rc2
Andrew Gerrand [Fri, 18 Oct 2013 05:01:00 +0000 (14:01 +0900)]
tag go1.2rc2

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/14910043

11 years agoapi: add go1.2.txt, use in tests
Andrew Gerrand [Fri, 18 Oct 2013 04:36:59 +0000 (13:36 +0900)]
api: add go1.2.txt, use in tests

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14860043

11 years agomisc/dist: set default go.tools tag
Andrew Gerrand [Fri, 18 Oct 2013 01:51:21 +0000 (10:51 +0900)]
misc/dist: set default go.tools tag

Fixes #6607.

R=dsymonds
CC=golang-dev
https://golang.org/cl/14830043

11 years agonet/url: fix regression when serializing relative URLs
Brad Fitzpatrick [Thu, 17 Oct 2013 23:06:40 +0000 (16:06 -0700)]
net/url: fix regression when serializing relative URLs

Only add a slash to path if it's a separator between
a host and path.

Fixes #6609

R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/14815043

11 years agoruntime: correct test for when to poll network
Ian Lance Taylor [Thu, 17 Oct 2013 18:57:48 +0000 (11:57 -0700)]
runtime: correct test for when to poll network

Fixes #6610.

R=golang-dev, khr
CC=golang-dev
https://golang.org/cl/14793043

11 years agoruntime: correct parameter name in MCentral_AllocList comment
Ian Lance Taylor [Thu, 17 Oct 2013 18:57:00 +0000 (11:57 -0700)]
runtime: correct parameter name in MCentral_AllocList comment

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/14792043

11 years agoencoding/xml: accept chains of interfaces and pointers
Russ Cox [Thu, 17 Oct 2013 16:13:33 +0000 (12:13 -0400)]
encoding/xml: accept chains of interfaces and pointers

Fixes #6556.

R=golang-dev, iant, adg
CC=golang-dev
https://golang.org/cl/14747043

11 years agodatabase/sql: make tests repeatable with -cpu=n,n
Alberto García Hierro [Thu, 17 Oct 2013 16:02:32 +0000 (09:02 -0700)]
database/sql: make tests repeatable with -cpu=n,n

New test added in CL 14611045 causes a deadlock when
running the tests with -cpu=n,n because the fakedb
driver always waits when opening a new connection after
running TestConnectionLeak.  Reset its state after.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/14780043

11 years agoA+C: add Jamie Turner (Dropbox corporate CLA).
David Symonds [Thu, 17 Oct 2013 00:48:27 +0000 (11:48 +1100)]
A+C: add Jamie Turner (Dropbox corporate CLA).

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14765043

11 years agodatabase/sql: fix some test fmt verbs
Brad Fitzpatrick [Wed, 16 Oct 2013 23:30:39 +0000 (16:30 -0700)]
database/sql: fix some test fmt verbs

Found by vet.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/14762044

11 years agospec: clarify re-use of underlying arrays in slice operations
Robert Griesemer [Wed, 16 Oct 2013 23:16:54 +0000 (16:16 -0700)]
spec: clarify re-use of underlying arrays in slice operations

Please note the slight rewording for append: The spec now
requires that append reuses the underlying array if it is
sufficiently large. Per majority sentiment.

This is technically a language change but the current
implementation always worked this way.

Fixes #5818.
Fixes #5180.

R=rsc, iant, r, ken, minux.ma, dan.kortschak, rogpeppe, go.peter.90
CC=golang-dev
https://golang.org/cl/14419054

11 years agodatabase/sql: Fix connection leak and potential deadlock
Alberto García Hierro [Wed, 16 Oct 2013 16:22:57 +0000 (09:22 -0700)]
database/sql: Fix connection leak and potential deadlock

CL 10726044 introduced a race condition which causes connections
to be leaked under certain circumstances. If SetMaxOpenConns is
used, the application eventually deadlocks. Otherwise, the number
of open connections just keep growing indefinitely.

Fixes #6593

R=golang-dev, bradfitz, tad.glines, bketelsen
CC=golang-dev
https://golang.org/cl/14611045

11 years agodatabase/sql: fix double decrement of numOpen count; test for connection leaks
Alberto García Hierro [Wed, 16 Oct 2013 16:17:25 +0000 (09:17 -0700)]
database/sql: fix double decrement of numOpen count; test for connection leaks

Add a check at the end of every test to make sure
there are no leaked connections after running a test.

Avoid incorrectly decrementing the number of open connections
when the driver connection ends up it a bad state (numOpen was
decremented twice).

Prevent leaking a Rows struct (which ends up leaking a
connection) in Row.Scan() when a *RawBytes destination is
improperly used.

Close the Rows struct in TestRowsColumns.

Update #6593

R=golang-dev, bradfitz, dave
CC=golang-dev
https://golang.org/cl/14642044

11 years agocmd/cgo: simpler fix for issue 6506.
Shenghou Ma [Wed, 16 Oct 2013 01:35:52 +0000 (21:35 -0400)]
cmd/cgo: simpler fix for issue 6506.
Replaces CL 14682044.
Fixes #6506.

R=rsc, iant, dave
CC=golang-dev
https://golang.org/cl/14717043

11 years agodoc/effective_go.html: fix code example
Shenghou Ma [Wed, 16 Oct 2013 01:30:49 +0000 (21:30 -0400)]
doc/effective_go.html: fix code example
Fixes #6595.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/14425062

11 years agocmd/cgo: print the builtin prolog after the per-file preamble
Russ Cox [Tue, 15 Oct 2013 19:00:48 +0000 (15:00 -0400)]
cmd/cgo: print the builtin prolog after the per-file preamble

The preamble may want to #define some special symbols
and then #include <sys/types.h> itself. The builtin prolog
also #includes <sys/types.h>, which would break such a
preamble (because the second #include will be a no-op).

The use of sys/types.h in the builtin prolog is new since Go 1.1,
so this should preserve the semantics of more existing cgo
code than we would otherwise.

It also fixes src/pkg/syscall/mkall.sh's use of go tool cgo -godefs
on some Linux systems.

Thanks to fullung@ for identifying the problem.

Fixes #6558.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14684044

11 years agoundo CL 14231047 / 2f4c2dde2756
Alex Brainman [Tue, 15 Oct 2013 18:37:43 +0000 (14:37 -0400)]
undo CL 14231047 / 2f4c2dde2756

undone because the change slows down profile collection
significantly and unpredictable at times (see comments
at https://golang.org/cl/14231047 for details)

««« original CL description
runtime: collect profiles even while on g0 stack

Fixes #6417

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/14231047
»»»

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/14535046

11 years agocmd/cgo: fix Xcode 5 incompatibility for #defined expressions
Russ Cox [Tue, 15 Oct 2013 18:34:46 +0000 (14:34 -0400)]
cmd/cgo: fix Xcode 5 incompatibility for #defined expressions

Ensure that clang always exits with a non-zero status by
giving it something that it always warns about (the statement "1;").

Fixes #6128.

R=golang-dev, iant, minux.ma
CC=golang-dev
https://golang.org/cl/14702043

11 years agomisc/cgo/test: cut out non-standard functions
Russ Cox [Tue, 15 Oct 2013 18:25:29 +0000 (14:25 -0400)]
misc/cgo/test: cut out non-standard functions

Otherwise the link fails. Fixes build.

TBR=golang-dev
CC=golang-dev
https://golang.org/cl/14483050

11 years agomisc/cgo/test: fix build (define prototype for alloca)
Russ Cox [Tue, 15 Oct 2013 17:46:57 +0000 (13:46 -0400)]
misc/cgo/test: fix build (define prototype for alloca)

TBR=golang-dev
CC=golang-dev
https://golang.org/cl/14454063

11 years agocmd/cgo: work around bug in clang debug info for builtins like memset
Russ Cox [Tue, 15 Oct 2013 16:46:14 +0000 (12:46 -0400)]
cmd/cgo: work around bug in clang debug info for builtins like memset

Fixes #6506.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/14682044

11 years agodoc/contrib.html: fix some tags
Oling Cat [Tue, 15 Oct 2013 07:41:23 +0000 (18:41 +1100)]
doc/contrib.html: fix some tags

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/14516057

11 years agoruntime/pprof: disable flaky TestGoroutineSwitch on windows
Alex Brainman [Tue, 15 Oct 2013 02:00:06 +0000 (13:00 +1100)]
runtime/pprof: disable flaky TestGoroutineSwitch on windows

Update #6417

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/14604043

11 years agocmd/gc: fix comment about performing indexing at compile time.
Keith Randall [Mon, 14 Oct 2013 21:26:52 +0000 (14:26 -0700)]
cmd/gc: fix comment about performing indexing at compile time.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/14441070

11 years agonet/http: skip content-type sniffing if the header is explicitly unset.
Michael Piatek [Mon, 14 Oct 2013 21:22:04 +0000 (08:22 +1100)]
net/http: skip content-type sniffing if the header is explicitly unset.

Fixes #5953

R=dsymonds, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/14434044

11 years agoC: add Michael Piatek (Google CLA).
David Symonds [Mon, 14 Oct 2013 21:21:30 +0000 (08:21 +1100)]
C: add Michael Piatek (Google CLA).

R=golang-dev, r
CC=golang-dev, piatek
https://golang.org/cl/14681043

11 years agodebug/dwarf: report the value of an unrecognized attribute format
Ian Lance Taylor [Mon, 14 Oct 2013 17:53:55 +0000 (10:53 -0700)]
debug/dwarf: report the value of an unrecognized attribute format

R=golang-dev, r, minux.ma
CC=golang-dev
https://golang.org/cl/14669045

11 years agocmd/api: make it work even when cgo is disabled
Shenghou Ma [Mon, 14 Oct 2013 04:18:46 +0000 (00:18 -0400)]
cmd/api: make it work even when cgo is disabled
make use of $USER or %USERNAME% to determine the current user.
Fixes #6578.

R=golang-dev, bradfitz, alex.brainman
CC=golang-dev
https://golang.org/cl/14649043

11 years agodoc: fix small HTML problems
Shenghou Ma [Sat, 12 Oct 2013 22:40:41 +0000 (18:40 -0400)]
doc: fix small HTML problems

R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/14629043

11 years agodoc/effective_go.html: fix unescaped less-than character
Rob Pike [Fri, 11 Oct 2013 23:39:40 +0000 (16:39 -0700)]
doc/effective_go.html: fix unescaped less-than character
Why doesn't tidy complain about these?
Found by manlio.perillo.
Fixes #6571

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/14608044

11 years agogo/build: add GOOS and GOARCH to name of gccgo pkg directory
Ian Lance Taylor [Fri, 11 Oct 2013 23:17:45 +0000 (16:17 -0700)]
go/build: add GOOS and GOARCH to name of gccgo pkg directory

This matches the behaviour of builder.includeArgs in
cmd/go/build.go.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14535048

11 years agogo/build: fix test if built with CGO_ENABLED=0
Ian Lance Taylor [Fri, 11 Oct 2013 22:55:50 +0000 (15:55 -0700)]
go/build: fix test if built with CGO_ENABLED=0

Fixes #6567.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14502060

11 years agomisc/cgo/test: fix C panic test to work with gccgo
Ian Lance Taylor [Fri, 11 Oct 2013 18:24:54 +0000 (11:24 -0700)]
misc/cgo/test: fix C panic test to work with gccgo

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14611043

11 years agodoc/progs: don't try building cgo tests if CGO_ENABLED=0
Ian Lance Taylor [Fri, 11 Oct 2013 15:55:13 +0000 (08:55 -0700)]
doc/progs: don't try building cgo tests if CGO_ENABLED=0

R=golang-dev, jsing, r
CC=golang-dev
https://golang.org/cl/14523056

11 years agocmd/gc: re-word some error messages
Shenghou Ma [Fri, 11 Oct 2013 02:43:34 +0000 (22:43 -0400)]
cmd/gc: re-word some error messages
Fixes #6557.

R=golang-dev, rsc, tracey.brendan
CC=golang-dev
https://golang.org/cl/14432053

11 years agogo.tools/misc/dist: copy doc.go from go.tools to go root
Andrew Gerrand [Fri, 11 Oct 2013 01:37:32 +0000 (10:37 +0900)]
go.tools/misc/dist: copy doc.go from go.tools to go root

This will allow "godoc godoc", "godoc vet", "godoc cover" to work.

Fixes #6527.

R=r, dsymonds
CC=golang-dev
https://golang.org/cl/14566049

11 years agomisc/vim: complete packages in src directory
Yasuhiro Matsumoto [Fri, 11 Oct 2013 00:30:03 +0000 (11:30 +1100)]
misc/vim: complete packages in src directory

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/14454059

11 years agodoc/effective_go.html: fix a couple of cosmetic issues
Rob Pike [Fri, 11 Oct 2013 00:26:03 +0000 (17:26 -0700)]
doc/effective_go.html: fix a couple of cosmetic issues
At the moment, godoc expands the example in the link, but in
the past it has not. Add a waffle word to allow either possibility.
Also change the order of cases in the switch in Compare to
be consistent with the other switch in the function.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14439055

11 years agolib/codereview: return an empty list when CONTRIBUTORS is not found instead of None.
Francesc Campoy [Fri, 11 Oct 2013 00:16:17 +0000 (17:16 -0700)]
lib/codereview: return an empty list when CONTRIBUTORS is not found instead of None.

R=adg, campoy, r
CC=golang-dev
https://golang.org/cl/14419059

11 years agocodereview: fix hg sync closing of CLs for subrepositories
Dominik Honnef [Thu, 10 Oct 2013 23:30:47 +0000 (16:30 -0700)]
codereview: fix hg sync closing of CLs for subrepositories

The regexp for closing CLs that were sent by you but committed by
someone else only matched messages for the main repository,
because of the added &repo=... for subrepositories.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/14512045

11 years agomisc/emacs: send correct content-length to the playground
Dominik Honnef [Thu, 10 Oct 2013 20:49:19 +0000 (16:49 -0400)]
misc/emacs: send correct content-length to the playground

R=adonovan
CC=golang-dev
https://golang.org/cl/14548049

11 years agomisc/emacs: don't treat (foo)(bar) as a function call when preceded by a word character.
Dominik Honnef [Thu, 10 Oct 2013 20:30:20 +0000 (16:30 -0400)]
misc/emacs: don't treat (foo)(bar) as a function call when preceded by a word character.

Fixes #6531.

R=adonovan
CC=golang-dev
https://golang.org/cl/14523043

11 years agonet: fix TestDialFailPDLeak to work when GOMAXPROCS is large
Ian Lance Taylor [Wed, 9 Oct 2013 20:52:29 +0000 (13:52 -0700)]
net: fix TestDialFailPDLeak to work when GOMAXPROCS is large

Fixes #6553.

R=golang-dev, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/14526048

11 years agoruntime: markfreed's error reports should be prefixed with "markfreed", not "markallo...
Keith Randall [Wed, 9 Oct 2013 20:28:47 +0000 (13:28 -0700)]
runtime: markfreed's error reports should be prefixed with "markfreed", not "markallocated".

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14441055

11 years agocmd/go: add any .c/.cc files to the SWIG shared library
Ian Lance Taylor [Wed, 9 Oct 2013 17:35:46 +0000 (10:35 -0700)]
cmd/go: add any .c/.cc files to the SWIG shared library

Also add the action's object directory to the list of
directories we use to find SWIG shared libraries.

Fixes #6521.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14369043

11 years agoruntime/cgo: mark callback functions as NOSPLIT
Ian Lance Taylor [Wed, 9 Oct 2013 15:44:47 +0000 (08:44 -0700)]
runtime/cgo: mark callback functions as NOSPLIT

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14448044

11 years agodebug/dwarf: handle surprising clang encoding
Russ Cox [Wed, 9 Oct 2013 15:08:22 +0000 (11:08 -0400)]
debug/dwarf: handle surprising clang encoding

Fixes a bug in cgo on OS X using clang.
See golang.org/issue/6472 for details.

Fixes #6472.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14575043

11 years agonet: fix typo in failure message in test
Ian Lance Taylor [Wed, 9 Oct 2013 13:44:11 +0000 (06:44 -0700)]
net: fix typo in failure message in test

R=golang-dev, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/14582043

11 years agocompress/flate: fix infinite loop on malformed data
Russ Cox [Wed, 9 Oct 2013 12:37:06 +0000 (08:37 -0400)]
compress/flate: fix infinite loop on malformed data

Test using compress/gzip, because that's how the
data arrived.

Fixes #6550.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/14441051

11 years agolib/time: update time zone files to version 2013g
Rob Pike [Tue, 8 Oct 2013 23:16:24 +0000 (16:16 -0700)]
lib/time: update time zone files to version 2013g
This dataset is current as of Sep 30, 2013.

Fixes #6524

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14570044

11 years agoencoding/gob: add examples
Rob Pike [Tue, 8 Oct 2013 20:13:40 +0000 (13:13 -0700)]
encoding/gob: add examples
Also tweak the package document, putting in section headings and
adding a sentence about intended use.

Fixes #4925.

R=golang-dev, iant, adg, ugorji
CC=golang-dev
https://golang.org/cl/14519044

11 years agodoc: fix a few broken links
Andrew Gerrand [Tue, 8 Oct 2013 20:05:43 +0000 (07:05 +1100)]
doc: fix a few broken links

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/14494044

11 years agotest: revert changes made for Go SSA interpreter test.
Alan Donovan [Tue, 8 Oct 2013 18:36:20 +0000 (14:36 -0400)]
test: revert changes made for Go SSA interpreter test.

R=r, gri
CC=golang-dev
https://golang.org/cl/14552044

11 years agocmd/go, runtime: express armv5t architecture constraint differently
Carl Shapiro [Tue, 8 Oct 2013 17:40:51 +0000 (10:40 -0700)]
cmd/go, runtime: express armv5t architecture constraint differently

Instead of adding an -march=armv5t flag to the gcc command
line, the same effect is obtained with an ".arch armv5t"
pseudo op in the assembly file that uses armv5t instructions.

R=golang-dev, iant, dave
CC=golang-dev
https://golang.org/cl/14511044

11 years agoA+C: Tw (individual CLA)
Andrew Gerrand [Tue, 8 Oct 2013 05:53:56 +0000 (16:53 +1100)]
A+C: Tw (individual CLA)

Generated by addca.

R=gobot
CC=golang-dev
https://golang.org/cl/14502047