- 17 Nov, 2017 7 commits
-
-
Adam Langley authored
CL 71030 enforced EKU nesting at verification time, to go along with the change in name constraints behaviour. From scanning the Certificate Transparency logs, it's clear that some CAs are not getting EKU nesting correct. This change relaxes the EKU rules in a few ways: ∙ EKUs in roots are no longer checked. ∙ Any CA certificate may issue OCSP responder certificates. ∙ The ServerAuth and SGC EKUs are treated as a single EKU when checking nesting. ∙ ServerAuth in a CA can now authorise ClientAuth. ∙ The generic CodeSigning EKU can now authorise two, Microsoft-specific code-signing EKUs. Change-Id: I7b7ac787709af0dcd177fe419ec2e485b8d85540 Reviewed-on: https://go-review.googlesource.com/77330Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Adam Langley authored
The GeneralSubtree structure can have additional elements after the name (minimum and maximum, which are unused). Previously these fields, if present, would cause a parse error. This change allows trailing data in the GeneralSubtrees structure. Change-Id: I6bfb11ec355fa6812810a090c092a5ee0fdeddc3 Reviewed-on: https://go-review.googlesource.com/77333Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
This reverts commit 6a3d4be3. Reason for revert: breaks various builds. See comments on CL 77670 Change-Id: Iaf3260319b560f49ace06af705a2114630f32063 Reviewed-on: https://go-review.googlesource.com/78515Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Chase authored
The locations chosen for racewalking inserted code can be wrong and thus cause unwanted next/step behavior in debuggers. Forcing the positions to be unset results in better behavior. Test added, and test harness corrected to deal with changes to gdb's output caused by -racewalk. Incidental changes in Delve (not part of the usual testing, but provided because we care about Delve) also reflected in this CL. Fixes #22600. Change-Id: Idd0218afed52ab8c68efd9eabbdff3c92ea2b996 Reviewed-on: https://go-review.googlesource.com/78336 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Alessandro Arzilli <alessandro.arzilli@gmail.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Bill O'Farrell authored
Adding s390x to the list of architectures that support c-shared and c-archive. Required adding load-time initialization (via _rt0_s390x_linux_lib) and adding s390x to the c-shared and c-archive tests. Change-Id: I75883b2891c310fe8ce7f08c27b06895c074e123 Reviewed-on: https://go-review.googlesource.com/74910Reviewed-by: Michael Munday <mike.munday@ibm.com>
-
Austin Clements authored
I experimented with having the compiler spill the two registers that are clobbered by the write barrier fast path, but it slightly slows down compilebench, which is a good write barrier benchmark: name old time/op new time/op delta Template 175ms ± 0% 176ms ± 1% ~ (p=0.393 n=10+10) Unicode 83.6ms ± 1% 85.1ms ± 2% +1.79% (p=0.000 n=9+10) GoTypes 585ms ± 0% 588ms ± 1% ~ (p=0.173 n=8+10) Compiler 2.78s ± 1% 2.81s ± 2% +0.81% (p=0.023 n=10+10) SSA 7.11s ± 1% 7.15s ± 1% +0.59% (p=0.029 n=10+10) Flate 115ms ± 1% 116ms ± 2% ~ (p=0.853 n=10+10) GoParser 144ms ± 2% 145ms ± 2% ~ (p=1.000 n=10+10) Reflect 389ms ± 1% 390ms ± 1% ~ (p=0.481 n=10+10) Tar 185ms ± 2% 185ms ± 2% ~ (p=0.529 n=10+10) XML 205ms ± 0% 207ms ± 2% ~ (p=0.065 n=9+10) Since this didn't pan out, remove the TODO. Change-Id: I2186942c6d1ba10585a5da03cd7c1d26ce906273 Reviewed-on: https://go-review.googlesource.com/78034Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Austin Clements authored
I experimented with changing the write barrier to take the value in SI rather than AX to improve register allocation. It had no effect on performance and only made the "hello world" text 0.07% smaller, so let's just remove the comment. Change-Id: I6a261d14139b7a02a8467b31e74951dfb927ffb4 Reviewed-on: https://go-review.googlesource.com/78033Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
- 16 Nov, 2017 30 commits
-
-
Daniel Theophanes authored
While driver.Connector was previously added to allow non-string connection arguments and access to the context, most users of the sql package will continue to rely on a string DSN. Allow drivers to implement a string DSN to Connector interface that both allows a single parsing of the string DSN and uses the Connector interface which passes available context to the driver dialer. Fixes #22713 Change-Id: Ia0b862262f4c4670effe2538d0d6d43733fea18d Reviewed-on: https://go-review.googlesource.com/77550Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Change-Id: I11d83c8841f3de4ed4d9d014dec65d6f20464b11 Reviewed-on: https://go-review.googlesource.com/78396Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Russ Cox authored
I realized this simplification was possible when writing the vet loop (just above the code being modified here) but never circled back to make the compiler loop match. Change-Id: Ic2277d2a4b6d94ea4897cc3615fc1a29f2fb243c Reviewed-on: https://go-review.googlesource.com/78395 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Brad Fitzpatrick authored
Fixes #22739 Change-Id: I374c29d237c498c9e5ac848b01f6d49d7c41b31f Reviewed-on: https://go-review.googlesource.com/77930 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
CL 61111 disabled the writing of trivial.c in -n mode, which made -n mode at least inconsistent with regular mode in how it was testing for flags. We think that both were getting the same answer, so avoid creating the file in both modes to make sure. If this CL turns out to be wrong, then when we revert it we should make sure that the empty file is written even in -n mode, because this check affects the command-line flags printed by other commands in that mode. Change-Id: I0a050bfc148fe5a9d430a153d7816b2821277f0d Reviewed-on: https://go-review.googlesource.com/78115 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
(The tests only run when swig is already installed on the local system.) Change-Id: I172d106a68cfc746a1058f5a4bcf6761bab88912 Reviewed-on: https://go-review.googlesource.com/78175Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Still failing on builders. I give up. (For example https://build.golang.org/log/4fa5ba031c2fab5df397ac894f8b81392a93728e.) Change-Id: Ifa87813e27e1adfe9920c7e657b0ff129eb5bf2f Reviewed-on: https://go-review.googlesource.com/78315Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
Change-Id: I8ed4c6dd32a74d94565d77771bb773f006ff90ac Reviewed-on: https://go-review.googlesource.com/78317 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Joe Tsai authored
This CL removes the following APIs: type SparseEntry struct{ ... } type Header struct{ SparseHoles []SparseEntry; ... } func (*Header) DetectSparseHoles(f *os.File) error func (*Header) PunchSparseHoles(f *os.File) error func (*Reader) WriteTo(io.Writer) (int, error) func (*Writer) ReadFrom(io.Reader) (int, error) This API was added during the Go1.10 dev cycle, and are safe to remove. The rationale for reverting is because Header.DetectSparseHoles and Header.PunchSparseHoles are functionality that probably better belongs in the os package itself. The other API like Header.SparseHoles, Reader.WriteTo, and Writer.ReadFrom perform no OS specific logic and only perform the actual business logic of reading and writing sparse archives. Since we do know know what the API added to package os may look like, we preemptively revert these non-OS specific changes as well by simply commenting them out. Updates #13548 Updates #22735 Change-Id: I77842acd39a43de63e5c754bfa1c26cc24687b70 Reviewed-on: https://go-review.googlesource.com/78030Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
Maybe a bad git merge - not sure. In any event, I do miss the trybots. Noticed while fixing: change print-to-stderr+panic to pure panic, just so that the test (which catches the panic) does not print any errors before passing. Change-Id: If25153ea64e81066455401110ae7a79c36f2f712 Reviewed-on: https://go-review.googlesource.com/78316 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
Ian suggested that since test caching is not expected to be perfect in all cases, we should allow users to clear the test cache separately from clearing the entire build cache. This CL adds 'go clean -testcache' to do that. The implementation does not actually delete files (for that, use 'go clean -cache'). Instead, it writes down the current time, and future go tests will ignore any cached test results written before that time. Change-Id: I4f84065d7dfc2499fa3f203e9ab62e68d7f367c5 Reviewed-on: https://go-review.googlesource.com/78176Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
If we're running coverage on a package using cgo, we need to apply both cmd/cover and cmd/cgo as source transformers. To date we've applied cgo, then cover. Cover is very sensitive to the exact character position of expressions in its input, though, and cgo is not, so swap them, applying first cover and then cgo. The only drawback here is that coverage formerly applied to SWIG-generated cgo files, and now it does not. I am not convinced anyone depended critically on that, and probably the later analysis with go tool cover would have tried to parse the original .swig file as a Go file and gotten very confused. Fixes #8726. Fixes #9212. Fixes #9479. Change-Id: I777c8b64f7726cb117d59e03073954abc6dfa34d Reviewed-on: https://go-review.googlesource.com/77155Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Passing the absolute path to cgo puts the absolute path in the generated file's //line directives, which then shows that path in the compiler output, which the go command can then make relative to the current directory, same as it does for other compiler output. Change-Id: Ia2064fea40078c46fd97e3a3b8c9fa1488f913e3 Reviewed-on: https://go-review.googlesource.com/77154Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Cgo has always operated by rewriting the AST and invoking go/printer. This CL converts it to use the AST to make decisions but then apply its edits directly to the underlying source text. This approach worked better in rsc.io/grind (used during the C to Go conversion) and also more recently in cmd/cover. It guarantees that all comments and line numbers are preserved exactly. This eliminates a lot of special concern about comments and problems with cgo not preserving meaningful comments. Combined with the CL changing cmd/cover to use the same approach, it means that the combination of applying cgo and applying cover still guarantees all comments and line numbers are preserved exactly. This sets us up to fix some cgo vs cover bugs by swapping the order in which they run during the go command. This also sets up #16623 a bit: the edit list being accumulated here is nearly exactly what you'd want to pass to the compiler for that issue. Change-Id: I7611815be22e7c5c0d4fc3fa11832c42b32c4eb3 Reviewed-on: https://go-review.googlesource.com/77153Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
CL 52810 changed Reader to interpret a quoted \r\n as a raw \r\n when reading fields. This seems likely to break existing users, and discussion on both #21201 (the original issue that triggered the change) and #22746 (discussing whether to revert the change) failed to identify a single motivating example for this change. To avoid breaking existing users for no clear reason, revert the change. The Reader has been rewritten in the interim so this is not a git revert but instead and adjustment (and slight simplification) of the new Reader. Fixes #22746. Change-Id: Ie857b2f4b1359a207d085b6d3c3a6d440a997d12 Reviewed-on: https://go-review.googlesource.com/78295Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Russ Cox authored
CL 56950 correctly identified code with checks that were impossible. But instead of correcting the checks it deleted them. This CL corrects the code to check what was meant. Change-Id: Ic89222184ee4fa5cacccae12d750601a9438ac8d Reviewed-on: https://go-review.googlesource.com/78113 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
This fixes the misc/swig tests. Change-Id: I60c87bbd361fe8b4f69e4507b25dc99a226da3d7 Reviewed-on: https://go-review.googlesource.com/76610 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
This reverts CL 55972. Reason for revert: this changes Perm's behavior unnecessarily. I asked for this change originally but I now regret it. Reverting so that I don't have to justify it in Go 1.10 release notes. Edited to keep the change to rand_test.go, which seems to have been mostly unrelated. Fixes #22744. Change-Id: If8bb1bcde3ced0db2fdcd0aa65ab128613686c66 Reviewed-on: https://go-review.googlesource.com/78195 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
This reverts commit 630d176e. Reason for revert: the CL moves a parser for what appears to be an Android-specific file format into the main code and makes it available on all platforms. Android-specific file formats should be limited to Android. Change-Id: I3f19fe03673d65ed1446a0dcf95e5986053e10c0 Reviewed-on: https://go-review.googlesource.com/77950Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Than McIntosh authored
Fix typo in DWARF register config for GOOARCH=x86; was picking up the AMD64 set, should have been selecting x86 set. Change-Id: I9a4c6f1378baf3cb2f0ad8d60f3ee2f24cd5dc91 Reviewed-on: https://go-review.googlesource.com/77990 Run-TryBot: Than McIntosh <thanm@google.com> Reviewed-by: Heschi Kreinick <heschi@google.com>
-
Russ Cox authored
CL 60630 claimed to and did “improve performance of CopyN” but in doing so introduced a second copy of the I/O copying loop. This code is subtle and easy to get wrong and the last thing we need is of two copies that can drift out of sync. Even the newly introduced copy contains various subtle changes that are not obviously semantically equivalent to the original. (They probably are, but it's not obvious.) Although the CL description does not explain further what the important optimization was, it appears that the most critical one was not allocating a 32kB buffer for CopyN(w, r, 512). This CL deletes the forked copy of copy and instead applies the buffer size restriction optimization directly to copy itself. CL 60630 reported: name old time/op new time/op delta CopyNSmall-4 5.09µs ± 1% 2.25µs ±86% -55.91% (p=0.000 n=11+14) CopyNLarge-4 114µs ±73% 121µs ±72% ~ (p=0.701 n=14+14) Starting with that CL as the baseline, this CL does not change a ton: name old time/op new time/op delta CopyNSmall-8 370ns ± 1% 411ns ± 1% +11.18% (p=0.000 n=16+14) CopyNLarge-8 18.2µs ± 1% 18.3µs ± 1% +0.63% (p=0.000 n=19+20) It does give up a small amount of the win of 60630 but preserves the bulk of it, with the benefit that we will not need to debug these two copies drifting out of sync in the future. Change-Id: I05b1a5a7115390c5867847cba606b75d513eb2e2 Reviewed-on: https://go-review.googlesource.com/78122 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Russ Cox authored
cover -func mode was reporting a coverage for function declarations without bodies - assembly functions. Since we are not annotating their code, we have no data for those functions and should not report them at all. Fixes #6880. Change-Id: I4b8cd90805accf61f54e3ee167f54f4dc10c7c59 Reviewed-on: https://go-review.googlesource.com/77152Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Now that cover does not modify the formatting of the original file or add any newline characters, we can make it print a //line comment pointing back at the original, and compiler errors and panics will report accurate line numbers. Fixes #6329. Fixes #15757. Change-Id: I7b0e386112c69beafe69e0d47c5f9e9abc87c0f5 Reviewed-on: https://go-review.googlesource.com/77151 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Joe Kyo authored
Change-Id: I491c5ddd1a5d8e55f8e6bb9377bc3811e42773f8 Reviewed-on: https://go-review.googlesource.com/77870Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
Even after disabling on 1-CPU systems, builders are still flaking too often. Unless there are at least 4 CPUs, don't require test interlacing at all. Fixes #22665 (again). Change-Id: Ief792c496c1ee70939532e6ca8bef012fe78178e Reviewed-on: https://go-review.googlesource.com/77310 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
CL 21663 allowed drivers to implement ExecerContext without also implementing Execer, and similarly QueryerContext without Queryer, but it did not make that clear in the documentation. This CL updates the documentation. Change-Id: I9a4accaac32edfe255fe7c0b0907d4c1014322b4 Reviewed-on: https://go-review.googlesource.com/78129Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
-
Russ Cox authored
CL 70210 added Decoder for #21590, and in doing so it changed the existing func Decode to return partial results for decoding errors. That seems like a good change to make to Decode, but it was untested (except as used by Decoder), inconsistent with DecodeString in all error cases, and inconsistent with Decoder in not returning partial results for odd-length input strings. This CL makes Decode, DecodeString, and Decoder all agree about the handling of partial results (they are returned) and error precedence (the error earliest in the input is reported), and it documents and tests this. Change-Id: Ifb7d1e100ecb66fe2ed5ba34a621084d480f16db Reviewed-on: https://go-review.googlesource.com/78120 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
Change-Id: I112d0164df6abd9ca1df287376cf3605268385df Reviewed-on: https://go-review.googlesource.com/78116 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Kevin Burke authored
Using ASCII values for keys is a bad idea since it makes them vastly easier to guess. Instead, use the same method as the examples in the golang.org/x/crypto/nacl package to load keys from a hex value. Changing the key required updating the ciphertext in many of the examples. I am still worried about the fact the examples ask the user to authenticate messages; authentication isn't trivial, and to be honest it may be better to steer people to a higher level primitive like secretbox, unless people really need AES. Fixes #21012. Change-Id: I8d918cf194694cd380b06c2d561178167ca61adb Reviewed-on: https://go-review.googlesource.com/48596Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Hiroshi Ioka authored
Fixes #18873 Change-Id: Idb9750f739f91ebca34efcbc177254d412b4d90d Reviewed-on: https://go-review.googlesource.com/44111Reviewed-by: Adam Langley <agl@golang.org> Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 15 Nov, 2017 3 commits
-
-
Troels Thomsen authored
A sequential lookup using any non-canceled context has a risk of returning the result of the previous lookup for a canceled context (i.e. an error). This is already prevented for timed out context by forgetting the host immediately and extending this to also compare the error to `context.Canceled` resolves this issue. Fixes #22724 Change-Id: I7aafa1459a0de4dc5c4332988fbea23cbf4dba07 Reviewed-on: https://go-review.googlesource.com/77670 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
The replacement rune is a valid rune and can appear as itself in valid UTF8 (it encodes as three bytes). To check for invalid UTF8 it is necessary to look for utf8.DecodeRune returning the replacement rune and size==1. Change-Id: I169be8d1fe61605c921ac13cc2fde94f80f3463c Reviewed-on: https://go-review.googlesource.com/78126 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Russ Cox authored
Change-Id: I540bdabe8ffda4697315fa6f09ad710c05b4a94d Reviewed-on: https://go-review.googlesource.com/78134 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-