- 11 Jun, 2015 3 commits
-
-
David du Colombier authored
This issue was fixed in CL 10900. Change-Id: I88f107cb73c8a515f39e02506ddd2ad1e286b1fb Reviewed-on: https://go-review.googlesource.com/10940 Run-TryBot: David du Colombier <0intro@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David du Colombier authored
When the Stat or Fstat system calls return -1, dirstat incorrectly returns ErrShortStat. However, the error returned by Stat or Fstat could be different. For example, when the file doesn't exist, they return "does not exist". Dirstat should return the error returned by the system call. Fixes #10911. Fixes #11132. Change-Id: Icf242d203d256f12366b1e277f99b1458385104a Reviewed-on: https://go-review.googlesource.com/10900 Run-TryBot: David du Colombier <0intro@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Patrick Mezard authored
Process.handle was accessed without synchronization while wait() and signal() could be called concurrently. A first solution was to add a Mutex in Process but it was probably too invasive given Process.handle is only used on Windows. This version uses atomic operations to read the handle value. There is still a race between isDone() and the value of the handle, but it only leads to slightly incorrect error codes. The caller may get a: errors.New("os: process already finished") instead of: syscall.EINVAL which sounds harmless. Fixes #9382 Change-Id: Iefcc687a1166d5961c8f27154647b9b15a0f748a Reviewed-on: https://go-review.googlesource.com/9904Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 10 Jun, 2015 6 commits
-
-
Ian Lance Taylor authored
Change-Id: I8473e3f7653d5389d5fcd94862f0831049b8266e Reviewed-on: https://go-review.googlesource.com/10809Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Fixes #11144 Change-Id: I1da0b72ef00a84c9b5751be0e72ad07d664bc98b Reviewed-on: https://go-review.googlesource.com/10883Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
-
Ainar Garipov authored
Change-Id: I82edd9364e1b4634006f5e043202a69f383dcdbe Reviewed-on: https://go-review.googlesource.com/10826Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alex Brainman authored
Update #10254 Change-Id: I3ddd26607813ca629e3ab62abf87dc5ab453e36f Reviewed-on: https://go-review.googlesource.com/10835Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Yongjian Xu authored
Change-Id: Ida4b98aa63e57594fa6fa0b8178106bac9b3cd19 Reviewed-on: https://go-review.googlesource.com/10837Reviewed-by: Minux Ma <minux@golang.org>
-
Josh Bleecher Snyder authored
Change-Id: I95b72b6be39fbb923b5f0743d17d7f8bd3ee3814 Reviewed-on: https://go-review.googlesource.com/10860Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 09 Jun, 2015 13 commits
-
-
Burcu Dogan authored
Change-Id: I1ec2460758b19e5315be061033c1bb5ed9ead4a8 Reviewed-on: https://go-review.googlesource.com/9688Reviewed-by: Minux Ma <minux@golang.org>
-
Josh Bleecher Snyder authored
This was a refactoring bug during 'go tool compile', CL 10289. Change-Id: Ibfd333be39ec72bba331fdf352df619cc21851a9 Reviewed-on: https://go-review.googlesource.com/10849Reviewed-by: Minux Ma <minux@golang.org>
-
Adam Langley authored
Change-Id: I7cad3f7af2452e29b3dae3da87cbd24013f6dae6 Reviewed-on: https://go-review.googlesource.com/10850Reviewed-by: Adam Langley <agl@golang.org>
-
Carl Jackson authored
GCM is traditionally used with a 96-bit nonce, but the standard allows for nonces of any size. Non-standard nonce sizes are required in some protocols, so add support for them in crypto/cipher's GCM implementation. Change-Id: I7feca7e903eeba557dcce370412b6ffabf1207ab Reviewed-on: https://go-review.googlesource.com/8946Reviewed-by: Adam Langley <agl@golang.org> Run-TryBot: Adam Langley <agl@golang.org>
-
Dmitry Savintsev authored
Reflect the process changes where AUTHORS and CONTRIBUTORS files are updated automatically based on commit logs and Google committers no longer need to do it manually on the first contributors. The documentation update will help to avoid requests to be added from new contributors. Change-Id: I67daae5bd21246cf79fe3724838889b929bc5e66 Reviewed-on: https://go-review.googlesource.com/10824Reviewed-by: Rob Pike <r@golang.org>
-
Josh Bleecher Snyder authored
Bool codegen was generating a temp for function calls and other complex expressions, but was not using it. This was a refactoring bug introduced by CL 7853. The cmp code used to do (in short): l, r := &n1, &n2 It was changed to: l, r := nl, nr But the requisite assignments: nl, nr = &n1, &n2 were only introduced on one of two code paths. Fixes #10654. Change-Id: Ie8de0b3a333842a048d4308e02911bb10c6915ce Reviewed-on: https://go-review.googlesource.com/10844Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Minux Ma <minux@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Adam Langley authored
Previously we enforced both that the extended key usages of a client certificate chain allowed for client authentication, and that the client-auth EKU was in the leaf certificate. This change removes the latter requirement. It's still the case that the chain must be compatible with the client-auth EKU (i.e. that a parent certificate isn't limited to another usage, like S/MIME), but we'll now accept a leaf certificate with no EKUs for client-auth. While it would be nice if all client certificates were explicit in their intended purpose, I no longer feel that this battle is worthwhile. Fixes #11087. Change-Id: I777e695101cbeba069b730163533e2977f4dc1fc Reviewed-on: https://go-review.googlesource.com/10806Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Adam Langley <agl@golang.org>
-
Shenghou Ma authored
Change-Id: Icda8475a7879d49e3b8b873303eb0bed5dd5a238 Reviewed-on: https://go-review.googlesource.com/10792Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
Change-Id: Ia7914156e4369113dea7c17b3aa51096e25f1901 Reviewed-on: https://go-review.googlesource.com/10834Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
After a little build coordinator change, this will get us sharding of the race builder. Update #11074 Change-Id: I4c55267563b6f5e213def7dd6707c837ae2106bf Reviewed-on: https://go-review.googlesource.com/10845Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Hyang-Ah (Hana) Kim authored
Change-Id: If11621985c0a5a1f2133cdc974f37fd944b93e5e Reviewed-on: https://go-review.googlesource.com/10808 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Josh Bleecher Snyder authored
Fixes #10977. Change-Id: I706c953c16daad48595c7fae2d82124614dfc3ad Reviewed-on: https://go-review.googlesource.com/10780Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
-
Adam Langley authored
Change-Id: I358b17304f95fdd8e6c0a64fa29f185c701fe338 Reviewed-on: https://go-review.googlesource.com/10805Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 08 Jun, 2015 5 commits
-
-
Håvard Haugen authored
The documentation for quick.Value says that it "returns an arbitrary value of the given type." In spite of this, nil values for pointers were never generated, which seems more like an oversight than an intentional choice. The lack of nil values meant that testing recursive type like type Node struct { Next *Node } with testing/quick would lead to a stack overflow since the data structure would never terminate. This change may break tests that don't check for nil with pointers returned from quick.Value. Two such instances were found in the standard library, one of which was in the testing/quick package itself. Fixes #8818. Change-Id: Id390dcce649d12fbbaa801ce6f58f5defed77e60 Reviewed-on: https://go-review.googlesource.com/10821Reviewed-by: Adam Langley <agl@golang.org> Run-TryBot: Adam Langley <agl@golang.org>
-
Robert Griesemer authored
- remove TODO on non-existing fmt.Formatter type (type exists now) - guard uses of imported types against nil Change-Id: I9ae8e5a448e73c84dec1606ea9d9ed5ddeee8dc6 Reviewed-on: https://go-review.googlesource.com/10777Reviewed-by: Alan Donovan <adonovan@google.com>
-
Russ Cox authored
Change-Id: I0512e461de1f25cb2a1cb7f23e7a77d00700667c Reviewed-on: https://go-review.googlesource.com/10803Reviewed-by: Russ Cox <rsc@golang.org>
-
Alex Brainman authored
Add .exe to exectable name, so it can be executed on windows. Use proper windows paths when searching vet output. Replace Skip with Skipf. Fixes build Change-Id: Ife40d8f5ab9d7093ca61c50683a358d4d6a3ba34 Reviewed-on: https://go-review.googlesource.com/10742 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Patrick Mézard <patrick@mezard.eu> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
Commit 1303957d was supposed to enable write barriers during the concurrent scan phase, but it only enabled *calls* to the write barrier during this phase. It failed to update the redundant list of write-barrier-enabled phases in gcmarkwb_m, so it still wasn't greying objects during the scan phase. This commit fixes this by replacing the redundant list of phases in gcmarkwb_m with simply checking writeBarrierEnabled. This is almost certainly redundant with checks already done in callers, but the last time we tried to remove these redundant checks everything got much slower, so I'm leaving it alone for now. Fixes #11105. Change-Id: I00230a3cb80a008e749553a8ae901b409097e4be Reviewed-on: https://go-review.googlesource.com/10801 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Minux Ma <minux@golang.org>
-
- 07 Jun, 2015 4 commits
-
-
Austin Clements authored
Stack barriers assume that writes through pointers to frames above the current frame will get write barriers, and hence these frames do not need to be re-scanned to pick up these changes. For normal writes, this is true. However, there are places in the runtime that use typedmemmove to potentially write through pointers to higher frames (such as mapassign1). Currently, typedmemmove does not execute write barriers if the destination is on the stack. If there's a stack barrier between the current frame and the frame being modified with typedmemmove, and the stack barrier is not otherwise hit, it's possible that the garbage collector will never see the updated pointer and incorrectly reclaim the object. Fix this by making heapBitsBulkBarrier (which lies behind typedmemmove and its variants) detect when the destination is in the stack and unwind stack barriers up to the point, forcing mark termination to later rescan the effected frame and collect these pointers. Fixes #11084. Might be related to #10240, #10541, #10941, #11023, #11027 and possibly others. Change-Id: I323d6cd0f1d29fa01f8fc946f4b90e04ef210efd Reviewed-on: https://go-review.googlesource.com/10791Reviewed-by: Russ Cox <rsc@golang.org>
-
Austin Clements authored
Currently, write barriers are only enabled after completion of the concurrent scan phase, as we enter the concurrent mark phase. However, stack barriers are installed during the scan phase and assume that write barriers will track changes to frames above the stack barriers. Since write barriers aren't enabled until after stack barriers are installed, we may miss modifications to the stack that happen after installing the stack barriers and before enabling write barriers. Fix this by enabling write barriers during the scan phase. This commit intentionally makes the minimal change to do this (there's only one line of code change; the rest are comment changes). At the very least, we should consider eliminating the ragged barrier that's intended to synchronize the enabling of write barriers, but now just wastes time. I've included a large comment about extensions and alternative designs. Change-Id: Ib20fede794e4fcb91ddf36f99bd97344d7f96421 Reviewed-on: https://go-review.googlesource.com/10795Reviewed-by: Russ Cox <rsc@golang.org>
-
Austin Clements authored
Currently checkmarks mode fails to rescan stacks because it sees the leftover state bits indicating that the stacks haven't changed since the last scan. As a result, it won't detect lost marks caused by failing to scan stacks correctly during regular garbage collection. Fix this by marking all stacks dirty before performing the checkmark phase. Change-Id: I1f06882bb8b20257120a4b8e7f95bb3ffc263895 Reviewed-on: https://go-review.googlesource.com/10794Reviewed-by: Russ Cox <rsc@golang.org>
-
Dominik Honnef authored
Change-Id: Ib43b21daef5d8291e03c0f0fbf56999e37e21e21 Reviewed-on: https://go-review.googlesource.com/10820Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 06 Jun, 2015 5 commits
-
-
Shenghou Ma authored
Change-Id: Ibf2879c0034250c5699e21ecea0eb76340597a2a Reviewed-on: https://go-review.googlesource.com/10810Reviewed-by: Austin Clements <austin@google.com>
-
Alex Brainman authored
Change-Id: I283ab238b60d3a47e86296e1fbfc73ba121bef19 Reviewed-on: https://go-review.googlesource.com/10745Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
Change-Id: I999b57ef5535c18e02cc27c9bc9f896d73126b50 Reviewed-on: https://go-review.googlesource.com/10674Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Austin Clements authored
obj.ARET is the portable return mnemonic. ppc64.ARETURN is a legacy alias. This was done with sed -i s/ppc64\.ARETURN/obj.ARET/ cmd/compile/**/*.go sed -i s/ARETURN/obj.ARET/ cmd/internal/obj/ppc64/obj9.go Change-Id: I4d8e83ff411cee764774a40ef4c7c34dcbca4e43 Reviewed-on: https://go-review.googlesource.com/10673Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Austin Clements authored
All of the architectures except ppc64 have only "RET" for the return mnemonic. ppc64 used to have only "RETURN", but commit cf06ea68 introduced RET as a synonym for RETURN to make ppc64 consistent with the other architectures. However, that commit was never followed up to make the code itself consistent by eliminating uses of RETURN. This commit replaces all uses of RETURN in the ppc64 assembly with RET. This was done with sed -i 's/\<RETURN\>/RET/' **/*_ppc64x.s plus one manual change to syscall/asm.s. Change-Id: I3f6c8d2be157df8841d48de988ee43f3e3087995 Reviewed-on: https://go-review.googlesource.com/10672Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
- 05 Jun, 2015 4 commits
-
-
Robert Griesemer authored
Change-Id: I318c1ef75b18d4687f13499ac225dde2d053505e Reviewed-on: https://go-review.googlesource.com/10776Reviewed-by: Rob Pike <r@golang.org>
-
Robert Griesemer authored
Change-Id: I7d96ebcca5954152edb821bb41b6047a1c622949 Reviewed-on: https://go-review.googlesource.com/10731Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Robert Griesemer authored
Port of https://go-review.googlesource.com/10773 from x/tools. Change-Id: I6aba6a63a5448b8fcbcc7f072c627c27965dbe20 Reviewed-on: https://go-review.googlesource.com/10774Reviewed-by: Alan Donovan <adonovan@google.com>
-
Alan Donovan authored
gc should ideally consider this an error too; see golang/go#8560. Change-Id: Ieee71c4ecaff493d7f83e15ba8c8a04ee90a4cf1 Reviewed-on: https://go-review.googlesource.com/10757Reviewed-by: Robert Griesemer <gri@golang.org>
-