profile
viewpoint

kristapsdz/rpki-client 14

RPKI client implementation

4ad/go 12

Go development tree for the sparc64 port

jenkinsci/jenkins-charm 11

Juju charm to deploy and scale Jenkins

4a6f656c/boulder 0

An ACME-based CA, written in Go.

4a6f656c/dns 0

DNS library in Go

4a6f656c/go 0

The Go programming language

4a6f656c/go-sys 0

[mirror] Go packages for low-level interaction with the operating system

4a6f656c/hockeypuck 0

OpenPGP Key Server

4a6f656c/juju 0

juju is devops distilled

issue commentgolang/go

x/build: misc-compile-other failed building linux-riscv64 on master

FTR the failure should be addressed by https://golang.org/cl/217777, which fixed the offset names in internal/bytealg.

dmitshur

comment created time in 16 days

issue commentgolang/go

vendor, cmd/vendor: not clean on master

It's also worth noting that x/sys is not in sync across vendor and cmd/vendor:

golang.org/x/sys v0.0.0-20190529130038-5219a1e1c5f8 // indirect golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82 // indirect

Hopefully we can update cmd/vendor to 5219a1e1c5f8 to avoid having to have multiple branches here...

dmitshur

comment created time in 23 days

issue commentgolang/go

vendor, cmd/vendor: not clean on master

(1) obviously has more implications/fallout than planned, (2) was avoided since it potentially creates churn/breakage close to release, (3) makes sense - if someone can create the branches and/or provide names for these (we need x/sys for cpu/cpu_riscv64.go and unix/asm_linux_riscv64.s, and x/tools for go/analysis/passes/asmdecl), I can readily handle the code changes (or I can review them).

dmitshur

comment created time in 23 days

issue commentgolang/go

all: port to RISC-V

@dmitshur - I do not see any reference to trybots in the PortingPolicy document, do you mean builder? If so, there is a builder for this run by @bradfitz , although it currently appears to be missing. I can also run a builder once the issue mentioned in https://github.com/golang/go/issues/25498#issuecomment-570783627 is addressed.

tklauser

comment created time in 23 days

issue commentgolang/go

x/build: add openbsd/arm builder

@bcmills @toothrot @cagedmantis - I've turned the buildlet off since it has just been spinning its wheels for the last month. Please let me know when I should try again.

FiloSottile

comment created time in 23 days

issue openedgolang/go

cmd/compile: open-coded defers are broken on riscv64

Open-coded defers are currently broken on riscv64 - this is noticeable with a failure of runtime/TestRecursivePanic2 and hangs/missing defer execution in net/http and time/TestConcurrentTimerReset tests.

The following code (from the TestRecursivePanic2 test):

package main

import "fmt"

func blah(){
        func() {
                defer func() {
                        fmt.Println(recover())
                }()
                var x [8192]byte
                func(x [8192]byte) {
                        defer func() {
                                panic("second panic")
                        }()
                        defer func() {
                                fmt.Println(recover())
                        }()
                        panic("first panic")
                }(x)
        }()
        panic("third panic")
}

func main() {
        blah()
}

Results in:

first panic
<nil>
runtime: unexpected return pc for main.blah.func1.2 called from 0x1
stack: frame={sp:0x202807bf20, fp:0x202807bf50} stack=[0x2028078000,0x2028080000)
000000202807be20:  000000202804a0c0  00000020280160a0
000000202807be30:  000000000009a710 <sync.(*Pool).Put+72>  000000000019ec88
000000202807be40:  0000000000000004  0000000000000000
000000202807be50:  0000000000000000  00000000000c00e8 <fmt.(*pp).free+240>
000000202807be60:  000000000019ec80  0000002028080000
000000202807be70:  0000000000000000  00000000000c0444 <fmt.Fprintln+180>
000000202807be80:  000000000019ec80  00000000000f61e0
000000202807be90:  000000202805a820  00000000000c7f4c <main.blah.func1.1+140>
000000202807bea0:  000000202805a820  00000020280160a0
000000202807beb0:  0000000000000006  0000000000000010
000000202807bec0:  0000000000000006  0000000000000000
000000202807bed0:  0000000000000000  0000000000000000
000000202807bee0:  0000000000000006  000000202805a820
000000202807bef0:  0000000000000000  00000000000c81cc <main.blah.func1+252>
000000202807bf00:  0000000000118b20  000000202800c018
000000202807bf10:  000000202807bf40  0000000000000001
000000202807bf20: <0000000000000001  0000000000000006
000000202807bf30:  0000000000000000  0000000000000000
000000202807bf40:  0000000000000000  0000000000000000
000000202807bf50: >00000000000c7e5c <main.blah+44>  0000000000000000
000000202807bf60:  0000000000000000  0000000000000000
000000202807bf70:  0000000000000000  0000000000000000
000000202807bf80:  0000000000000000  0000000000000000
000000202807bf90:  0000000000000000  0000000000000000
000000202807bfa0:  0000000000000000  0000000000000000
000000202807bfb0:  0000000000000000  0000000000000000
000000202807bfc0:  0000000000000000  0000000000000000
000000202807bfd0:  0000000000000000  0000000000000000
000000202807bfe0:  0000000000000000  0000000000000000
000000202807bff0:  0000000000000000  0000000000000000
000000202807c000:  0000000000000000  0000000000000000
000000202807c010:  0000000000000000  0000000000000000
000000202807c020:  0000000000000000  0000000000000000
000000202807c030:  0000000000000000  0000000000000000
000000202807c040:  0000000000000000  0000000000000000
fatal error: unknown caller pc
runtime stack:
runtime.throw(0xfe763, 0x11)
        /home/gopher/src/go/src/runtime/panic.go:1112 +0x88
runtime.gentraceback(0xc80b4, 0x202807bf20, 0x0, 0x2028000180, 0x0, 0x0, 0x7fffffff, 0x3fffc48620, 0x0, 0x0, ...)
        /home/gopher/src/go/src/runtime/traceback.go:273 +0x1e48
runtime.addOneOpenDeferFrame.func1()
        /home/gopher/src/go/src/runtime/panic.go:719 +0xac
runtime.systemstack(0x0)
        /home/gopher/src/go/src/runtime/asm_riscv64.s:137 +0x80
runtime.mstart()
        /home/gopher/src/go/src/runtime/proc.go:1077

goroutine 1 [running]:
runtime.systemstack_switch()
        /home/gopher/src/go/src/runtime/asm_riscv64.s:91 +0x8 fp=0x202807fe90 sp=0x202807fe88 pc=0x87590
runtime.addOneOpenDeferFrame(0x2028000180, 0x0, 0x0)
        /home/gopher/src/go/src/runtime/panic.go:718 +0x88 fp=0x202807fec8 sp=0x202807fe90 pc=0x4e8b8
panic(0xdd5c0, 0x117330)
        /home/gopher/src/go/src/runtime/panic.go:969 +0x420 fp=0x202807ff68 sp=0x202807fec8 pc=0x4f468
main.blah()
        /home/gopher/p.go:21 +0x50 fp=0x202807ff80 sp=0x202807ff68 pc=0xc7e80
main.main()
        /home/gopher/p.go:25 +0x2c fp=0x202807ff88 sp=0x202807ff80 pc=0xc7eb4
runtime.main()
        /home/gopher/src/go/src/runtime/proc.go:203 +0x298 fp=0x202807ffd8 sp=0x202807ff88 pc=0x52a18
runtime.goexit()
        /home/gopher/src/go/src/runtime/asm_riscv64.s:451 +0x4 fp=0x202807ffd8 sp=0x202807ffd8 pc=0x89594

This appears to be a result of an incorrect funcspdelta() value being applied during gentraceback of main.blah. It is worth noting that the actual LR address appears to be 32 bytes further down (i.e. SP should be pointing at 0x202807bf00 rather than 0x202807bf20). This may some how be related to the fact that an epilogue does not exist for main.blah, since it is calling runtime.gopanic and will obviously be terminal.

created time in a month

issue openedgolang/go

cmd/compile: implement atomic intrinsics for riscv64

Go on riscv64 does not currently support atomic intrinsics, rather all atomics are functions. This should be implemented.

created time in a month

issue commentgolang/go

cmd/objdump: implement all disassemblers

See also https://github.com/golang/go/issues/36738 for riscv64.

randall77

comment created time in a month

issue openedgolang/go

cmd/link: implement external linking for riscv64

There is currently no support for external linking on riscv64 - this is a tracking bug for adding support.

created time in a month

issue openedgolang/go

cmd/objdump: implement disassembler for riscv64

There is currently no disassembler support for riscv64 - this is a tracking bug for addressing this.

created time in a month

issue commentgolang/go

cmd/compile: cannot regenerate rules files using non-tip compiler

@josharian - I guess we'll just have to duplicate the register names and numbers, like the other platforms do...

josharian

comment created time in a month

issue openedgolang/go

runtime: add async preemption support to the riscv port

The Go riscv64 port does not currently support async preemption - this should be added.

created time in a month

push event4a6f656c/riscv-go

Ian Lance Taylor

commit sha 998cbe29832a989eff6e239d6b70ff1c92ad1fa6

testing: don't run Cleanup functions until parallel subtests complete Fixes #31651 Change-Id: Idbab0c4355fcc58520e210126795223435cf0078 Reviewed-on: https://go-review.googlesource.com/c/go/+/214822 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Jay Conrod

commit sha 574c286607015297e35b7c02c793038fd827e59b

cmd/go: trim paths from vendored packages with -trimpath In CL 199821, we stopped setting the module directory for vendored packages when -mod=vendor is used. This broke -trimpath, since we replace the module directory with a string derived from the module path and version. A comment in CL 202977 makes it clear that the module directory should not be set. With this change, -trimpath falls back to replacing the package directory with the package path if the module directory is not set. We also fall back to replacing the package directory if the module version is not set to avoid adding a meaningless @ only for the main module. As a consequence of this change, file names in vendored packages will not have module versions, so file names will be a little different between -mod=mod and -mod=vendor. Fixes #36566 Change-Id: I0e9cd76d36a2028a49d0b6697ea9a9b3140d7ff3 Reviewed-on: https://go-review.googlesource.com/c/go/+/214945 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org>

view details

Keith Randall

commit sha 316fd8cc4a7fab2e1bb45848bc30ea8b8a0b231a

cmd/compile: mark ... argument to checkptrArithmetic as not escaping Fixes #36516 Change-Id: Ibf4f86fb3a25fa30e0cd54e2dd2e12c60ee75ddb Reviewed-on: https://go-review.googlesource.com/c/go/+/214679 Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

David Chase

commit sha c112289ee4141ebc31db50328c355b01278b987b

cmd/compile: change the "bogus line" to be 1 The previous value was "too bogus" and caused objdump to crash. Updated infinite loop test results (only run if -args -f) in ssa/debug_test.go Probably also fixes #36621 but that bug needs more info to tell for certain. Fixes #36570 Change-Id: I51144641d25d559308a98d726d87806bd340cc5a Reviewed-on: https://go-review.googlesource.com/c/go/+/215297 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Roger Peppe

commit sha 03eeaa9656027514113e7cd3dc2906255ee23963

testing: clarify that Cleanup is run after subtests complete. It's good to be explicit, as it's not necessarily obvious (and indeed the behavior has changed recently with https://go-review.googlesource.com/c/go/+/214822) without an associated doc comment change). Change-Id: I99d6398bf15b404b1b1b196e712e926e363251e9 Reviewed-on: https://go-review.googlesource.com/c/go/+/215217 Reviewed-by: Paul Jolly <paul@myitcv.org.uk> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Joel Sing

commit sha 91d75f4e4c32b737baf32cac42756c70fbd487e8

reflect: add support for riscv64 Based on riscv-go port. Update #27532 Change-Id: I791924f71078fd8dfe9c2fc03a3f21a3bc673721 Reviewed-on: https://go-review.googlesource.com/c/go/+/204634 Run-TryBot: Joel Sing <joel@sing.id.au> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Joel Sing

commit sha 98d2717499575afe13d9f815d46fcd6e384efb0c

cmd/compile: implement compiler for riscv64 Based on riscv-go port. Updates #27532 Change-Id: Ia329daa243db63ff334053b8807ea96b97ce3acf Reviewed-on: https://go-review.googlesource.com/c/go/+/204631 Run-TryBot: Joel Sing <joel@sing.id.au> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Yasser Abdolmaleki

commit sha cbaa666682386fe5350bf87d7d70171704c90fe4

net: document *OpError.Err must not be nil The point of *net.OpError is to add details to an underlying lower level error. It makes no sense to have an OpError without an Err and a nil *OpError.Err will cause *OpError.Error() method to panic. Fixes #33007 Change-Id: If4fb2501e02dad110a095b73e18c47312ffa6015 Reviewed-on: https://go-review.googlesource.com/c/go/+/187677 Reviewed-by: Rob Pike <r@golang.org>

view details

Joel Sing

commit sha 8e0be05ec7c369387c0ed3c9cf37968c6d3afbbd

runtime: add support for linux/riscv64 Based on riscv-go port. Updates #27532 Change-Id: If522807a382130be3c8d40f4b4c1131d1de7c9e3 Reviewed-on: https://go-review.googlesource.com/c/go/+/204632 Run-TryBot: Joel Sing <joel@sing.id.au> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Joel Sing

commit sha 18b15f634219fcf2273db5e63d90b13c22c8df37

Merge Go up to 8e0be05e.

view details

push time in a month

issue openedgolang/go

all: add cgo support to the riscv port

The riscv port does not have support for cgo - this should be added at some point in the future (hence this tracking bug).

created time in a month

push event4a6f656c/riscv-go

Joel Sing

commit sha bc9194752749640c61c339140cf11d13e6262a6a

runtime: correct assembly for openbsd/arm64 Correct the pipe and pipe2 implementations by using the correct RSP offsets, used to store and return the file descriptor array. Fix setNonblock by using the correct immediate value for O_NONBLOCK and replace EOR (exclusive OR) with ORR. Also correct the write1 implementation, which has a uintptr value for the fd argument. Change-Id: Ibca77af44b649e8bb330ca54f9c36a7a8b0f9cea Reviewed-on: https://go-review.googlesource.com/c/go/+/212765 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Michael Matloob

commit sha cde230b8b354200678a79b0d5fe8263f34f46d45

cmd/go: remove tests using testdata/flag_test.go Part of converting all tests to script framework to improve test parallelism. Updates #36320 Updates #17751 Change-Id: I6573185cf14f298c51f76265f18a75e4960ce791 Reviewed-on: https://go-review.googlesource.com/c/go/+/213220 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Michael Matloob

commit sha c399afef61dadbc9deb2d5bc0cb8227200af00b9

cmd/go: convert TestCoverageImportMainLoop and TestGoTestMain Convert these two tests to the script framework. Updates #17751 Updates #36320 Change-Id: I9cc14360fab949dab91f9e5e667be85002ef5926 Reviewed-on: https://go-review.googlesource.com/c/go/+/212811 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Michael Matloob

commit sha 98418c998c73075b050f6e52088f8dbc4cbdf7ef

cmd/go: convert TestTestRegexps to the script framework It's hard to convert this one exactly because I don't think we can guarantee that the grep command exists to filter stdout, so I've tried to replicate the intent of the test. Part of converting all tests to script framework to improve test parallelism. Updates #36320 Updates #17751 Change-Id: Ib593799ef7634ce12efb3ff357eb34475e2ea321 Reviewed-on: https://go-review.googlesource.com/c/go/+/213130 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Bryan C. Mills

commit sha 249c85d3aab2ad2d0bcbf36efe606fdd66f25c72

net/http: avoid writing to Transport.ProxyConnectHeader Previously, we accidentally wrote the Proxy-Authorization header for the initial CONNECT request to the shared ProxyConnectHeader map when it was non-nil. Fixes #36431 Change-Id: I5cb414f391dddf8c23d85427eb6973f14c949025 Reviewed-on: https://go-review.googlesource.com/c/go/+/213638 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Michael Matloob

commit sha b8e2ffcb901038db838544bdd5339d51f20e6aa4

cmd/go: convert tests using testdata/src/testrace to script framework Part of converting all tests to script framework to improve test parallelism. Updates #36320 Updates #17751 Change-Id: Id4c2c58167d5cfc80b0d81ca9ce3db678242c06c Reviewed-on: https://go-review.googlesource.com/c/go/+/213128 Run-TryBot: Michael Matloob <matloob@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Michael Matloob

commit sha 7340d15c85ed2412a29e08001d343df7aa53d0df

cmd/go: convert TestImportCycle to the script framework This test already calls tg.Parallel Part of converting all tests to script framework to improve test parallelism. Updates #36320 Updates #17751 Change-Id: I4cdb2464cd3e51f1369558c238925f036ce8d828 Reviewed-on: https://go-review.googlesource.com/c/go/+/213426 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Michael Matloob

commit sha 52a9210a2c91098b667c2c8890c24dec89b5dfff

cmd/go: convert import comment tests to script framework Part of converting all tests to script framework to improve test parallelism. Updates #36320 Updates #17751 Change-Id: I30230ca3b4d8b037ea861db952b89e706ed8706d Reviewed-on: https://go-review.googlesource.com/c/go/+/213425 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Michael Matloob

commit sha 7d98da8d3174b167b8408ef89836d6ec85ad3dc0

cmd/go: fix test broken by incorrect comments I accidentally used // instead of #. Change-Id: I2c9b9d40dd83994ce80fc837e8d992d3807f3e24 Reviewed-on: https://go-review.googlesource.com/c/go/+/213659 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>

view details

Michael Matloob

commit sha daacf269802eaa856705063159b55b5e752e7058

cmd/go: fix TestScript/test_main_twice The TMPDIR environment variable isn't always available. Use $WORK/tmp instead, to fix this test on Windows. Change-Id: I521c470430c6eea4d1f2fc7db749d38178a03a13 Reviewed-on: https://go-review.googlesource.com/c/go/+/213680 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Joel Sing

commit sha 4b1b18d1060b82d4df273e23d81033dfacf4d5bb

runtime: use FP offsets for pipe/pipe2 on freebsd/arm64 and linux/arm64 This is more readable and less error-prone than using RSP offsets. Suggested during review of CL 212765. Change-Id: I070190abeeac8eae5dbd414407602619d9d57422 Reviewed-on: https://go-review.googlesource.com/c/go/+/213577 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Luka Zitnik

commit sha 77c13021dd401945711ff40f16a5040a075fcef9

net/http: document that ParseForm consumes Request.Body Fixes #35620 Change-Id: I71bc56ec7a7507d14b4f013177b4b816bb1a2094 Reviewed-on: https://go-review.googlesource.com/c/go/+/212458 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Keith Randall

commit sha 2248fc63ab53f90020e77df3fbd131a539d68fd4

cmd/compile: give every really deep type a unique name This avoids the security problem in #29312 where two very deep, but distinct, types are given the same name. They both make it to the linker which chooses one, and the use of the other is now type unsafe. Instead, give every very deep type its own name. This errs on the other side, in that very deep types that should be convertible to each other might now not be. But at least that's not a security hole. Update #29312. Change-Id: Iac0ebe73fdc50594fd6fbf7432eef65f9a053126 Reviewed-on: https://go-review.googlesource.com/c/go/+/213517 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Robert Griesemer <gri@golang.org>

view details

Bryan C. Mills

commit sha 817afe83578d869b36e8697344bb2d557c86b264

cmd/go: adjust heuristics for skipping +incompatible versions We know of at least one module (github.com/stripe/stripe-go) that has a run of +incompatible versions, followed by a run of versions with go.mod files, followed by another run of +incompatible versions. We want the heuristics for showing +incompatible versions to reflect the authors' current intent, and it seems clear that the current intent of the authors of that module is for users of the unversioned import path to still be on +incompatible versions. To respect that intent, we need to keep checking for +incompatible versions even after we have seen a lower major version with an explicit go.mod file. However, we still don't want to download every single version of the module to check it. A given major version should have a consistent, canonical import path, so the path (as inferred by the presence or absence of a go.mod file) should be the same for every release across that major version. To avoid unnecessary overhead — and to allow module authors to correct accidental changes to a major version's import path — we check only the most recent release of each major version. If a release accidentally changes the import path in either direction (by deleting or adding a go.mod file), it can be corrected by issuing a single subsequent release of that major version to restore the correct path. I manually verified that, with this change, github.com/stripe/stripe-go@latest reverts to v68.7.0+incompatible as it was in Go 1.13. The other regression tests for #34165 continue to pass. Updates #34165 Change-Id: I5daff3cd2123f94c7c49519babf4eecd509f169e Reviewed-on: https://go-review.googlesource.com/c/go/+/212317 Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Cherry Zhang

commit sha 17e97322fb0605206d8503a321bd24eca17afd34

runtime: overwrite asyncPreempt PC when injecting sigpanic on Windows On Windows, it might be possible that SuspendThread suspends a thread right between when an exception happens and when the exception handler runs. (This is my guess. I don't know the implementation detail of Windows exceptions to be sure.) In this case, we may inject a call to asyncPreempt before the exception handler runs. The exception handler will inject a sigpanic call, which will make the stack trace looks like sigpanic asyncPreempt actual panicking function i.e. it appears asyncPreempt panicked. Instead, just overwrite the PC, without pushing another frame. Fixes #35773. Change-Id: Ief4e964dcb7f45670b5f93c4dcf285cc1c737514 Reviewed-on: https://go-review.googlesource.com/c/go/+/213879 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>

view details

Bryan C. Mills

commit sha 6dbcc8b8651909442ff823231daba096f447a163

cmd/go: make "finding" logging deterministic In CL 204777, I made the "finding" messages in cachingRepo only print after a “longish” delay, on the theory that they would help diagnose slow or stuck fetches. However, as I've been testing Go 1.14 beta 1, I've found that these messages are mostly just noise, and the fact that they are so nondeterministic causes both confusion and test flakes (#35539). Moreover, it currently triggers once for each candidate module, when what we're usually after is actually a specific package within the module. So let's log the package operation unconditionally instead of the module fetches nondeterministically. Fixes #35539 Updates #26152 Change-Id: I41a1c772465b2f0b357d3402bc372b6907773741 Reviewed-on: https://go-review.googlesource.com/c/go/+/213679 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Austin Clements

commit sha 957259b7e2c40cf9955469ce93b35bdc0289e942

runtime: protect against external code calling ExitProcess On Windows, we implement asynchronous preemption using SuspendThread to suspend other threads in our process. However, SuspendThread is itself actually asynchronous (it enqueues a kernel "asynchronous procedure call" and returns). Unfortunately, Windows' ExitProcess API kills all threads except the calling one and then runs APCs. As a result, if SuspendThread and ExitProcess are called simultaneously, the exiting thread can be suspended and the suspending thread can be exited, leaving behind a ghost process consisting of a single thread that's suspended. We've already protected against the runtime's own calls to ExitProcess, but if Go code calls external code, there's nothing stopping that code from calling ExitProcess. For example, in #35775, our own call to racefini leads to C code calling ExitProcess and occasionally causing a deadlock. This CL fixes this by introducing synchronization between calling external code on Windows and preemption. It adds an atomic field to the M that participates in a simple CAS-based synchronization protocol to prevent suspending a thread running external code. We use this to protect cgocall (which is used for both cgo calls and system calls on Windows) and racefini. Tested by running the flag package's TestParse test compiled in race mode in a loop. Before this change, this would reliably deadlock after a few minutes. Fixes #35775. Updates #10958, #24543. Change-Id: I50d847abcdc2688b4f71eee6a75eca0f2fee892c Reviewed-on: https://go-review.googlesource.com/c/go/+/213837 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com>

view details

Bryan C. Mills

commit sha cec535b7b747cee83b5ab285887f3fd2dcebdc1b

cmd/go/internal/modload: do not disable Query for -mod=readonly 'go list -m' allows explicit module@version arguments, which it resolves (using Query) but does not add to the build list. Similarly, 'go list -u' resolves versions without modifying the build list. These explicit operations should be allowed even when '-mod=readonly' is set. Updates #36478 'go list' and 'go mod download' do not Change-Id: I5d2735729ad573635b9c1902d5d3a8bd960b8a76 Reviewed-on: https://go-review.googlesource.com/c/go/+/214077 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Bryan C. Mills

commit sha 509592d188f6a30bb65b27a24f4c6f68716ea063

cmd/go: explicitly reject 'list -u' and 'list -versions' when '-mod=vendor' is set The information requested by these flags is not available from the vendor directory. Noticed while diagnosing #36478. Updates #33848 Change-Id: I2b181ba5c27f01fdd6277d8d0ab1003c05774ff7 Reviewed-on: https://go-review.googlesource.com/c/go/+/214081 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Michael Anthony Knyszek

commit sha 8ac98e7b3fcadc497c4ca7d8637ba9578e8159be

runtime: add scavtrace debug flag and remove scavenge info from gctrace Currently, scavenging information is printed if the gctrace debug variable is >0. Scavenging information is also printed naively, for every page scavenged, resulting in a lot of noise when the typical expectation for GC trace is one line per GC. This change adds a new GODEBUG flag called scavtrace which prints scavenge information roughly once per GC cycle and removes any scavenge information from gctrace. The exception is debug.FreeOSMemory, which may force an additional line to be printed. Fixes #32952. Change-Id: I4177dcb85fe3f9653fd74297ea93c97c389c1811 Reviewed-on: https://go-review.googlesource.com/c/go/+/212640 Run-TryBot: Michael Knyszek <mknyszek@google.com> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

push time in a month

push event4a6f656c/riscv-go

Joel Sing

commit sha 94a09bd32342daf02cbb43ddaff0d560bb2752f4

cmd/internal/obj/riscv: correctly split immediates for FLW/FLD/FSW/FSD

view details

push time in a month

push event4a6f656c/go

Joel Sing

commit sha 91fe4fe547f27a64d4e0533ece110c84b21c5bcb

runtime: fixes for openbsd/mips64 Change-Id: Ibdc4fae08e48923dea01b7fd1c1aeb4aa78e3475

view details

Joel Sing

commit sha 0cb19de78854f10bead96900ce1570c6e522f0a6

cmd: disable mmap on openbsd This is causing corruption (or byte swapping) of binaries build on openbsd/mips64. Disable mmap based I/O until this can be investigated and resolved. Change-Id: I8e262d4ec562e8cdda0fe60f297d1e1c0d6f1df9

view details

Joel Sing

commit sha d9a392a49db2480ef122a9c486a7bf23a50b91f6

runtime: more fixes for openbsd/mips64 Change-Id: Idac371d8e553dc2fe3afe5e25d74cc4aef85c4ef

view details

push time in a month

push event4a6f656c/riscv-go

Joel Sing

commit sha e20d1c7a0f00d1095dd966d88943bc8d2f8dbe14

cmd/internal/obj/riscv: put the ADDI back into jalrToSym for now

view details

push time in a month

issue commentgolang/go

all: stop using direct syscalls on OpenBSD

@randall77 - in many cases Go on OpenBSD will generate a dynamically linked executable, unless cgo is disabled:

$ cat n.go
package main

import (
        "fmt"
        "net"
)

func main() {
        fmt.Println(net.IPv4len)
}
$ go build -o n n.go 
$ ldd n              
n:
        Start            End              Type  Open Ref GrpRef Name
        0000000000010000 00000000001d3000 exe   2    0   0      n
        0000000453cfd000 0000000453d3e000 rlib  0    1   0      /usr/lib/libpthread.so.26.1
        000000048614c000 000000048624c000 rlib  0    1   0      /usr/lib/libc.so.95.1
        0000000497c90000 0000000497c90000 ld.so 0    1   0      /usr/libexec/ld.so
$ CGO_ENABLED=0 go build -o n n.go
ldd n
$ ldd n
n:
not a dynamic executable

This would mean that we'd have to drop cgo support and only support statically compiled Go executables.

@FiloSottile you're correct in that there is currently an exception for dynamically linked executables to allow syscalls from both libc.so and the main text segment, so that Go continues to work. However, in addition to this there will always likely be an exception for static binaries, since in that case there is no libc.so and parts of libc.a have likely been linked into the main text segment (otherwise a static binary could not make syscalls).

4a6f656c

comment created time in a month

push event4a6f656c/riscv-go

Joel Sing

commit sha 853f76f762c94d35efa8b0a09d0aab19eec3013b

runtime/internal/atomic: fix Load8/Store8 on riscv64

view details

Joel Sing

commit sha 452f16cc7c0758ea6d93c1597f5f126ea2455e84

runtime: disable pushcall on riscv64 for now

view details

push time in a month

issue openedgolang/go

all: stop using direct syscalls on OpenBSD

Upcoming changes to the OpenBSD kernel will prevent system calls from being made unless they are coming from libc.so (with some exceptions, for example, a static binary). There are also likely to be changes to the APIs used for system calls. As such, the Go runtime (and other packages) need to stop using direct syscalls, rather calling into libc functions instead (as has always been done for Solaris and now also for macOS). This will avoid these issues and allow Go to continue to function correctly on OpenBSD.

A version of Go with openbsd/amd64 being modified to perform all calls via libc is available at:

https://github.com/4a6f656c/go/tree/openbsd-syscall

Further work is still required to convert openbsd/386, openbsd/arm and openbsd/arm64.

created time in 2 months

push event4a6f656c/riscv-go

Isfan Azhabil

commit sha 2e320a240d0b99b6810f452cf8554f6e79f0222e

net: fix typo in dns client unix test Fix a typo DNS name, it should be [onion.vegetables.com](http://onion.vegetables.com/) Change-Id: I4122a2305b8f5e774a834651e70c75b54e9386bd GitHub-Last-Rev: 9907897944275c5f8c54c79667cbb1ef474539de GitHub-Pull-Request: golang/go#36270 Reviewed-on: https://go-review.googlesource.com/c/go/+/212410 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Ariel Mashraki

commit sha c170b14c2c1cfb2fd853a37add92a82fd6eb4318

doc/go1.14: change hash/maphash package link Package name and documentation link were wrong. Change-Id: I274906afc3cf7a3d88e3da76549cd6ab008fd0c7 Reviewed-on: https://go-review.googlesource.com/c/go/+/212538 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Tobias Klauser

commit sha 075c20cea8a1efda0e8d5d33a1995a220ad27b8c

internal/poll: use fcntl64 on 32-bit GNU/Linux systems Use FcntlSyscall from internal/syscall/unix to get fcntl64 on 32-bit Linux systems. Updates #36211 Change-Id: If48a6e09606ca9f7f6e22f3e8dc9a25fb3ccaf65 Reviewed-on: https://go-review.googlesource.com/c/go/+/212537 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Michael Anthony Knyszek

commit sha cd1b9c1d5a7bb8ea6ebec223ce11e91897584ef4

runtime: disable pageAlloc tests on OpenBSD in short mode This change disables pageAlloc tests on OpenBSD in short mode because pageAlloc holds relatively large virtual memory reservations and we make two during the pageAlloc tests. The runtime may also be carrying one such reservation making the virtual memory requirement for testing the Go runtime three times as much as just running a Go binary. This causes problems for folks who just want to build and test Go (all.bash) on OpenBSD but either don't have machines with at least 4ish GiB of RAM (per-process virtual memory limits are capped at some constant factor times the amount of physical memory) or their per-process virtual memory limits are low for other reasons. Fixes #36210. Change-Id: I8d89cfde448d4cd2fefff4ad6ffed90de63dd527 Reviewed-on: https://go-review.googlesource.com/c/go/+/212177 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Ian Lance Taylor

commit sha 2d6f8cc2cdd5993eb8dc80655735a38ef067af6e

doc/go1.14: mention increased number of EINTR errors Updates #36281 Change-Id: I3c4487caaf47566212dc62322b2e884e695ea7f1 Reviewed-on: https://go-review.googlesource.com/c/go/+/212657 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Ian Lance Taylor

commit sha 4f757179543e06daec58df6af5884516f8bceb86

io: show ErrUnexpectedEOF in ExampleReadAtLeast Fixes #36245 Change-Id: I10ce50b0cc28b15f4e7be85b8f12cf9d0e4fac96 Reviewed-on: https://go-review.googlesource.com/c/go/+/212404 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Michael Anthony Knyszek

commit sha dcd3b2c173b77d93be1c391e3b5f932e0779fb1f

runtime: check whether scavAddr is in inUse on scavengeOne fast path This change makes it so that we check whether scavAddr is actually mapped before trying to look at the summary for the fast path, since we may segfault if that that part of the summary is not mapped in. Previously this wasn't a problem because we would conservatively map all memory for the summaries between the lowest mapped heap address and the highest one. This change also adds a test for this case. Change-Id: I2b1d89b5e044dce81745964dfaba829f4becdc57 Reviewed-on: https://go-review.googlesource.com/c/go/+/212637 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Tobias Klauser

commit sha 4b4370066f97ac40a4f095ca56a7b21a375aa5aa

syscall: use fcntl64 on 32-bit GNU/Linux systems Use fcntl64Syscall in forkAndExecInChild1 to get fcntl64 on 32-bit Linux systems. Updates #36211 Change-Id: Id0e34359256beace970e72102fdace7a987ff2b0 Reviewed-on: https://go-review.googlesource.com/c/go/+/212598 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Josh Bleecher Snyder

commit sha 53dede938b5c3322627a846e6c073d8d45dc21ac

cmd/compile: fix typo in comment Change-Id: I25fbd63f10ea9892589ad44cc45761926aff0648 Reviewed-on: https://go-review.googlesource.com/c/go/+/212841 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Tobias Klauser

commit sha aa175a196d74f2788ec3d02b990487f7ca2af5b0

internal/syscall/unix: use libc based fcntl for IsNonblock on aix and solaris On aix and solaris (like on darwin) use libc fcntl to implement IsNonblock instead of Syscall(SYS_FCNTL, ...) which isn't supported. Change-Id: I989b02aa0c90b7e2dae025572867dda277fef8be Reviewed-on: https://go-review.googlesource.com/c/go/+/212600 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Tobias Klauser

commit sha bbd25d26c0a86660fb3968137f16e74837b7a9c6

internal/poll: use correct fcntl implementations Use the libc fcntl (via syscall.fcntl) on aix and solaris like it is already done for darwin. For the syscall-based fcntl implementation use FcntlSyscall from internal/syscall/unix in order to get fcntl64 on 32-bit Linux systems. On aix, fcntl with F_DUPFD_CLOEXEC is not supported. Thus, defined F_DUPFD_CLOEXEC = 0 in the syscall package and check its value before calling fcntl(fd, syscall.F_DUPFD_CLOEXEC, 0). On js/wasm, fcntl is not supported thus let its implementation return ENOSYS directly. Updates #36211 Change-Id: I96a2ea79e5c4eed2fefd94d0aefd72c940825682 Reviewed-on: https://go-review.googlesource.com/c/go/+/212278 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Dmitri Shuralyov

commit sha bf268472408b0f46767d46ae1d14439e5eb84014

doc: 2020 is the Year of the Gopher Starting with 2014 (golang.org/cl/46660043), we have enjoyed 6 consecutive years of the gopher. Now, the slice¹ of gophers is ready to make its way into the next decade, as 2020 is the new Year of the Gopher. ¹ https://en.wikipedia.org/w/index.php?title=List_of_English_terms_of_venery,_by_animal&oldid=932675028#G Change-Id: I5f9598dbedb373bd13021964193fa9e44c67693e Reviewed-on: https://go-review.googlesource.com/c/go/+/213017 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: David Symonds <dsymonds@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Rhys Hiltner

commit sha a4c579e8f7c8129b2c27779f206ebd2c9b393633

runtime: emit trace event in direct semaphore handoff When a goroutine yields the remainder of its time to another goroutine during direct semaphore handoff (as in an Unlock of a sync.Mutex in starvation mode), it needs to signal that change to the execution tracer. The discussion in CL 200577 didn't reach consensus on how best to describe that, but pointed out that "traceEvGoSched / goroutine calls Gosched" could be confusing. Emit a "traceEvGoPreempt / goroutine is preempted" event in this case, to allow the execution tracer to find a consistent event ordering without being both specific and inaccurate about why the active goroutine has changed. Fixes #36186 Change-Id: Ic4ade19325126db2599aff6aba7cba028bb0bee9 Reviewed-on: https://go-review.googlesource.com/c/go/+/211797 Run-TryBot: Dan Scales <danscales@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>

view details

Cherry Zhang

commit sha ffbc02761abb47106ce88e09290a31513b5f6c8a

runtime: ensure memmove write pointer atomically on ARM64 If a pointer write is not atomic, if the GC is running concurrently, it may observe a partially updated pointer, which may point to unallocated or already dead memory. Most pointer writes, like the store instructions generated by the compiler, are already atomic. But we still need to be careful in places like memmove. In memmove, we don't know which bits are pointers (or too expensive to query), so we ensure that all aligned pointer-sized units are written atomically. Fixes #36101. Change-Id: I1b3ca24c6b1ac8a8aaf9ee470115e9a89ec1b00b Reviewed-on: https://go-review.googlesource.com/c/go/+/212626 Reviewed-by: Austin Clements <austin@google.com>

view details

Austin Clements

commit sha 73b657e96e498e0b6314e6054795f81400de4afc

doc/go1.14: mention sync.Mutex changes Change-Id: Icd92d115e5d7f00b2100598baf2522ebebcdb223 Reviewed-on: https://go-review.googlesource.com/c/go/+/213125 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Katie Hockman

commit sha a65f08830151101d4fbb524edfa2bc792932f8cc

doc: add section for checksum database to module reference doc Updates #33637 Change-Id: Ia782b3fdc5a8873606b96120a34c9bf194a1a346 Reviewed-on: https://go-review.googlesource.com/c/go/+/211197 Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Emmanuel T Odeke

commit sha f376b8510ed7884c69a09fbcf61418f7285f2787

all: fix invalid invocations of Fatalf in goroutines Found by running the go vet pass 'testinggoroutine' that I started in CL 212920. Change-Id: Ic9462fac85dbafc437fe4a323b886755a67a1efa Reviewed-on: https://go-review.googlesource.com/c/go/+/213097 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Dmitri Shuralyov

commit sha 0bd3853512ea0dcb252ce02113d3929db03d6aa6

doc: remove root.html and conduct.html (moved to x/website) root.html has been moved to the x/website repo in CL 180959 (commit golang/website@d83058ced3fadc3e8189107d2fb86c333c356b75). conduct.html has been moved to the x/website repo in CL 207437 (commit golang/website@99763cba2e5b53679a96f69725f917feb319b799). There should be only one copy, otherwise it may lead to confusion, or changes made in the wrong place. This CL removes the old copies from this repo since they're no longer used. Updates #29206 Change-Id: I41adfb2c34ed3d870fb7a671f48ccc8f90863feb Reviewed-on: https://go-review.googlesource.com/c/go/+/213157 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Michael Matloob

commit sha a7be8cccf80e04bb5c09e9f8c53d2eec4bc36d3a

cmd/go: convert tests using testdata/src/syntaxerror to scripts This includes TestMatchesNoTestsDoesNotOverrideBuildFailure and TestErrorMessageForSyntaxErrorInTestGoFileSaysFAIL. Convert the tests that use the testdata/src/syntaxerror directory to the script framework. Part of converting all tests to script framework to improve test parallelism. Updates #36320 Updates #17751 Change-Id: I2b2b616e8c124996ae8c8e5b737f15bb493ec588 Reviewed-on: https://go-review.googlesource.com/c/go/+/212816 Run-TryBot: Michael Matloob <matloob@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Michael Matloob

commit sha 8cc2b73a7439e303d015e53176575e649ace68bf

cmd/go: convert TestPluginNonMain to script framework TestPluginNonMain was broken before this change! (It provided the wrong directory for testdep/p2: testdata/testdep/p2 instead of testdata/src/testdep/p2). Change-Id: Ib815f119bae1d758b500cd8ad82c016cb630d71e Reviewed-on: https://go-review.googlesource.com/c/go/+/212938 Run-TryBot: Michael Matloob <matloob@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

push time in 2 months

create barnch4a6f656c/go

branch : openbsd-mips64

created branch time in 2 months

issue commentgolang/go

x/build: add openbsd/arm builder

@bcmills @dmitshur - a replacement openbsd-arm builder (host-openbsd-arm-joelsing) is running with cmd/buildlet, however is repeatedly failing in the coordinator (server side) with a writeSnapshot: failed to write snapshot to GCS timeout... I presume that my somewhat limited upstream bandwidth, combined with being a long way away (network wise), means that the time limit is insufficient to complete the upload. Could you please investigate?

FiloSottile

comment created time in 2 months

issue commentgolang/go

x/build/env/openbsd: add OpenBSD 6.6 builder

Only OpenBSD 6.5 and 6.6 are currently supported releases - I'd suggest running builders for both of these versions and retiring the older ones.

bradfitz

comment created time in 2 months

push event4a6f656c/go

Joel Sing

commit sha 30a8aba61a61d9bdb42be150135ce96c1c67b209

runtime: provide pthread* defs for other openbsd platforms Change-Id: Ic7ca166e64c3b57b511e48eccc745d607287b1aa

view details

Joel Sing

commit sha fbc62d16131d02044c5d40ef79be5dbf228f7f41

misc/cgo/test: skip testCthread on openbsd for now Change-Id: I4fbbc97336a44745d797eca55f3d90c5b471bf89

view details

Joel Sing

commit sha 3b9efc7c3e4d73e92e3f6a2f413fc7b5a8abed24

disable api checking on openbsd temporarily Change-Id: I7b714ee59602647420269f8be5b9f98c111cacab

view details

push time in 2 months

push event4a6f656c/go

Joel Sing

commit sha aaa208fe27fa55837da392315f9c57c1967bd47b

move {Raw,Syscall}* definitions back to original location Change-Id: I49151d739b1b31b939b554b3b6d122fe9d6842b9

view details

push time in 2 months

push event4a6f656c/go

Joel Sing

commit sha 7c72120d62588e4387d05590f1c0a57d8ff42299

provide syscall.{Raw,}Syscall* via assembly These need to be provided as ABI0, rather than ABIInternal, so that packages like golang.org/x/sys/unix can reach them directly. Change-Id: I44852ae925784432354daf9681434076fb35313b

view details

push time in 2 months

push event4a6f656c/go

Joel Sing

commit sha ec4dc3960c6a1e674586e27836e5b53ff7639bfc

route syscall.{Raw,}Syscall* via the libc syscall function Change-Id: I4074a6e24358254d27079dfa8b0e636d72c5c275

view details

push time in 2 months

push event4a6f656c/go

Joel Sing

commit sha 01f165a5ba912f4a7b7e96dbc575eb204ce85063

mop up more use of direct syscalls Change-Id: I3d6efa7e5cac52ff1035b021eaf6a37ab4899d79

view details

push time in 2 months

create barnch4a6f656c/go-sys

branch : openbsd-syscall

created branch time in 2 months

fork 4a6f656c/sys

[mirror] Go packages for low-level interaction with the operating system

https://godoc.org/golang.org/x/sys

fork in 2 months

issue closedlibressl-portable/portable

OCSP stapling broken in Nginx with v2.9.1

When building Nginx 1.15.x, 1.16.0 or 1.17.0 with LibreSSL v2.9.1, OCSP stapling with Let's Encrypt (and others?) does not work anymore because the signer certificate could not be found. LibreSSL v2.9.0 is fine.

The nginx error message is: OCSP_basic_verify() failed (SSL: error:27FFF076:OCSP routines:CRYPTO_internal:signer certificate not found) while requesting certificate status, responder: ocsp.int-x3.letsencrypt.org, peer: 95.101.72.151:80, certificate: "/path/to/fullchain.pem"

The output of openssl s_client -status [...] contains OCSP response: no response sent.

related Nginx config

ssl_stapling            on;
ssl_stapling_verify     on;
resolver		8.8.8.8;
ssl_certificate_key     /path/to/privkey.pem;
ssl_certificate         /path/to/fullchain.pem;
ssl_trusted_certificate /path/to/chain.pem;

p.s. OCSP_basic_verify is called here

closed time in 2 months

sephiroth-j

issue commentlibressl-portable/portable

OCSP stapling broken in Nginx with v2.9.1

The behavior of SSL_CTX_get_extra_chain_certs() has been revised to match OpenSSL in https://github.com/openbsd/src/commit/8c9e35fd772fea1c1af107983fe95fec2bc98139

sephiroth-j

comment created time in 2 months

issue commentlibressl-portable/portable

Differently defined symbol

I've just added aliases for the TLSEXT_TYPE names that OpenSSL decided to use in https://github.com/openbsd/src/commit/e52e7f29912cfb396e8a6b212e7abab4a632d7e4

d3x0r

comment created time in 2 months

issue closedlibressl-portable/portable

Differently defined symbol

TLSEXT_TYPE_psk_kex_modes:

from openssl/tls1.h 1.1.1b

# define TLSEXT_TYPE_psk_kex_modes               45

from libressl/2.9.2 tls1.h

#define TLSEXT_TYPE_psk_key_exchange_modes	45

closed time in 2 months

d3x0r

push event4a6f656c/go

Joel Sing

commit sha 47cec991a0ca8e842102f7ddffbdedc867ad2d8b

cmd/link: handle cgo_import_dynamic with external linking If cgo_import_dynamic is used with external linking, the symbol remains as SDYNIMPORT and fails to get fixed up by the external linker. Change-Id: I2ccacd54ba7cd36f68e04443ec60df5d5862e5a6

view details

Joel Sing

commit sha 930c0b810c09055695d7de2997fa7e9f8f10cb98

internal/syscall: use libc rather than direct syscalls for openbsd Change-Id: I859a14061b950bd2d787905afe06c9da0b5fcecf

view details

Joel Sing

commit sha 9e9899545522af93648769e45c1929fe5473a669

runtime: skip TestCgoCallbackGC on openbsd It is currently failing - skip it until I can figure out the root cause. Change-Id: I77fb41db0b78ea535c905ae8e6696354b7f10a29

view details

Joel Sing

commit sha f7206437c78451b3de04d12897acee9f02036e25

cmd/vendor: update x/sys/unix to use libc on openbsd Change-Id: I8f0668e286020ff6530a6623afb1645d8ced929c

view details

push time in 2 months

issue closedlibressl-portable/portable

Plans to keep backward compatibility

Can you please clarify plans to keep backwards compatibility as moving forward? OpenSSL is known to break compatibility often. Will LibreSSL keep being compatible with OpenSSL 1.0? I did not find such information.

closed time in 2 months

mikhailnov

issue commentlibressl-portable/portable

Plans to keep backward compatibility

As Bob said, as far as practical we will not be removing OpenSSL 1.0 interfaces/APIs that are used in the wild, any time soon.

mikhailnov

comment created time in 2 months

issue closedlibressl-portable/portable

Merge -addext option from upstream

OpenSSL binary OpenSSL 1.1.1 11 Sep 2018 now supports -addext ext option, useful to provide a specific extension, like SAN. https://www.openssl.org/docs/man1.1.1/man1/req.html

OpenSSL binary from LibreSSL LibreSSL 2.9.2 doesn't support it, so it is kinda inconvenient to generate CSR, where LibreSSL is used (OpenBSD, Linux distributions migrated to LibreSSL).

Here the command I used to test :

openssl req -sha256 -new -newkey rsa:4096 -nodes -addext "subjectAltName = DNS:foo.co.uk" -keyout pkey.pem -out csr.pem

Here the related discussion : https://github.com/openssl/openssl/issues/3311

Could it possible to merge upstream change to LibreSSL ?

closed time in 2 months

Ypnose

issue commentlibressl-portable/portable

Merge -addext option from upstream

Closing since this will be available in the next release.

Ypnose

comment created time in 2 months

issue commentlibressl-portable/portable

Merge -addext option from upstream

@ip75 works for me...

$ openssl version
LibreSSL 3.0.2
$openssl req -newkey rsa:2048 -days 365 -nodes -x509 \
    -subj "/C=/ST=/L=/O=/OU=/CN=*.foo.co.uk" \
    -extensions SAN \
    -config <(cat /etc/ssl/openssl.cnf \
            <(printf "[SAN]\nsubjectAltName='DNS:foo.co.uk'")) \
    -keyout pkey.pem -out csr.pem
$ openssl x509 -text -in csr.pem | grep DNS: -B2
        X509v3 extensions:
            X509v3 Subject Alternative Name: 
                DNS:foo.co.uk
Ypnose

comment created time in 2 months

create barnch4a6f656c/go

branch : openbsd-syscall

created branch time in 2 months

fork 4a6f656c/go

The Go programming language

https://golang.org

fork in 2 months

push event4a6f656c/riscv-go

Cherry Zhang

commit sha dc8453964a519032bfd338a2cc027d038c9b2e79

[dev.link] cmd/compile: finish all data generation before writing object file Currently, at the end of compilation, the compiler writes out the export data, the linker object file header, then does more code/data generation, then writes the main content of the linker object file. This CL refactors it to finish all the code/data generation before writing any output file. A later CL will inject some code that operates on all defined symbols before writing the output. This ensures all the symbols are available at that point. Change-Id: I97d946553fd0ffd298234c520219540d29783576 Reviewed-on: https://go-review.googlesource.com/c/go/+/196027 Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Cherry Zhang

commit sha cd75cf4bc02a741f7b59e30dd1170364000fd134

[dev.link] cmd/compile, cmd/asm: use bio.Writer for object file writing It is convenient to have a seekable writer. A later CL will make use of Seek. Change-Id: Iba0107ce2975d9a451d97f16aa91a318dd4c90e2 Reviewed-on: https://go-review.googlesource.com/c/go/+/196028 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

Cherry Zhang

commit sha 53b7c18284a404de6ca814bc3313d980b8e5ecc3

[dev.link] cmd/compile, cmd/asm: assign index to symbols We are planning to use indices for symbol references, instead of symbol names. Here we assign indices to symbols defined in the package being compiled, and propagate the indices to the dependent packages in the export data. A symbol is referenced by a tuple, (package index, symbol index). Normally, for a given symbol, this index is unique, and the symbol index is globally consistent (but with exceptions, see below). The package index is local to a compilation. For example, when compiling the fmt package, fmt.Println gets assigned index 25, then all packages that reference fmt.Println will refer it as (X, 25) with some X. X is the index for the fmt package, which may differ in different compilations. There are some symbols that do not have clear package affiliation, such as dupOK symbols and linknamed symbols. We cannot give them globally consistent indices. We categorize them as non-package symbols, assign them with package index 1 and a symbol index that is only meaningful locally. Currently nothing will consume the indices. All this is behind a flag, -newobj. The flag needs to be set for all builds (-gcflags=all=-newobj -asmflags=all=-newobj), or none. Change-Id: I18e489c531e9a9fbc668519af92c6116b7308cab Reviewed-on: https://go-review.googlesource.com/c/go/+/196029 Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha a09cd8ccb372d760bd21d7e56f42b9dbea6ecc2b

[dev.link] cmd/compile: fix data race on LSym.Pkg LSym may be created concurrently. Reading/writing LSym.Pkg may cause data race (see https://build.golang.org/log/f0351c5cc7bf4c92e3aa5e78e294c2d009ebf118). Fix this by setting LSym.Pkg only when holding the lock. Change-Id: Ib3160ecf47c4ca530b09369e0e8284db6597cfd0 Reviewed-on: https://go-review.googlesource.com/c/go/+/198492 Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha 2c484c0356c5e13a480b3842de0d345224a7bbf8

[dev.link] cmd/internal/obj: write object file in new format If -newobj is set, write object file in new format, which uses indices for symbol references instead of symbol names. The file format is described at the beginning of cmd/internal/goobj2/objfile.go. A new package, cmd/internal/goobj2, is introduced for reading and writing new object files. (The package name is temporary.) It is written in a way that trys to make the encoding as regular as possible, and the reader and writer as symmetric as possible. This is incomplete, and currently nothing will consume the new object file. Change-Id: Ifefedbf6456d760d15a9f40a28af6486c93100fe Reviewed-on: https://go-review.googlesource.com/c/go/+/196030 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha d79380026cd9f3a65e4896e77a7f3fbe1a954934

[dev.link] cmd/internal/goobj: support parsing new object file Add support of parsing new object file format. We use the new parser if the magic string matches the new one, otherwise use the old one. The parsed data are still filled into the current goobj API. In the future we may consider to change the goobj API to a close match of the object file data. Now objdump and nm commands support new object file format. For a reference to a symbol defined in another package, with the new object file format we don't know its name. Write it as pkg.<#nn> for now, where nn is its symbol index. Change-Id: I06d05b2ca834ba36980da3c5d76aee16c3b0a483 Reviewed-on: https://go-review.googlesource.com/c/go/+/196031 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha 6051fd0ad9f3e9e2ee405da709ee9f087747e4c1

[dev.link] cmd/link: support new object file format Parse new object file format in the linker. At least we can link a hello-world program. Add a basic "loader", which handles symbol references in the object file. - mapping between local and global indices - resolve by-name references (TODO: the overwrite logic isn't implemented yet) Currently we still create sym.Symbol rather early, and, after all the object files are loaded and indexed references are resolved, add all symbols to sym.Symbols. The code here is probably not going in the final version. This is basically only for debugging purposes -- to make sure the writer and the reader work as expected. Change-Id: I895aeea68326fabdb7e5aa1371b8cac7211a09dd Reviewed-on: https://go-review.googlesource.com/c/go/+/196032 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha e63c1df34856fbf61f72fef84f810cf3306ec204

[dev.link] cmd/link: move some work after deadcode This is in preparation of delaying loading symbol content to after dead code elimination. Change-Id: Ia4ce82d9a42cc1a76c82f6d0eb9a54b0325ee3ba Reviewed-on: https://go-review.googlesource.com/c/go/+/197061 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

Cherry Zhang

commit sha b0d930577ebe86d0dbd6d3f4bf551a4e4ff1fcde

[dev.link] all: merge branch 'master' into dev.link Weekly merge. Change-Id: I98c6121f04f347df2788ac5eaf99afad5da4a039

view details

Cherry Zhang

commit sha fcfbe25dca8525257a2c265e6bd825b5c4062c6c

[dev.link] cmd/link: remove runtime.gcbits special case Follow-up of Than's comment on CL 196032. For runtime.gcbits symbols, the compiler already sets the "local" attribute (cmd/compile/internal/gc/reflect.go:dgcptrmask). No need of the special handling in the linker. Change-Id: I7c53a818ed0375083f04655f3565c1c9c45f2401 Reviewed-on: https://go-review.googlesource.com/c/go/+/199642 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha 48151b3f0ffda8a38ca71c8f1b8a72d5f90d7061

[dev.link] cmd/link: add symbols to Textp after deadcode pass Currently we add all text symbols to ctxt.Textp at load time, then the deadcode pass filters out unreachable ones. This CL delays adding symbols to ctxt.Textp to the end of the deadcode pass, where we only add reachable ones. Change-Id: Ie83b2958f915c5aaa004b8c5ed1f1bc275f4d1db Reviewed-on: https://go-review.googlesource.com/c/go/+/197257 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha 24950952759cb26144333b0a47eae7da44808eec

[dev.link] cmd/link: load full symbol contents after deadcode pass If the new object file format is used, now we load full symbol contents after the deadcode pass, for reachable symbols only. We still load some informations early, like relocations and the contents of type symbols, which are used in the deadcode pass. If we rewrite deadcode to use index directly, we could delay more of the loading (to sym.Symbol), and perhaps delay the creation of sym.Symbol. TODO: internal linking with host objects doesn't work yet. Change-Id: I7d4880e8f150e8709ffac277e62191623440e4cf Reviewed-on: https://go-review.googlesource.com/c/go/+/197258 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha 0d7404c8527dc45469644c0f6b4becfd59c2a4d9

[dev.link] cmd/link, cmd/internal/goobj2: mmap object file in -newobj mode With the old object file format, we use mmap (if supported) to read object files and back symbol data with mapped read-only memory. Do the same with the new object file format. This also significantly reduces number of syscalls made to read object files. Currently we still do mmap in object file level, not archive level. This is probably ok, as there shouldn't be many archives that contain more than one object. If this is a problem we can change that later. Change-Id: Icae3ef14d8ed6adbee1b5b48d420e2af22fd9604 Reviewed-on: https://go-review.googlesource.com/c/go/+/197797 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha 65a649c565d06c14ae8e3a5042c4dec7f70af612

[dev.link] cmd/link, cmd/internal/goobj2: adopt new DWARF compilation unit logic with new object file The dev.link branch was not sync'd with the new DWARF compilation unit logic change on the master branch, and the new object file format didn't support this. This CL adds the new DWARF CU and file table support to the new object file format. In the old object file, the DWARF file table is a separate section. For now, we do the same with the new object file, keeping it as a separate block. While here, also refactor the loader code so it is easier for the loader to carry per-object informations. Change-Id: I4c317941fc0a5831acbc11ce8c2a8b7421471372 Reviewed-on: https://go-review.googlesource.com/c/go/+/198198 Reviewed-by: Austin Clements <austin@google.com>

view details

Cherry Zhang

commit sha c455e8878f67eeeb02537cc7b3c5fc18a22a2ed7

[dev.link] cmd/link: change some decodetype functions to operate on bytes Change some decodetype functions to operate on bytes nstead of Symbol. This is in preparation of implementing live method tracking in index-based deadcode pass, and reducing/eliminating sym.Symbol in general. Change-Id: Ia9809ad7b182884225e1bda577e8dbec0cd216c5 Reviewed-on: https://go-review.googlesource.com/c/go/+/199077 Reviewed-by: Austin Clements <austin@google.com>

view details

Than McIntosh

commit sha f7659d49be1839314ddc3a8606f8d6b3ce211b6b

[dev.link] cmd/link/internal/objfile: new 'Sym' type for global symbol index First change of several to update the loader API to reflect the final consensus version of the loader API as described in Cherry's doc. This piece: - define new loader.Sym type to encapsulate a global symbol index (as opposed to just using 'int') Change-Id: I6f6483e269f80abfc7d373b2856b2c0d61b9ac24 Reviewed-on: https://go-review.googlesource.com/c/go/+/200417 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

Cherry Zhang

commit sha 8a9be4921a3cc91c80c02bb5b4cf2ad129c0c7cc

[dev.link] cmd/link: use index for deadcode Switch the deadcode pass to use indices instead of Symbol structures when using new object file format. Delay loading symbol relocations and contents fully after the deadcode pass. The next step is not to create Symbol structures until deadcode is done. Method tracking logic hasn't been implemented. Currently, all methods of a reachable type are live. Change-Id: Iffcd06ff84e6e52bd9eb24d1220d94234d18ab6b Reviewed-on: https://go-review.googlesource.com/c/go/+/198199 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha ffca64dcf35e6298d25c87f3ab42c182c355c268

[dev.link] cmd/internal/obj: support -S flag in newobj mode When the compiler's -S flag is specified, it dumps the disassembly. Add this when writing the new style object file. Change-Id: I4cf85e57d22d0ceea1fda6d3b59fe363573659e7 Reviewed-on: https://go-review.googlesource.com/c/go/+/200100 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha 0108b54a3d6d53d13bc5cb935e3a79121b7ee49e

[dev.link] cmd/internal/goobj: replace `"".` with package prefix in newobj mode This is the behavior of the old code. Do the same. Change-Id: I3d393d754dcbdb7e76a577252a94214d2e316651 Reviewed-on: https://go-review.googlesource.com/c/go/+/200159 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

Cherry Zhang

commit sha e44dfa1f2b322537ce3ee1f589af1082748accc5

[dev.link] cmd/link: escape package path in objByPkg map The package references recorded in the object file, which are obtained from the compiler, are escaped. We should also use the escaped package paths in the linker for resolving package references. Change-Id: I42eb12df6ff24330e6dc7bed1dc8224bb3b8a106 Reviewed-on: https://go-review.googlesource.com/c/go/+/200158 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>

view details

push time in 2 months

issue commentgolang/go

runtime: running Go code on OpenBSD gomote fails when not running as root

The login class will be the reason why the allocation worked when run as root, but not when run as a normal user. However, even when a user has datasize-max=infinity (and increases the data size soft limit), there is still an upper bound based on the amount of memory available to the machine - as such, on a laptop with 4GB of RAM, the ~8.5GB PROT_NONE allocation was still failing, even if run as a user with a login class of staff (or as root). It presumably only worked on the builders as root due to a significant amount of memory being available.

The same failure could also be triggered under Linux via ulimit -v (some code removed around 2017 had a comment noting that sysReserve could fail on 64-bit systems, either due to kernel enforced constraints or ulimit -v).

Obviously this was a pretty significant regression from Go 1.13 - I can confirm that with the sparse array change, I can once again build Go with a data size limit of 2GB (although there appears to have been another regression with the memory requirements for compiling cmd/compile/internal/ssa - 1.5GB is sufficient for Go 1.13.4) and run a Go binary with a data size limit of 768MB.

ianlancetaylor

comment created time in 3 months

issue closedlibressl-portable/portable

Implement EVP_PKEY_CTX_set_rsa_oaep_md()

When trying to build the nextcloud/desktop client, the compilation fails with the following error

[ 28%] Building CXX object src/libsync/CMakeFiles/nextcloudsync.dir/clientsideencryption.cpp.o
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp: In function 'QByteArray OCC::EncryptionHelper::generateRandom(int)':
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp:94:15: error: 'RAND_bytes' was not declared in this scope
     int ret = RAND_bytes(tmp, size);
               ^~~~~~~~~~
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp:94:15: note: suggested alternative: 'RSA_bits'
     int ret = RAND_bytes(tmp, size);
               ^~~~~~~~~~
               RSA_bits
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp: In function 'QByteArray OCC::EncryptionHelper::decryptStringAsymmetric(EVP_PKEY*, const QByteArray&)':
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp:513:9: error: 'EVP_PKEY_CTX_set_rsa_oaep_md' was not declared in this scope
     if (EVP_PKEY_CTX_set_rsa_oaep_md(ctx, EVP_sha256()) <= 0) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp:513:9: note: suggested alternative: 'EVP_PKEY_CTX_set_rsa_mgf1_md'
     if (EVP_PKEY_CTX_set_rsa_oaep_md(ctx, EVP_sha256()) <= 0) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
         EVP_PKEY_CTX_set_rsa_mgf1_md
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp: In function 'QByteArray OCC::EncryptionHelper::encryptStringAsymmetric(EVP_PKEY*, const QByteArray&)':
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp:576:9: error: 'EVP_PKEY_CTX_set_rsa_oaep_md' was not declared in this scope
     if (EVP_PKEY_CTX_set_rsa_oaep_md(ctx, EVP_sha256()) <= 0) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/desktop-2.5.0-beta2/src/libsync/clientsideencryption.cpp:576:9: note: suggested alternative: 'EVP_PKEY_CTX_set_rsa_mgf1_md'
     if (EVP_PKEY_CTX_set_rsa_oaep_md(ctx, EVP_sha256()) <= 0) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
         EVP_PKEY_CTX_set_rsa_mgf1_md
make[2]: *** [src/libsync/CMakeFiles/nextcloudsync.dir/build.make:479: src/libsync/CMakeFiles/nextcloudsync.dir/clientsideencryption.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:208: src/libsync/CMakeFiles/nextcloudsync.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

This is because libressl does not have EVP_PKEY_CTX_set_rsa_oaep_md() implemented.

This is compilation on Void Linux, which supports only LibreSSL.

The issue on the nextcloud bugtracker: https://github.com/nextcloud/desktop/issues/738

closed time in 3 months

codingHahn

issue commentlibressl-portable/portable

Implement EVP_PKEY_CTX_set_rsa_oaep_md()

This will be available in the next LibreSSL portable release, closing.

codingHahn

comment created time in 3 months

issue closedlibressl-portable/portable

Libressl

I'm certainly not a linux specialist. Well, I would like to know how you can install Libressl on Debian 10?

closed time in 3 months

XXLCXX

issue commentlibressl-portable/portable

Libressl

These kinds of questions are best sent to the libressl mailing list - https://www.libressl.org/mail.html. Furthermore, since there has not been any further response here I'm going to close the issue.

XXLCXX

comment created time in 3 months

PR closed libressl-portable/openbsd

Fix compilation for gcc 4.4.7

I've encountered this when cross-compiling for embedded MIPS system using older toolchain. Without this patch i get

Making all in crypto
make[1]: Entering directory '/opt/mips/libressl/crypto'
make  all-am
make[2]: Entering directory '/opt/mips/libressl/crypto'
  CC       asn1/libcrypto_la-a_digest.lo
In file included from ../include/openssl/x509.h:96,
                 from asn1/a_digest.c:67:
../include/openssl/rsa.h:356: error: redefinition of typedef 'RSA_PSS_PARAMS'
../include/openssl/rsa.h:87: note: previous declaration of 'RSA_PSS_PARAMS' was here
Makefile:4865: recipe for target 'asn1/libcrypto_la-a_digest.lo' failed
make[2]: *** [asn1/libcrypto_la-a_digest.lo] Error 1
make[2]: Leaving directory '/opt/mips/libressl/crypto'
Makefile:1488: recipe for target 'all' failed
make[1]: *** [all] Error 2
+2 -2

1 comment

1 changed file

dur-randir

pr closed time in 4 months

pull request commentlibressl-portable/openbsd

Fix compilation for gcc 4.4.7

Thanks - this has already been fixed upstream in https://github.com/openbsd/src/commit/92d0d160839158ca2af15239d5887c62b7641cf8 and will be picked up on next sync.

dur-randir

comment created time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 5bf16986b4030498ba02f5f16a173d42915ceb98

Post-merge fixes and SSA regen.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha bf5b920d73dd11f85bc851c35bc2f8b38a6b5d51

Post-merge fixes and SSA regen.

view details

push time in 4 months

push event4a6f656c/riscv-go

Michael Munday

commit sha 9c2e7e8bed3368fd2b3903b47d686b5a900ebe04

cmd/compile: allow multiple SSA block control values Control values are used to choose which successor of a block is jumped to. Typically a control value takes the form of a 'flags' value that represents the result of a comparison. Some architectures however use a variable in a register as a control value. Up until now we have managed with a single control value per block. However some architectures (e.g. s390x and riscv64) have combined compare-and-branch instructions that take two variables in registers as parameters. To generate these instructions we need to support 2 control values per block. This CL allows up to 2 control values to be used in a block in order to support the addition of compare-and-branch instructions. I have implemented s390x compare-and-branch instructions in a different CL. Passes toolstash-check -all. Results of compilebench: name old time/op new time/op delta Template 208ms ± 1% 209ms ± 1% ~ (p=0.289 n=20+20) Unicode 83.7ms ± 1% 83.3ms ± 3% -0.49% (p=0.017 n=18+18) GoTypes 748ms ± 1% 748ms ± 0% ~ (p=0.460 n=20+18) Compiler 3.47s ± 1% 3.48s ± 1% ~ (p=0.070 n=19+18) SSA 11.5s ± 1% 11.7s ± 1% +1.64% (p=0.000 n=19+18) Flate 130ms ± 1% 130ms ± 1% ~ (p=0.588 n=19+20) GoParser 160ms ± 1% 161ms ± 1% ~ (p=0.211 n=20+20) Reflect 465ms ± 1% 467ms ± 1% +0.42% (p=0.007 n=20+20) Tar 184ms ± 1% 185ms ± 2% ~ (p=0.087 n=18+20) XML 253ms ± 1% 253ms ± 1% ~ (p=0.377 n=20+18) LinkCompiler 769ms ± 2% 774ms ± 2% ~ (p=0.070 n=19+19) ExternalLinkCompiler 3.59s ±11% 3.68s ± 6% ~ (p=0.072 n=20+20) LinkWithoutDebugCompiler 446ms ± 5% 454ms ± 3% +1.79% (p=0.002 n=19+20) StdCmd 26.0s ± 2% 26.0s ± 2% ~ (p=0.799 n=20+20) name old user-time/op new user-time/op delta Template 238ms ± 5% 240ms ± 5% ~ (p=0.142 n=20+20) Unicode 105ms ±11% 106ms ±10% ~ (p=0.512 n=20+20) GoTypes 876ms ± 2% 873ms ± 4% ~ (p=0.647 n=20+19) Compiler 4.17s ± 2% 4.19s ± 1% ~ (p=0.093 n=20+18) SSA 13.9s ± 1% 14.1s ± 1% +1.45% (p=0.000 n=18+18) Flate 145ms ±13% 146ms ± 5% ~ (p=0.851 n=20+18) GoParser 185ms ± 5% 188ms ± 7% ~ (p=0.174 n=20+20) Reflect 534ms ± 3% 538ms ± 2% ~ (p=0.105 n=20+18) Tar 215ms ± 4% 211ms ± 9% ~ (p=0.079 n=19+20) XML 295ms ± 6% 295ms ± 5% ~ (p=0.968 n=20+20) LinkCompiler 832ms ± 4% 837ms ± 7% ~ (p=0.707 n=17+20) ExternalLinkCompiler 1.58s ± 8% 1.60s ± 4% ~ (p=0.296 n=20+19) LinkWithoutDebugCompiler 478ms ±12% 489ms ±10% ~ (p=0.429 n=20+20) name old object-bytes new object-bytes delta Template 559kB ± 0% 559kB ± 0% ~ (all equal) Unicode 216kB ± 0% 216kB ± 0% ~ (all equal) GoTypes 2.03MB ± 0% 2.03MB ± 0% ~ (all equal) Compiler 8.07MB ± 0% 8.07MB ± 0% -0.06% (p=0.000 n=20+20) SSA 27.1MB ± 0% 27.3MB ± 0% +0.89% (p=0.000 n=20+20) Flate 343kB ± 0% 343kB ± 0% ~ (all equal) GoParser 441kB ± 0% 441kB ± 0% ~ (all equal) Reflect 1.36MB ± 0% 1.36MB ± 0% ~ (all equal) Tar 487kB ± 0% 487kB ± 0% ~ (all equal) XML 632kB ± 0% 632kB ± 0% ~ (all equal) name old export-bytes new export-bytes delta Template 18.5kB ± 0% 18.5kB ± 0% ~ (all equal) Unicode 7.92kB ± 0% 7.92kB ± 0% ~ (all equal) GoTypes 35.0kB ± 0% 35.0kB ± 0% ~ (all equal) Compiler 109kB ± 0% 110kB ± 0% +0.72% (p=0.000 n=20+20) SSA 137kB ± 0% 138kB ± 0% +0.58% (p=0.000 n=20+20) Flate 4.89kB ± 0% 4.89kB ± 0% ~ (all equal) GoParser 8.49kB ± 0% 8.49kB ± 0% ~ (all equal) Reflect 11.4kB ± 0% 11.4kB ± 0% ~ (all equal) Tar 10.5kB ± 0% 10.5kB ± 0% ~ (all equal) XML 16.7kB ± 0% 16.7kB ± 0% ~ (all equal) name old text-bytes new text-bytes delta HelloSize 761kB ± 0% 761kB ± 0% ~ (all equal) CmdGoSize 10.8MB ± 0% 10.8MB ± 0% ~ (all equal) name old data-bytes new data-bytes delta HelloSize 10.7kB ± 0% 10.7kB ± 0% ~ (all equal) CmdGoSize 312kB ± 0% 312kB ± 0% ~ (all equal) name old bss-bytes new bss-bytes delta HelloSize 122kB ± 0% 122kB ± 0% ~ (all equal) CmdGoSize 146kB ± 0% 146kB ± 0% ~ (all equal) name old exe-bytes new exe-bytes delta HelloSize 1.13MB ± 0% 1.13MB ± 0% ~ (all equal) CmdGoSize 15.1MB ± 0% 15.1MB ± 0% ~ (all equal) Change-Id: I3cc2f9829a109543d9a68be4a21775d2d3e9801f Reviewed-on: https://go-review.googlesource.com/c/go/+/196557 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Keith Randall <khr@golang.org>

view details

Ruixin(Peter) Bao

commit sha ac2ceba01a503ca0b4fee2de915dad8e97e75f3f

cmd/compile/internal/gc: intrinsify mulWW on s390x SSA rule have already been added previously to intrisinfy Mul/Mul64 on s390x. In this CL, we want to let mulWW use that SSA rule as well. Also removed an extra line for formatting. Benchmarks: QuoRem-18 3.59µs ±15% 2.94µs ± 3% -18.06% (p=0.000 n=8+8) ModSqrt225_Tonelli-18 806µs ± 0% 800µs ± 0% -0.85% (p=0.000 n=7+8) ModSqrt225_3Mod4-18 245µs ± 1% 243µs ± 0% -0.81% (p=0.001 n=8+8) ModSqrt231_Tonelli-18 837µs ± 0% 834µs ± 1% -0.36% (p=0.028 n=8+8) ModSqrt231_5Mod8-18 282µs ± 0% 280µs ± 0% -0.76% (p=0.000 n=8+8) Sqrt-18 45.8µs ± 2% 38.6µs ± 0% -15.63% (p=0.000 n=8+8) IntSqr/1-18 19.1ns ± 0% 13.1ns ± 0% -31.41% (p=0.000 n=8+8) IntSqr/2-18 48.3ns ± 2% 48.2ns ± 0% ~ (p=0.094 n=8+8) IntSqr/3-18 70.5ns ± 1% 70.7ns ± 0% ~ (p=0.428 n=8+8) IntSqr/5-18 119ns ± 1% 118ns ± 0% -1.02% (p=0.000 n=7+8) IntSqr/8-18 215ns ± 1% 215ns ± 0% ~ (p=0.320 n=8+7) IntSqr/10-18 302ns ± 1% 301ns ± 0% ~ (p=0.148 n=8+7) IntSqr/20-18 952ns ± 1% 807ns ± 0% -15.28% (p=0.000 n=8+8) IntSqr/30-18 1.74µs ± 0% 1.53µs ± 0% -11.93% (p=0.000 n=8+8) IntSqr/50-18 3.91µs ± 0% 3.57µs ± 0% -8.64% (p=0.000 n=7+8) IntSqr/80-18 8.66µs ± 1% 8.11µs ± 0% -6.39% (p=0.000 n=8+8) IntSqr/100-18 12.8µs ± 0% 12.2µs ± 0% -5.19% (p=0.000 n=8+8) IntSqr/200-18 46.0µs ± 0% 44.5µs ± 0% -3.06% (p=0.000 n=8+8) IntSqr/300-18 81.4µs ± 0% 78.4µs ± 0% -3.71% (p=0.000 n=7+8) IntSqr/500-18 212µs ± 1% 206µs ± 0% -2.66% (p=0.000 n=8+8) IntSqr/800-18 419µs ± 1% 406µs ± 0% -3.07% (p=0.000 n=8+8) IntSqr/1000-18 635µs ± 0% 621µs ± 0% -2.13% (p=0.000 n=8+8) Change-Id: Ib097857186932b902601ab087cbeff3fc9555c3e Reviewed-on: https://go-review.googlesource.com/c/go/+/197639 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Brad Fitzpatrick

commit sha 0ba0ea172d12901cba79314e26d5713b857c29c4

net/http: document that Request.Host includes HTTP/2 :authority Fixes #34640 Change-Id: I4a6c9414fe369cd5e9915472331c4bd8a21d8b0e Reviewed-on: https://go-review.googlesource.com/c/go/+/198457 Reviewed-by: Filippo Valsorda <filippo@golang.org>

view details

Dan Scales

commit sha 0000f0be0a3d357de56839330b5ccf04f4d593fe

cmd/compile: add an explicit test for compile of arch.ZeroRange Add a test that causes generation of arch.ZeroRange calls of various sizes 8-136 bytes in the compiler. This is to test that ZeroRanges of various sizes actually compile on different architectures, but is not testing runtime correctness (which is hard to do). Updates #34604 Change-Id: I4131eb86669bdfe8d4e36f4ae5c2a7b069abd6c4 Reviewed-on: https://go-review.googlesource.com/c/go/+/198045 Run-TryBot: Dan Scales <danscales@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

W. Trevor King

commit sha 30d7b6400860d87d810a0db3593b28dfb72879f2

crypto/x509: add Detail to Expired errors Because errors like: certificate has expired or is not yet valid make it difficult to distinguish between "certificate has expired" and "my local clock is skewed". Including our idea of the local time makes it easier to identify the clock-skew case, and including the violated certificate constraint saves folks the trouble of looking it up in the target certificate. Change-Id: I52e0e71705ee36f6afde1bb5a47b9b42ed5ead5b GitHub-Last-Rev: db2ca4029c1e0b17363772d9824e3042d5501d48 GitHub-Pull-Request: golang/go#34646 Reviewed-on: https://go-review.googlesource.com/c/go/+/198046 Reviewed-by: Filippo Valsorda <filippo@golang.org> Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Egon Elbre

commit sha e85ffec784b867f016805873eec5dc91eec1c99a

cmd/cgo: optimize cgoCheckPointer call Currently cgoCheckPointer is only used with one optional argument. Using a slice for the optional arguments is quite expensive, hence replace it with a single interface{}. This results in ~30% improvement. When checking struct fields, they quite often end up being without pointers. Check this before calling cgoCheckPointer, which results in additional ~20% improvement. Inline some p == nil checks from cgoIsGoPointer which gives additional ~15% improvement. All of this translates to: name old time/op new time/op delta CgoCall/add-int-32 46.9ns ± 1% 46.6ns ± 1% -0.75% (p=0.000 n=18+20) CgoCall/one-pointer-32 143ns ± 1% 87ns ± 1% -38.96% (p=0.000 n=20+20) CgoCall/eight-pointers-32 767ns ± 0% 327ns ± 1% -57.30% (p=0.000 n=18+16) CgoCall/eight-pointers-nil-32 110ns ± 1% 89ns ± 2% -19.10% (p=0.000 n=19+19) CgoCall/eight-pointers-array-32 5.09µs ± 1% 3.56µs ± 2% -30.09% (p=0.000 n=19+19) CgoCall/eight-pointers-slice-32 3.92µs ± 0% 2.57µs ± 2% -34.48% (p=0.000 n=20+20) Change-Id: I2aa9f5ae8962a9a41a7fb1db0c300893109d0d75 Reviewed-on: https://go-review.googlesource.com/c/go/+/198081 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Michael Hendricks

commit sha f0e940ebc985661f54d31c8d9ba31a553b87041b

net: avoid an infinite loop in LookupAddr If a request for a PTR record returned a response with a non-PTR answer, goLookupPTR would loop forever. Skipping non-PTR answers guarantees progress through the DNS response. Fixes #34660 Change-Id: I56f9d21e5342d07e7d843d253267e93a29707904 Reviewed-on: https://go-review.googlesource.com/c/go/+/198460 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Ariel Mashraki

commit sha debbb1e78d08b201313c83f2d236de90d8444c8e

text/template/parse: speed up nodes printing This CL is a follow up for 198080. Added a private writeTo method to the Node interface, in order to use the same builder for printing all nodes in the tree. Benchmark output against master: benchmark old ns/op new ns/op delta BenchmarkParseLarge-8 24594994 25292054 +2.83% BenchmarkVariableString-8 117 118 +0.85% BenchmarkListString-8 10475 3353 -67.99% benchmark old allocs new allocs delta BenchmarkVariableString-8 3 3 +0.00% BenchmarkListString-8 149 31 -79.19% benchmark old bytes new bytes delta BenchmarkVariableString-8 72 72 +0.00% BenchmarkListString-8 5698 1608 -71.78% Change-Id: I2b1cf07cda65c1b80083fb99671289423700feba Reviewed-on: https://go-review.googlesource.com/c/go/+/198278 Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Matthew Dempsky

commit sha 64e598f7837566802085ba9bb684e82ccbcf7ca6

runtime: use efaceOf where applicable Prepared with gofmt -r. Change-Id: Ifea325c209d800b5692d318955930b10debb548b Reviewed-on: https://go-review.googlesource.com/c/go/+/198494 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Robert Griesemer

commit sha 27fc32ff01cc699e160890546816bd99d6c57823

cmd/compile: better error message for language version errors Fixes #33753. Updates #31747. Change-Id: Icc42b23405ead4f7f17b0ffa3611405454b6b271 Reviewed-on: https://go-review.googlesource.com/c/go/+/198491 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Utkarsh Dixit

commit sha 3d437ac6bc655c7c1a3e2811a9d73fb64e342de1

C: update email address for utkarsh-extc Change-Id: If657dab2df19d3b0c2ff9869a64e3a97446646ac GitHub-Last-Rev: b921b01cf4e5bcbbc65fb1fb0b5cd836bda73596 GitHub-Pull-Request: golang/go#34637 Reviewed-on: https://go-review.googlesource.com/c/go/+/198041 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>

view details

Tobias Klauser

commit sha 64785bf96c5942e5e2a3d326b48eae4e7b189e03

cmd/go/internal/modfetch: update TestCodeRepo for gopkg.in/yaml.v2 again Update the expected data to fix the longtest builder. Updates #28856 Change-Id: I7fb6ee72e8469d974561b4b4057f40142f5b3654 Reviewed-on: https://go-review.googlesource.com/c/go/+/198557 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>

view details

Jeremy Faller

commit sha 9e6a84f2b126cfe15eaa57b86b0d074a018dbef4

cmd/compile: walk the progs to generate debug_lines Rather than use the pcln tables, walk progs while generating debug_lines. This code slightly increases the number of is_stmt toggles in the debug information due to a previous bug in how the pcline walking worked. (Previous versions of the line walking code wouldn't return the old_value, instead returning 0. This behavior might lose is_stmt toggles in the line table.) We suspected there would be a speedup with this change, but benchmarking hasn't shown this to be true (but has been noisy enough to not really show any large differences either way). These benchmarks are comparing non-prog walking code with this prog-walking code: name old time/op new time/op delta Template 321ms ± 4% 316ms ± 3% ~ (p=0.165 n=10+10) Unicode 146ms ± 5% 142ms ± 4% ~ (p=0.063 n=10+10) GoTypes 1.06s ± 2% 1.07s ± 2% ~ (p=0.280 n=10+10) Compiler 4.07s ± 1% 4.06s ± 1% ~ (p=0.549 n=10+9) SSA 12.6s ± 2% 12.7s ± 2% +1.27% (p=0.019 n=10+10) Flate 201ms ± 7% 202ms ± 4% ~ (p=0.436 n=10+10) GoParser 248ms ± 4% 250ms ± 2% ~ (p=0.356 n=9+10) Reflect 679ms ± 5% 678ms ± 4% ~ (p=0.971 n=10+10) Tar 281ms ± 2% 283ms ± 3% ~ (p=0.222 n=9+9) XML 381ms ± 3% 384ms ± 5% ~ (p=0.393 n=10+10) LinkCompiler 1.08s ± 2% 1.10s ± 2% +1.89% (p=0.009 n=10+10) ExternalLinkCompiler 2.23s ± 4% 2.23s ± 1% ~ (p=1.000 n=10+8) LinkWithoutDebugCompiler 654ms ± 4% 673ms ± 4% +2.94% (p=0.019 n=10+10) StdCmd 13.6s ± 2% 13.9s ± 1% +2.00% (p=0.000 n=10+10) name old user-time/op new user-time/op delta Template 582ms ±11% 575ms ±14% ~ (p=0.631 n=10+10) Unicode 431ms ±24% 390ms ±38% ~ (p=0.315 n=10+10) GoTypes 2.47s ±11% 2.51s ± 4% ~ (p=0.280 n=10+10) Compiler 9.09s ± 3% 9.04s ± 5% ~ (p=0.684 n=10+10) SSA 25.8s ± 4% 26.0s ± 3% ~ (p=0.529 n=10+10) Flate 318ms ±14% 322ms ±13% ~ (p=0.912 n=10+10) GoParser 386ms ± 6% 386ms ± 5% ~ (p=0.888 n=9+8) Reflect 1.42s ±20% 1.32s ±24% ~ (p=0.393 n=10+10) Tar 476ms ±19% 471ms ±25% ~ (p=1.000 n=10+10) XML 681ms ±25% 745ms ±21% ~ (p=0.143 n=10+10) LinkCompiler 1.75s ±13% 1.86s ±12% ~ (p=0.075 n=10+10) ExternalLinkCompiler 2.98s ±18% 3.41s ±13% +14.48% (p=0.003 n=10+10) LinkWithoutDebugCompiler 1.05s ±12% 1.08s ±16% ~ (p=0.739 n=10+10) name old alloc/op new alloc/op delta Template 36.4MB ± 0% 36.4MB ± 0% -0.11% (p=0.000 n=10+10) Unicode 28.6MB ± 0% 28.5MB ± 0% -0.06% (p=0.029 n=10+10) GoTypes 121MB ± 0% 121MB ± 0% -0.09% (p=0.000 n=9+9) Compiler 548MB ± 0% 547MB ± 0% -0.10% (p=0.000 n=10+10) SSA 1.87GB ± 0% 1.87GB ± 0% -0.13% (p=0.000 n=10+10) Flate 23.0MB ± 0% 22.9MB ± 0% -0.09% (p=0.000 n=9+10) GoParser 27.9MB ± 0% 27.8MB ± 0% -0.12% (p=0.000 n=10+10) Reflect 77.7MB ± 0% 77.6MB ± 0% -0.12% (p=0.000 n=8+10) Tar 34.5MB ± 0% 34.5MB ± 0% -0.07% (p=0.003 n=10+10) XML 44.4MB ± 0% 44.4MB ± 0% -0.07% (p=0.000 n=10+10) LinkCompiler 236MB ± 0% 240MB ± 0% +1.72% (p=0.000 n=10+10) ExternalLinkCompiler 246MB ± 0% 254MB ± 0% +3.02% (p=0.000 n=10+10) LinkWithoutDebugCompiler 159MB ± 0% 164MB ± 0% +3.35% (p=0.000 n=10+10) name old allocs/op new allocs/op delta Template 372k ± 0% 371k ± 0% -0.23% (p=0.000 n=10+10) Unicode 340k ± 0% 340k ± 0% -0.05% (p=0.000 n=10+10) GoTypes 1.33M ± 0% 1.32M ± 0% -0.20% (p=0.000 n=9+10) Compiler 5.37M ± 0% 5.36M ± 0% -0.17% (p=0.000 n=10+10) SSA 17.9M ± 0% 17.9M ± 0% -0.15% (p=0.000 n=10+10) Flate 234k ± 0% 233k ± 0% -0.24% (p=0.000 n=9+10) GoParser 309k ± 0% 309k ± 0% -0.21% (p=0.000 n=10+10) Reflect 969k ± 0% 966k ± 0% -0.30% (p=0.000 n=9+10) Tar 348k ± 0% 347k ± 0% -0.22% (p=0.000 n=10+9) XML 426k ± 0% 425k ± 0% -0.15% (p=0.000 n=9+10) LinkCompiler 638k ± 0% 637k ± 0% -0.07% (p=0.000 n=10+10) ExternalLinkCompiler 1.69M ± 0% 1.69M ± 0% -0.05% (p=0.000 n=10+10) LinkWithoutDebugCompiler 222k ± 0% 221k ± 0% -0.03% (p=0.007 n=10+9) name old object-bytes new object-bytes delta Template 559kB ± 0% 560kB ± 0% +0.23% (p=0.000 n=10+10) Unicode 216kB ± 0% 216kB ± 0% +0.01% (p=0.000 n=10+10) GoTypes 2.03MB ± 0% 2.04MB ± 0% +0.31% (p=0.000 n=10+10) Compiler 8.07MB ± 0% 8.10MB ± 0% +0.35% (p=0.000 n=10+10) SSA 27.1MB ± 0% 27.3MB ± 0% +0.72% (p=0.000 n=10+10) Flate 343kB ± 0% 344kB ± 0% +0.22% (p=0.000 n=10+10) GoParser 441kB ± 0% 442kB ± 0% +0.34% (p=0.000 n=10+10) Reflect 1.36MB ± 0% 1.36MB ± 0% +0.23% (p=0.000 n=10+10) Tar 487kB ± 0% 488kB ± 0% +0.21% (p=0.000 n=10+10) XML 632kB ± 0% 634kB ± 0% +0.35% (p=0.000 n=10+10) name old export-bytes new export-bytes delta Template 18.5kB ± 0% 18.5kB ± 0% ~ (all equal) Unicode 7.92kB ± 0% 7.92kB ± 0% ~ (all equal) GoTypes 35.0kB ± 0% 35.0kB ± 0% ~ (all equal) Compiler 109kB ± 0% 109kB ± 0% +0.00% (p=0.000 n=10+10) SSA 137kB ± 0% 137kB ± 0% +0.00% (p=0.000 n=10+10) Flate 4.89kB ± 0% 4.89kB ± 0% ~ (all equal) GoParser 8.49kB ± 0% 8.49kB ± 0% ~ (all equal) Reflect 11.4kB ± 0% 11.4kB ± 0% ~ (all equal) Tar 10.5kB ± 0% 10.5kB ± 0% ~ (all equal) XML 16.7kB ± 0% 16.7kB ± 0% ~ (all equal) name old text-bytes new text-bytes delta HelloSize 760kB ± 0% 760kB ± 0% ~ (all equal) CmdGoSize 10.8MB ± 0% 10.8MB ± 0% ~ (all equal) name old data-bytes new data-bytes delta HelloSize 10.7kB ± 0% 10.7kB ± 0% ~ (all equal) CmdGoSize 312kB ± 0% 312kB ± 0% ~ (all equal) name old bss-bytes new bss-bytes delta HelloSize 122kB ± 0% 122kB ± 0% ~ (all equal) CmdGoSize 146kB ± 0% 146kB ± 0% ~ (all equal) name old exe-bytes new exe-bytes delta HelloSize 1.13MB ± 0% 1.13MB ± 0% ~ (all equal) CmdGoSize 15.0MB ± 0% 15.1MB ± 0% +0.22% (p=0.000 n=10+10) Change-Id: If6e0982cd1398062a88e6c0c7513e141f9503531 Reviewed-on: https://go-review.googlesource.com/c/go/+/196661 Run-TryBot: Jeremy Faller <jeremy@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>

view details

Jason A. Donenfeld

commit sha 6b85fa80519615ae5fd58154277b47d77e5cf08b

runtime: iterate ms via allm linked list to avoid race It's pointless to reach all ms via allgs, and doing so introduces a race, since the m member of a g can change underneath it. Instead iterate directly through the allm linked list. Updates: #31528 Updates: #34130 Change-Id: I34b88402b44339b0a5b4cd76eafd0ce6e43e2be1 Reviewed-on: https://go-review.googlesource.com/c/go/+/198417 Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Matthew Dempsky

commit sha c33d45a898ab1d966faba33d18acdffefb0fae0d

cmd/compile: don't statically copy string-typed variables During package initialization, the compiler tries to optimize: var A = "foo" var B = A into var A = "foo" var B = "foo" so that we can statically initialize both A and B and skip emitting dynamic initialization code to assign "B = A". However, this isn't safe in the presence of cmd/link's -X flag, which might overwrite an initialized string-typed variable at link time. In particular, if cmd/link changes A's static initialization, it won't know it also needs to change B's static initialization. To address this, this CL disables this optimization for string-typed variables. Fixes #34675. Change-Id: I1c18f3b855f6d7114aeb39f96aaaf1b452b88236 Reviewed-on: https://go-review.googlesource.com/c/go/+/198657 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Bryan C. Mills

commit sha 5fe3b49a0540aacf685273a43b0fb31b44cf5dd6

Revert "cmd/compile: walk the progs to generate debug_lines" This reverts CL 196661. Reason for revert: broke TestGdb* tests on mips64le, ppc64le, and s390x builders. Change-Id: I3b5c97c840819a0d407b943f7cf7e2d97f06042d Reviewed-on: https://go-review.googlesource.com/c/go/+/198697 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Meng Zhuo

commit sha 2bf7a925712dca5646f9215cda17c5b61eea14ce

cmd/asm: add VLD[1-4]R vector instructions on arm64 This change adds VLD1R, VLD2R, VLD3R, VLD4R Change-Id: Ie19e9ae02fdfc94b9344acde8c9938849efb0bf0 Reviewed-on: https://go-review.googlesource.com/c/go/+/181697 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Meng Zhuo

commit sha a1b1ba7daf4d612cb08e98567d809a6f202498ce

internal/bytealg: (re)adding mips64x compare implementation The original CL of mips64x compare function has been reverted due to wrong implement for little endian. Original CL: https://go-review.googlesource.com/c/go/+/196837 name old time/op new time/op delta BytesCompare/1 28.9ns ± 4% 22.1ns ± 0% -23.60% (p=0.000 n=9+8) BytesCompare/2 34.6ns ± 0% 23.1ns ± 0% -33.25% (p=0.000 n=8+10) BytesCompare/4 54.6ns ± 0% 40.8ns ± 0% -25.27% (p=0.000 n=8+8) BytesCompare/8 73.9ns ± 0% 49.1ns ± 0% -33.56% (p=0.000 n=8+8) BytesCompare/16 113ns ± 0% 24ns ± 0% -79.20% (p=0.000 n=9+9) BytesCompare/32 190ns ± 0% 26ns ± 0% -86.53% (p=0.000 n=10+10) BytesCompare/64 345ns ± 0% 44ns ± 0% -87.19% (p=0.000 n=10+8) BytesCompare/128 654ns ± 0% 52ns ± 0% -91.97% (p=0.000 n=9+8) BytesCompare/256 1.27µs ± 0% 0.07µs ± 0% -94.14% (p=0.001 n=8+9) BytesCompare/512 2.51µs ± 0% 0.12µs ± 0% -95.26% (p=0.000 n=9+10) BytesCompare/1024 4.99µs ± 0% 0.21µs ± 0% -95.85% (p=0.000 n=8+10) BytesCompare/2048 9.94µs ± 0% 0.38µs ± 0% -96.14% (p=0.000 n=8+8) CompareBytesEqual 105ns ± 0% 64ns ± 0% -39.43% (p=0.000 n=10+9) CompareBytesToNil 34.8ns ± 1% 38.6ns ± 3% +11.01% (p=0.000 n=10+10) CompareBytesEmpty 33.6ns ± 3% 36.6ns ± 0% +8.77% (p=0.000 n=10+8) CompareBytesIdentical 29.7ns ± 0% 40.5ns ± 1% +36.45% (p=0.000 n=10+8) CompareBytesSameLength 69.1ns ± 0% 51.8ns ± 0% -25.04% (p=0.000 n=10+9) CompareBytesDifferentLength 69.8ns ± 0% 52.5ns ± 0% -24.79% (p=0.000 n=10+8) CompareBytesBigUnaligned 5.15ms ± 0% 2.19ms ± 0% -57.59% (p=0.000 n=9+9) CompareBytesBig 5.28ms ± 0% 0.28ms ± 0% -94.64% (p=0.000 n=8+8) CompareBytesBigIdentical 29.7ns ± 0% 36.9ns ± 2% +24.11% (p=0.000 n=8+10) name old speed new speed delta CompareBytesBigUnaligned 204MB/s ± 0% 480MB/s ± 0% +135.77% (p=0.000 n=9+9) CompareBytesBig 198MB/s ± 0% 3704MB/s ± 0% +1765.97% (p=0.000 n=8+8) CompareBytesBigIdentical 35.3TB/s ± 0% 28.4TB/s ± 2% -19.44% (p=0.000 n=8+10) Fixes #34549 Change-Id: I2ef29f13cdd4229745ac2d018bb53c76f2ff1209 Reviewed-on: https://go-review.googlesource.com/c/go/+/197557 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Matthew Dempsky

commit sha 3ad350820df8217b4d05c56923e533a196bace27

cmd/compile: change size diagnostic to use benchmark format Makes it easier to run go build -a -gcflags=-d=export std |& grep ^BenchmarkExportSize and get useful output for feeding into benchstat. Change-Id: I2b52e8f5ff33b7ccb6c25b18e464513344bd9ad9 Reviewed-on: https://go-review.googlesource.com/c/go/+/198698 Reviewed-by: Robert Griesemer <gri@golang.org>

view details

David Chase

commit sha f7f85bdc2c4a8a472a271a7d2333557ad6143eeb

cmd/compile: refine statement marking in numberlines 1) An empty block is treated as not-a-statement unless its line differs from at least one of its predecessors (it might make sense to rearrange branches in predecessors, but that is a different issue). 2) When iterating forward to choose a "good" place for a statement, actually check that the chosen place is in fact good. 3) Refactor same line and same file into methods on XPos and Pos. This reduces the failure rate of ssa/stmtlines_test by 7-ish lines. (And interacts favorably with later debugging CLs.) Change-Id: Idb7cca7068f6fc9fbfdbe25bc0da15bcfc7b9d4a Reviewed-on: https://go-review.googlesource.com/c/go/+/188217 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

push time in 4 months

push event4a6f656c/riscv-go

Elias Naur

commit sha 78d99491038143de569c3b7706e904ed16c37793

syscall: disable sysctl on iOS Sysctl is blocked by the App Store submission checks. Fixes #34133 Change-Id: I9e83cf87e942d6249e9bb67a95dba230e44badd9 Reviewed-on: https://go-review.googlesource.com/c/go/+/193843 Run-TryBot: Elias Naur <mail@eliasnaur.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>

view details

Elias Naur

commit sha a5025fdcde3f4f8442052eac902217f8c55ec3e4

log/syslog: skip unsupported tests on iOS CL 193843 disabled sysctl on iOS. This change disables two tests that rely on sysctl. Updates #34133 Change-Id: I7c569a1992a50ad6027a294c1fd535cccddcfc4e Reviewed-on: https://go-review.googlesource.com/c/go/+/193844 Run-TryBot: Elias Naur <mail@eliasnaur.com> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>

view details

smasher164

commit sha 141b09726dcfc1fa9f04ee9e08e6fa4af00fa57b

net/http: make copyValues append instead of calling Add This results in a performance boost: name old time/op new time/op delta CopyValues-4 3.46µs ± 3% 1.53µs ± 3% -55.85% (p=0.000 n=18+19) name old alloc/op new alloc/op delta CopyValues-4 1.52kB ± 0% 0.74kB ± 0% -51.58% (p=0.000 n=20+20) name old allocs/op new allocs/op delta CopyValues-4 24.0 ± 0% 11.0 ± 0% -54.17% (p=0.000 n=20+20) Fixes #33744. Change-Id: Ibc653fb076a9a6aaa775fcc9ca720fb90e68cf96 Reviewed-on: https://go-review.googlesource.com/c/go/+/191057 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Elias Naur

commit sha 2711fababd21c471dc0c64b33972c74a7c4eee20

net,os: disable more sysctl tests on iOS Updates #34133 Change-Id: I27c75993176cf876f2d80f70982528258c509b68 Reviewed-on: https://go-review.googlesource.com/c/go/+/193845 Run-TryBot: Elias Naur <mail@eliasnaur.com> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Elias Naur

commit sha 83a78eb91118768d5bb3b536a274a215f5141023

syscall: re-generate zsyscall_darwin_arm*.s I missed that in CL 193843. Updates #34133 Change-Id: I70b420f022cc7f8289f07375bfc2ade20cf3ffe7 Reviewed-on: https://go-review.googlesource.com/c/go/+/193846 Run-TryBot: Elias Naur <mail@eliasnaur.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Ainar Garipov

commit sha 0efbd1015774a2d894138519f1efcf7704bb2d95

all: fix typos Use the following (suboptimal) script to obtain a list of possible typos: #!/usr/bin/env sh set -x git ls-files |\ grep -e '\.\(c\|cc\|go\)$' |\ xargs -n 1\ awk\ '/\/\// { gsub(/.*\/\//, ""); print; } /\/\*/, /\*\// { gsub(/.*\/\*/, ""); gsub(/\*\/.*/, ""); }' |\ hunspell -d en_US -l |\ grep '^[[:upper:]]\{0,1\}[[:lower:]]\{1,\}$' |\ grep -v -e '^.\{1,4\}$' -e '^.\{16,\}$' |\ sort -f |\ uniq -c |\ awk '$1 == 1 { print $2; }' Then, go through the results manually and fix the most obvious typos in the non-vendored code. Change-Id: I3cb5830a176850e1a0584b8a40b47bde7b260eae Reviewed-on: https://go-review.googlesource.com/c/go/+/193848 Reviewed-by: Robert Griesemer <gri@golang.org>

view details

Keisuke Kishimoto

commit sha 844e642392e1586e6631aafeda5007f9f0f55145

syscall: minor cleanup of duplicated code Call the Nano methods of Timespec and Timeval in TimespecToNsec and TimevalToNsec respectively, instead of duplicating the implementation. Change-Id: I17551ea54c59c1e45ce472e029c625093a67251a GitHub-Last-Rev: fecf43d163f4ebe72e8bb1d3854d4ad962c08b03 GitHub-Pull-Request: golang/go#33390 Reviewed-on: https://go-review.googlesource.com/c/go/+/188397 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Martin Möhrmann

commit sha 9ec7074a946b7c2812a1a044e84276a36f46d14d

compile: prefer an AND instead of SHR+SHL instructions On modern 64bit CPUs a SHR, SHL or AND instruction take 1 cycle to execute. A pair of shifts that operate on the same register will take 2 cycles and needs to wait for the input register value to be available. Large constants used to mask the high bits of a register with an AND instruction can not be encoded as an immediate in the AND instruction on amd64 and therefore need to be loaded into a register with a MOV instruction. However that MOV instruction is not dependent on the output register and on many CPUs does not compete with the AND or shift instructions for execution ports. Using a pair of shifts to mask high bits instead of an AND to mask high bits of a register has a shorter encoding and uses one less general purpose register but is slower due to taking one clock cycle longer if there is no register pressure that would make the AND variant need to generate a spill. For example the instructions emitted for (x & 1 << 63) before this CL are: 48c1ea3f SHRQ $0x3f, DX 48c1e23f SHLQ $0x3f, DX after this CL the instructions are the same as GCC and LLVM use: 48b80000000000000080 MOVQ $0x8000000000000000, AX 4821d0 ANDQ DX, AX Some platforms such as arm64 already have SSA optimization rules to fuse two shift instructions back into an AND. Removing the general rule to rewrite AND to SHR+SHL speeds up this benchmark: var GlobalU uint func BenchmarkAndHighBits(b *testing.B) { x := uint(0) for i := 0; i < b.N; i++ { x &= 1 << 63 } GlobalU = x } amd64/darwin on Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz: name old time/op new time/op delta AndHighBits-4 0.61ns ± 6% 0.42ns ± 6% -31.42% (p=0.000 n=25+25): Updates #33826 Updates #32781 Change-Id: I862d3587446410c447b9a7265196b57f85358633 Reviewed-on: https://go-review.googlesource.com/c/go/+/191780 Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Martin Möhrmann

commit sha 5bb59b6d1645144dade71e8d19ccf39338788a0f

Revert "compile: prefer an AND instead of SHR+SHL instructions" This reverts commit 9ec7074a946b7c2812a1a044e84276a36f46d14d. Reason for revert: broke s390x (copysign, abs) and arm64 (bitfield) tests. Change-Id: I16c1b389c062e8c4aa5de079f1d46c9b25b0db52 Reviewed-on: https://go-review.googlesource.com/c/go/+/193850 Run-TryBot: Martin Möhrmann <moehrmann@google.com> Reviewed-by: Agniva De Sarker <agniva.quicksilver@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

smasher164

commit sha b12b6723007bea5a5837a21d7c4fd1a0cc9f0c67

A+C: change email address for Akhil Indurti Change-Id: I27ca0d71cdc7b13388556aa7c1987320b6b41849 Reviewed-on: https://go-review.googlesource.com/c/go/+/194178 Reviewed-by: Matt Layher <mdlayher@gmail.com>

view details

Eli Bendersky

commit sha 28f8f55bd29f997fc814782f161ae09520955a8d

encoding/json: clarify Unmarshal behavior for map keys This is a documentation-only change Fixes #33298 Change-Id: I816058a872b57dc868dff11887214d9de92d9342 Reviewed-on: https://go-review.googlesource.com/c/go/+/188821 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Ainar Garipov

commit sha 51c8d969bd8a9992002a11373f91564c326e6d77

src: gofmt -s Change-Id: I56d7eeaf777ac30886ee77428ca1ac72b77fbf7d Reviewed-on: https://go-review.googlesource.com/c/go/+/193849 Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Matthew Dempsky

commit sha e710a1fb2e36b645b103d9f72d47837171336279

cmd/compile: report more precise errors about untyped constants Previously, we used a single "untyped number" type for all untyped numeric constants. This led to vague error messages like "string(1.0)" reporting that "1 (type untyped number)" can't be converted to string, even though "string(1)" is valid. This CL makes cmd/compile more like go/types by utilizing types.Ideal{int,rune,float,complex} instead of types.Types[TIDEAL], and keeping n.Type in sync with n.Val().Ctype() during constant folding. Thanks to K Heller for looking into this issue, and for the included test case. Fixes #21979. Change-Id: Ibfea88c05704bc3c0a502a455d018a375589754d Reviewed-on: https://go-review.googlesource.com/c/go/+/194019 Reviewed-by: Robert Griesemer <gri@golang.org>

view details

Eric Rutherford

commit sha 5e907e38b8e660aa258b34f3c022d5b697dad6f1

path: improve documentation to call out cases where Clean is called Rewording the comments for Join to do a better job of calling out when Clean is called. Also clarifing other portions of the comment. Fixes #29875 Change-Id: Ied43983bb10a97922898d28af133de0930224496 Reviewed-on: https://go-review.googlesource.com/c/go/+/194339 Reviewed-by: Rob Pike <r@golang.org>

view details

sergeilem

commit sha a3a1bdff79602c99d2e0cc9b07957392ef10fded

encoding/asn1: handle ASN1's string type BMPString This code enables handling of ASN1's string type BMPString, used in some digital signatures. Parsing code taken from golang.org/x/crypto/pkcs12. Change-Id: Ibeae9cf4d8ae7c18f8b5420ad9244a16e117ff6b GitHub-Last-Rev: 694525351411f2ec3982a6bf4ac33be892ce1b12 GitHub-Pull-Request: golang/go#26690 Reviewed-on: https://go-review.googlesource.com/c/go/+/126624 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org>

view details

Matthew Dempsky

commit sha a2cf16d42cd4feb1c25c58097ab05d786119f15e

cmd/compile: remove vestigial TDDDFIELD Change-Id: I4a582f8efcf413665a7513c163334fa8d978a7e9 Reviewed-on: https://go-review.googlesource.com/c/go/+/194437 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Robert Griesemer

commit sha cdd2c265cc132a15e20298fbb083a70d7f3b495d

cmd/compile/internal/scanner: report at most one lexical error per number literal Leave reporting of multiple errors for strings alone for now; we probably want to see all incorrect escape sequences in runes/strings independent of other errors. Fixes #33961. Change-Id: Id722e95f802687963eec647d1d1841bd6ed17d35 Reviewed-on: https://go-review.googlesource.com/c/go/+/192499 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Romain Baugue

commit sha b6ec56bc26a89e9733390dd41fade5baace5a641

encoding/json: don't indirect pointers when decoding null The indirect method checked the type of the child when indirecting a pointer. If the current value is a pointer and we are decoding null, we can skip this entirely and return early, avoiding the whole descent. Fixes #31776 Change-Id: Ib8b2a2357572c41f56fceac59b5a858980f3f65e Reviewed-on: https://go-review.googlesource.com/c/go/+/174699 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc>

view details

Agniva De Sarker

commit sha b38be35e4c79fd3c5b9450e95cf092eaac094405

cmd/compile: optimize const rotates for wasm architecture This removes the unnecessary code to check whether the shift is within limits or not when the shift amount is a constant. The rules hit 23034 times when building std cmd. grep -E "Wasm.rules:(106|107|121|122|139|140)" rulelog | wc -l 23034 Reduces the size of pkg/js_wasm by 132 bytes. Change-Id: I64a2b8faca08c3b5039d6a027d4676130d2db18d Reviewed-on: https://go-review.googlesource.com/c/go/+/194239 Run-TryBot: Agniva De Sarker <agniva.quicksilver@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Richard Musiol <neelance@gmail.com>

view details

Michael Munday

commit sha 5c5f217b635d5bcbbda482f92264265eb61c13f2

cmd/compile: improve s390x sign/zero extension removal This CL gets rid of the MOVDreg and MOVDnop SSA operations on s390x. They were originally inserted to help avoid situations where a sign/zero extension was elided but a spill invalidated the optimization. It's not really clear we need to do this though (amd64 doesn't have these ops for example) so long as we are careful when removing sign/zero extensions. Also, the MOVDreg technique doesn't work if the register is spilled before the MOVDreg op (I haven't seen that in practice). Removing these ops reduces the complexity of the rules and also allows us to unblock optimizations. For example, the compiler can now merge the loads in binary.{Big,Little}Endian.PutUint16 which it wasn't able to do before. This CL reduces the size of the .text section in the go tool by about 4.7KB (0.09%). Change-Id: Icaddae7f2e4f9b2debb6fabae845adb3f73b41db Reviewed-on: https://go-review.googlesource.com/c/go/+/173897 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 1c193b20a62a369a1068331fe5d6ceb9251f0893

Fixes for Go merge.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha e507fe4991236b4209746a055ae51815fa5a794b

Fixes for Go merge.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 0a8e8a029191a1bf7c3a1d5a495ee5448940388b

Fixes for Go merge.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 23ce891f0f6156644480e34e432f2ca12589f7d3

Merge Go up to 274f4cef.

view details

push time in 4 months

Pull request review commentniemeyer/gopkg

cache godoc package data

 func renderPackagePage(resp http.ResponseWriter, req *http.Request, repo *Repo) 				gopkgPath := repo.GopkgPath() 				for _, result := range searchResults.Results { 					if result.Path == gopkgPath {-						dataMutex.Lock()-						data.Synopsis = result.Synopsis-						dataMutex.Unlock()+						synopsis <- result.Synopsis 						break 					} 				} 			} 		}-		gotResp <- true 	}() +	wantResps := 2

You could do this below as part of the for loop:

for r, wantResps := 0, 2; r < wantResps; {

jetpackdanger

comment created time in 4 months

Pull request review commentniemeyer/gopkg

cache godoc package data

 type packageData struct { 	GitTreeName    string } +type cacheEntry struct {+	t  time.Time

I'd be inclined to call this timestamp or ts.

jetpackdanger

comment created time in 4 months

Pull request review commentniemeyer/gopkg

cache godoc package data

 func renderPackagePage(resp http.ResponseWriter, req *http.Request, repo *Repo) 				gopkgPath := repo.GopkgPath() 				for _, result := range searchResults.Results { 					if result.Path == gopkgPath {-						dataMutex.Lock()-						data.Synopsis = result.Synopsis-						dataMutex.Unlock()+						synopsis <- result.Synopsis 						break 					} 				} 			} 		}-		gotResp <- true 	}() +	wantResps := 2

You could do this below as part of the for loop:

for r, wantResps := 0, 2; r < wantResps; {

jetpackdanger

comment created time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 5e78c0d0302fb15418b1b8ea6c7243f0473c06e4

Post-merge fixes and SSA regen.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha eb7ab1823abad64788264710577be19c85ab5fd5

Post-merge fixes and SSA regen.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 05a78762a6a75c13d974aefacc866a4ea345afc7

Post-merge fixes and SSA regen.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 8f39852b30c6fe11183cd1bdee4e0853de259861

Post-merge fixes.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 661141f3baad104fca95c77c6ecb303358a76acd

Post-merge fixes.

view details

push time in 4 months

push event4a6f656c/riscv-go

Joel Sing

commit sha bec18f67dc1cd04522a5b477602a335af6abb38e

Fix function names post-merge.

view details

push time in 4 months

push event4a6f656c/riscv-go

Austin Clements

commit sha 142c002ee714c871a5644557f8320171c8569a1f

misc/wasm: fix argv/envp layout The wasm_exec.js wrapper tries to set up the argv and envp following the UNIX conventions, but doesn't get it quite right, which can cause runtime.goenv to crash if you get unlucky. The main problem was that the envp array wasn't terminated with a nil pointer, so the runtime didn't know when to stop reading the array. This CL adds that nil pointer to the end of the envp array. The other problem was harmless, but confusing. In the UNIX convention, the argv array consists of argc pointers followed by a nil pointer, followed by the envp array. However, wasm_exec.js put the environment variable count between the two pointer arrays rather than a nil pointer. The runtime never looks at this slot, so it didn't matter, but the break from convention left Cherry and I trying to debug why it *wasn't* losing any environment variables before we realized that that layouts happened to be close enough to work. This CL switches to the UNIX convention of simply terminating the argv array with a nil pointer. Change-Id: Ic9a4cd9eabb5dfa599a809b960f9e579b9f1f4db Reviewed-on: https://go-review.googlesource.com/c/go/+/193417 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Richard Musiol <neelance@gmail.com>

view details

Cuong Manh Le

commit sha 75da700d0ae307ebfd4a3493b53e8f361c16f481

cmd/compile: consistently use strlit to access constants string values Passes toolstash-check. Change-Id: Ieaef20b7649787727b69469f93ffc942022bc079 Reviewed-on: https://go-review.googlesource.com/c/go/+/195198 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Cherry Zhang

commit sha d9b8ffa51cf7cafe18107ec53a4ec3ceff15ce46

test/codegen: document -all_codegen option in README It is useful to know about the -all_codegen option for running codegen tests for all platforms. I was puzzling that some codegen test was not failing on my local machine or on trybot, until I found this option. Change-Id: I062cf4d73f6a6c9ebc2258195779d2dab21bc36d Reviewed-on: https://go-review.googlesource.com/c/go/+/192101 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Lucas Bremgartner

commit sha 49e7c7672d6d065435f7058df90b082cb552c7dd

encoding/json: make Number with the ,string option marshal with quotes Add quotes when marshaling a json.Number with the string option set via a struct tag. This ensures that the resulting json can be unmarshaled into the source struct without error. Fixes #34268 Change-Id: Ide167d9dec77019554870b5957b37dc258119d81 GitHub-Last-Rev: dde81b71208be01c253bb87dbb6f81ac6e0785be GitHub-Pull-Request: golang/go#34269 Reviewed-on: https://go-review.googlesource.com/c/go/+/195043 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Lynn Boger

commit sha 782228a73f4c6c8019ab5763e749d5ef98905e5f

doc: update ppc64 section for asm.html Update the section in asm.html related to PPC64. Remove the line that says it is in an experimental state, add a link to the new doc.go file that has all the detail for the Go assembler for PPC64. Change-Id: I45d9891669e01d94e2721be576d572e02cd9d2db Reviewed-on: https://go-review.googlesource.com/c/go/+/183840 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> Reviewed-by: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Maya Rashish

commit sha 531f1d50cc15c95822d189d039a9bfe47ff70099

syscall: avoid zeroing unused syscall arguments Zeroing unused registers is not required. Removing it makes the code very slightly smaller and very slightly faster. Change-Id: I1ec17b497db971ca8a3641e3e94c063571419f27 GitHub-Last-Rev: f721bb263637717e8ff9fd2c34148b5b2762e8c4 GitHub-Pull-Request: golang/go#31596 Reviewed-on: https://go-review.googlesource.com/c/go/+/173160 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Ian Lance Taylor

commit sha 4ae25ff1405f9d6b25f40141f42196e8f142f207

os/signal: split up sleeps waiting for signal Try to deflake TestNohup. The kernel will deliver a signal as a thread returns from a syscall. If the only active thread is sleeping, and the system is busy, the kernel may not get around to waking up a thread to catch the signal. Try splitting up the sleep, to give the kernel another change to deliver. I don't know if this will help, but it seems worth a try. Fixes #33174 Change-Id: I34b3240af706501ab8538cb25c4846d1d30d7691 Reviewed-on: https://go-review.googlesource.com/c/go/+/194879 Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Matthew Dempsky

commit sha 606019cb4b1c8fb57e5a83747ee0aff1054291d8

cmd/compile: trim function name prefix from escape diagnostics This information is redundant with the position information already provided. Also, no other -m diagnostics print out function name. While here, report parameter leak diagnostics against the parameter declaration position rather than the function, and use Warnl for "moved to heap" messages. Test cases updated programmatically by removing the first word from every "no match for" error emitted by run.go: go run run.go |& \ sed -E -n 's/^(.*):(.*): no match for `([^ ]* (.*))` in:$/\1!\2!\3!\4/p' | \ while IFS='!' read -r fn line before after; do before=$(echo "$before" | sed 's/[.[\*^$()+?{|]/\\&/g') after=$(echo "$after" | sed -E 's/(\&|\\)/\\&/g') fn=$(find . -name "${fn}" | head -1) sed -i -E -e "${line}s/\"${before}\"/\"${after}\"/" "${fn}" done Passes toolstash-check. Change-Id: I6e02486b1409e4a8dbb2b9b816d22095835426b5 Reviewed-on: https://go-review.googlesource.com/c/go/+/195040 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Jay Conrod

commit sha aa680c0c49b55722a72ad3772e590cd2f9af541d

cmd/go: don't include package dir in cache key when -trimpath is set The '-trimpath' flag tells 'go build' to trim any paths from the output files that are tied to the current workspace or toolchain. When this flag is set, we do not need to include the package directory in the text hashed to construct the action ID for each package. Fixes #33772 Change-Id: I20b902d2f58019709b15864ca79aa0d9255ae707 Reviewed-on: https://go-review.googlesource.com/c/go/+/195318 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Alberto Donizetti

commit sha c2facbe93705530a4b4aea70da544a7d645ea288

Revert "test/codegen: document -all_codegen option in README" This reverts CL 192101. Reason for revert: The same paragraph was added 2 weeks ago (look a few lines above) Change-Id: I05efb2631d7b4966f66493f178f2a649c715a3cc Reviewed-on: https://go-review.googlesource.com/c/go/+/195637 Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Matthew Dempsky

commit sha 7f907b9ceecfecb6dfe03878490bd3ae97ba8f2f

cmd/compile: require -lang=go1.14 for overlapping interfaces Support for overlapping interfaces is a new (proposed) Go language feature to be supported in Go 1.14, so it shouldn't be supported under -lang=go1.13 or earlier. Fixes #34329. Change-Id: I5fea5716b7d135476980bc40b4f6e8c611b67735 Reviewed-on: https://go-review.googlesource.com/c/go/+/195678 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>

view details

Jay Conrod

commit sha 4d18a7ceb2d37b148061ee2e153d56aaef4de8fc

cmd/go: don't split internal test main packages twice Fixes #34321 Change-Id: Ia6253038c525089e20a1da64a2c5c9dcc57edd74 Reviewed-on: https://go-review.googlesource.com/c/go/+/195677 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Daniel Martí

commit sha 357e8f83f868bd028df7f2f1c373b4d0c57d1408

cmd/compile: parallelize another big chunk of rulegen rulegen has a sanity check that ensures all the arch-specific opcodes are handled by each of the gen files. This is an expensive chunk of work, particularly since there are a lot of opcodes in total, and each one of them compiles and runs a regular expression. Parallelize that for each architecture, which greatly speeds up 'go run *.go' on my laptop with four real CPU cores. name old time/op new time/op delta Rulegen 3.39s ± 1% 2.53s ± 2% -25.34% (p=0.008 n=5+5) name old user-time/op new user-time/op delta Rulegen 10.6s ± 1% 11.2s ± 1% +6.09% (p=0.008 n=5+5) name old sys-time/op new sys-time/op delta Rulegen 201ms ± 7% 218ms ±17% ~ (p=0.548 n=5+5) name old peak-RSS-bytes new peak-RSS-bytes delta Rulegen 182MB ± 3% 184MB ± 3% ~ (p=0.690 n=5+5) Change-Id: Iec538ed0fa7eb867eeeeaab3da1e2615ce32cbb9 Reviewed-on: https://go-review.googlesource.com/c/go/+/195218 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Daniel Martí

commit sha 0e0bff840e3cd041aa9d103c6135862faae9c03f

cmd/compiler: skip some go/printer work in rulegen We use go/format on the final output, so don't bother with the added tabwriter work to align comments when using go/printer. name old time/op new time/op delta Rulegen 2.53s ± 2% 2.48s ± 1% -2.20% (p=0.032 n=5+5) name old user-time/op new user-time/op delta Rulegen 11.2s ± 1% 10.8s ± 0% -3.72% (p=0.008 n=5+5) name old sys-time/op new sys-time/op delta Rulegen 218ms ±17% 207ms ±19% ~ (p=0.548 n=5+5) name old peak-RSS-bytes new peak-RSS-bytes delta Rulegen 184MB ± 3% 175MB ± 4% ~ (p=0.056 n=5+5) Change-Id: I53bad2ab15cace67415f2171fffcd13ed596e62b Reviewed-on: https://go-review.googlesource.com/c/go/+/195219 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Lucas Bremgartner

commit sha c1000c500cb4cec2991f8c1924cd5fff05279658

encoding/json: validate strings when decoding into Number Unmarshaling a string into a json.Number should first check that the string is a valid Number. If not, we should fail without decoding it. Fixes #14702 Change-Id: I286178e93df74ad63c0a852c3f3489577072cf47 GitHub-Last-Rev: fe69bb68eed06d056639f440d2daf4bb7c99013b GitHub-Pull-Request: golang/go#34272 Reviewed-on: https://go-review.googlesource.com/c/go/+/195045 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Matthew Dempsky

commit sha 115e4c9c14779f2561de4299b5748b98d7dd8cf0

test: add test coverage for type-switch hash collisions This CL expands the test for #29612 to check that type switches also work correctly when type hashes collide. Change-Id: Ia153743e6ea0736c1a33191acfe4d8ba890be527 Reviewed-on: https://go-review.googlesource.com/c/go/+/195782 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Matthew Dempsky

commit sha 8f3d9855a10a7a77bffe635bb37f4cfe1090ea0e

cmd/compile: major refactoring of switch walking There are a lot of complexities to handling switches efficiently: 1. Order matters for expression switches with non-constant cases and for type expressions with interface types. We have to respect side-effects, and we also can't allow later cases to accidentally take precedence over earlier cases. 2. For runs of integers, floats, and string constants in expression switches or runs of concrete types in type switches, we want to emit efficient binary searches. 3. For runs of consecutive integers in expression switches, we want to collapse them into range comparisons. 4. For binary searches of strings, we want to compare by length first, because that's more efficient and we don't need to respect any particular ordering. 5. For "switch true { ... }" and "switch false { ... }", we want to optimize "case x:" as simply "if x" or "if !x", respectively, unless x is interface-typed. The current swt.go code reflects how these constraints have been incrementally added over time, with each of them being handled ad hocly in different parts of the code. Also, the existing code tries very hard to reuse logic between expression and type switches, even though the similarities are very superficial. This CL rewrites switch handling to better abstract away the logic involved in constructing the binary searches. In particular, it's intended to make further optimizations to switch dispatch much easier. It also eliminates the need for both OXCASE and OCASE ops, and a subsequent CL can collapse the two. Passes toolstash-check. Change-Id: Ifcd1e56f81f858117a412971d82e98abe7c4481f Reviewed-on: https://go-review.googlesource.com/c/go/+/194660 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Robert Griesemer

commit sha 606fa2db7a7cd80292fca7aab6c1787fa274e52b

go/types: remove unused pathString and rename objPathString to pathString (cleanup) This eliminates an old TODO. Change-Id: I36d666905f43252f5d338b11ef9c1ed8b5f22b1f Reviewed-on: https://go-review.googlesource.com/c/go/+/195817 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Joel Sing

commit sha c3c53661ba8823ea7a051110aebbdea2650c25d0

cmd/asm,cmd/internal/obj/riscv: implement integer computational instructions Add support for assembling integer computational instructions. Based on the riscv-go port. Updates #27532 Change-Id: Ibf02649eebd65ce96002a9ca0624266d96def2cd Reviewed-on: https://go-review.googlesource.com/c/go/+/195079 Run-TryBot: Joel Sing <joel@sing.id.au> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Tamir Duberstein

commit sha 38543c2813a1075e09693894625421309d8ef333

net: avoid transiting durations through floats This slightly simplified the code. I stumbled upon this when support was being added to Fuchsia (and this pattern was initially cargo-culted). Change-Id: Ica090a118a0056c5c1b51697691bc7308f0d424a Reviewed-on: https://go-review.googlesource.com/c/go/+/177878 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

push time in 4 months

issue closedlibressl-portable/portable

Interoperability issue with X25519/TLS1.3

When a client hello advertises TLS 1.3 but does not advertise X25519, the connection fails.

Version: v2.9.1 and current master (c199315ee9c3)

Reproducer:

  • generate certifcate: openssl req -x509 -newkey rsa:2048 -keyout /tmp/localhost.key -out /tmp/localhost.crt -subj /CN=localhost -nodes -batch -days 365
  • start LibreSSL using openssl s_server -www -key localhost.key -cert localhost.crt
  • connect to it using OpenSSL 1.1.1:
    1. openssl s_client -connect localhost:4433
    2. openssl s_client -connect localhost:4433 -tls1_2
    3. openssl s_client -connect localhost:4433 -groups P-256
    4. openssl s_client -connect localhost:4433 -tls1_2 -groups P-256

Result: I, II and IV establish TLS 1.2 connection, III aborts with

140619120285504:error:1409441A:SSL routines:ssl3_read_bytes:tlsv1 alert decode error:ssl/record/rec_layer_s3.c:1536:SSL alert number 50

on the client and

139782010537792:error:140270E3:SSL routines:ACCEPT_SR_CLNT_HELLO_C:parse tlsext:/home/hkario/dev/libressl/ssl/ssl_srvr.c:1022:

on the server

Additional notes: I was also able to reproduce this issue using Mozilla NSS, and as far as I know, GnuTLS also can be used to reproduce it.

See also: https://bugzilla.redhat.com/show_bug.cgi?id=1713777 https://bugzilla.redhat.com/show_bug.cgi?id=1713416

closed time in 5 months

tomato42

issue commentriscv/meta-riscv

Support golang

A version of Go that supports RISC-V (riscv64) can be found at https://github.com/4a6f656c/riscv-go - this repo contains branches with Go 1.13 and Go tip (along with older Go releases). I'm in the process of getting this merged upstream, which will hopefully mean it becomes available in the Go 1.14 release.

tuanha-viosoft

comment created time in 5 months

push event4a6f656c/riscv-go

Joel Sing

commit sha b91f74f56b7441a6cfd57e8762a733800d004de7

Use obj.Prog.Reg instead of obj.Prog.From3.

view details

push time in 5 months

push event4a6f656c/riscv-go

Joel Sing

commit sha 636f71800f215c9b04f25a734581245d2244e0d9

Use obj.Prog.Reg instead of obj.Prog.From3.

view details

push time in 5 months

push event4a6f656c/riscv-go

Elias Naur

commit sha 78d99491038143de569c3b7706e904ed16c37793

syscall: disable sysctl on iOS Sysctl is blocked by the App Store submission checks. Fixes #34133 Change-Id: I9e83cf87e942d6249e9bb67a95dba230e44badd9 Reviewed-on: https://go-review.googlesource.com/c/go/+/193843 Run-TryBot: Elias Naur <mail@eliasnaur.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>

view details

Elias Naur

commit sha a5025fdcde3f4f8442052eac902217f8c55ec3e4

log/syslog: skip unsupported tests on iOS CL 193843 disabled sysctl on iOS. This change disables two tests that rely on sysctl. Updates #34133 Change-Id: I7c569a1992a50ad6027a294c1fd535cccddcfc4e Reviewed-on: https://go-review.googlesource.com/c/go/+/193844 Run-TryBot: Elias Naur <mail@eliasnaur.com> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>

view details

smasher164

commit sha 141b09726dcfc1fa9f04ee9e08e6fa4af00fa57b

net/http: make copyValues append instead of calling Add This results in a performance boost: name old time/op new time/op delta CopyValues-4 3.46µs ± 3% 1.53µs ± 3% -55.85% (p=0.000 n=18+19) name old alloc/op new alloc/op delta CopyValues-4 1.52kB ± 0% 0.74kB ± 0% -51.58% (p=0.000 n=20+20) name old allocs/op new allocs/op delta CopyValues-4 24.0 ± 0% 11.0 ± 0% -54.17% (p=0.000 n=20+20) Fixes #33744. Change-Id: Ibc653fb076a9a6aaa775fcc9ca720fb90e68cf96 Reviewed-on: https://go-review.googlesource.com/c/go/+/191057 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Elias Naur

commit sha 2711fababd21c471dc0c64b33972c74a7c4eee20

net,os: disable more sysctl tests on iOS Updates #34133 Change-Id: I27c75993176cf876f2d80f70982528258c509b68 Reviewed-on: https://go-review.googlesource.com/c/go/+/193845 Run-TryBot: Elias Naur <mail@eliasnaur.com> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Elias Naur

commit sha 83a78eb91118768d5bb3b536a274a215f5141023

syscall: re-generate zsyscall_darwin_arm*.s I missed that in CL 193843. Updates #34133 Change-Id: I70b420f022cc7f8289f07375bfc2ade20cf3ffe7 Reviewed-on: https://go-review.googlesource.com/c/go/+/193846 Run-TryBot: Elias Naur <mail@eliasnaur.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Ainar Garipov

commit sha 0efbd1015774a2d894138519f1efcf7704bb2d95

all: fix typos Use the following (suboptimal) script to obtain a list of possible typos: #!/usr/bin/env sh set -x git ls-files |\ grep -e '\.\(c\|cc\|go\)$' |\ xargs -n 1\ awk\ '/\/\// { gsub(/.*\/\//, ""); print; } /\/\*/, /\*\// { gsub(/.*\/\*/, ""); gsub(/\*\/.*/, ""); }' |\ hunspell -d en_US -l |\ grep '^[[:upper:]]\{0,1\}[[:lower:]]\{1,\}$' |\ grep -v -e '^.\{1,4\}$' -e '^.\{16,\}$' |\ sort -f |\ uniq -c |\ awk '$1 == 1 { print $2; }' Then, go through the results manually and fix the most obvious typos in the non-vendored code. Change-Id: I3cb5830a176850e1a0584b8a40b47bde7b260eae Reviewed-on: https://go-review.googlesource.com/c/go/+/193848 Reviewed-by: Robert Griesemer <gri@golang.org>

view details

Keisuke Kishimoto

commit sha 844e642392e1586e6631aafeda5007f9f0f55145

syscall: minor cleanup of duplicated code Call the Nano methods of Timespec and Timeval in TimespecToNsec and TimevalToNsec respectively, instead of duplicating the implementation. Change-Id: I17551ea54c59c1e45ce472e029c625093a67251a GitHub-Last-Rev: fecf43d163f4ebe72e8bb1d3854d4ad962c08b03 GitHub-Pull-Request: golang/go#33390 Reviewed-on: https://go-review.googlesource.com/c/go/+/188397 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Martin Möhrmann

commit sha 9ec7074a946b7c2812a1a044e84276a36f46d14d

compile: prefer an AND instead of SHR+SHL instructions On modern 64bit CPUs a SHR, SHL or AND instruction take 1 cycle to execute. A pair of shifts that operate on the same register will take 2 cycles and needs to wait for the input register value to be available. Large constants used to mask the high bits of a register with an AND instruction can not be encoded as an immediate in the AND instruction on amd64 and therefore need to be loaded into a register with a MOV instruction. However that MOV instruction is not dependent on the output register and on many CPUs does not compete with the AND or shift instructions for execution ports. Using a pair of shifts to mask high bits instead of an AND to mask high bits of a register has a shorter encoding and uses one less general purpose register but is slower due to taking one clock cycle longer if there is no register pressure that would make the AND variant need to generate a spill. For example the instructions emitted for (x & 1 << 63) before this CL are: 48c1ea3f SHRQ $0x3f, DX 48c1e23f SHLQ $0x3f, DX after this CL the instructions are the same as GCC and LLVM use: 48b80000000000000080 MOVQ $0x8000000000000000, AX 4821d0 ANDQ DX, AX Some platforms such as arm64 already have SSA optimization rules to fuse two shift instructions back into an AND. Removing the general rule to rewrite AND to SHR+SHL speeds up this benchmark: var GlobalU uint func BenchmarkAndHighBits(b *testing.B) { x := uint(0) for i := 0; i < b.N; i++ { x &= 1 << 63 } GlobalU = x } amd64/darwin on Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz: name old time/op new time/op delta AndHighBits-4 0.61ns ± 6% 0.42ns ± 6% -31.42% (p=0.000 n=25+25): Updates #33826 Updates #32781 Change-Id: I862d3587446410c447b9a7265196b57f85358633 Reviewed-on: https://go-review.googlesource.com/c/go/+/191780 Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Martin Möhrmann

commit sha 5bb59b6d1645144dade71e8d19ccf39338788a0f

Revert "compile: prefer an AND instead of SHR+SHL instructions" This reverts commit 9ec7074a946b7c2812a1a044e84276a36f46d14d. Reason for revert: broke s390x (copysign, abs) and arm64 (bitfield) tests. Change-Id: I16c1b389c062e8c4aa5de079f1d46c9b25b0db52 Reviewed-on: https://go-review.googlesource.com/c/go/+/193850 Run-TryBot: Martin Möhrmann <moehrmann@google.com> Reviewed-by: Agniva De Sarker <agniva.quicksilver@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

smasher164

commit sha b12b6723007bea5a5837a21d7c4fd1a0cc9f0c67

A+C: change email address for Akhil Indurti Change-Id: I27ca0d71cdc7b13388556aa7c1987320b6b41849 Reviewed-on: https://go-review.googlesource.com/c/go/+/194178 Reviewed-by: Matt Layher <mdlayher@gmail.com>

view details

Eli Bendersky

commit sha 28f8f55bd29f997fc814782f161ae09520955a8d

encoding/json: clarify Unmarshal behavior for map keys This is a documentation-only change Fixes #33298 Change-Id: I816058a872b57dc868dff11887214d9de92d9342 Reviewed-on: https://go-review.googlesource.com/c/go/+/188821 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Ainar Garipov

commit sha 51c8d969bd8a9992002a11373f91564c326e6d77

src: gofmt -s Change-Id: I56d7eeaf777ac30886ee77428ca1ac72b77fbf7d Reviewed-on: https://go-review.googlesource.com/c/go/+/193849 Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Matthew Dempsky

commit sha e710a1fb2e36b645b103d9f72d47837171336279

cmd/compile: report more precise errors about untyped constants Previously, we used a single "untyped number" type for all untyped numeric constants. This led to vague error messages like "string(1.0)" reporting that "1 (type untyped number)" can't be converted to string, even though "string(1)" is valid. This CL makes cmd/compile more like go/types by utilizing types.Ideal{int,rune,float,complex} instead of types.Types[TIDEAL], and keeping n.Type in sync with n.Val().Ctype() during constant folding. Thanks to K Heller for looking into this issue, and for the included test case. Fixes #21979. Change-Id: Ibfea88c05704bc3c0a502a455d018a375589754d Reviewed-on: https://go-review.googlesource.com/c/go/+/194019 Reviewed-by: Robert Griesemer <gri@golang.org>

view details

Eric Rutherford

commit sha 5e907e38b8e660aa258b34f3c022d5b697dad6f1

path: improve documentation to call out cases where Clean is called Rewording the comments for Join to do a better job of calling out when Clean is called. Also clarifing other portions of the comment. Fixes #29875 Change-Id: Ied43983bb10a97922898d28af133de0930224496 Reviewed-on: https://go-review.googlesource.com/c/go/+/194339 Reviewed-by: Rob Pike <r@golang.org>

view details

sergeilem

commit sha a3a1bdff79602c99d2e0cc9b07957392ef10fded

encoding/asn1: handle ASN1's string type BMPString This code enables handling of ASN1's string type BMPString, used in some digital signatures. Parsing code taken from golang.org/x/crypto/pkcs12. Change-Id: Ibeae9cf4d8ae7c18f8b5420ad9244a16e117ff6b GitHub-Last-Rev: 694525351411f2ec3982a6bf4ac33be892ce1b12 GitHub-Pull-Request: golang/go#26690 Reviewed-on: https://go-review.googlesource.com/c/go/+/126624 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org>

view details

Matthew Dempsky

commit sha a2cf16d42cd4feb1c25c58097ab05d786119f15e

cmd/compile: remove vestigial TDDDFIELD Change-Id: I4a582f8efcf413665a7513c163334fa8d978a7e9 Reviewed-on: https://go-review.googlesource.com/c/go/+/194437 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Robert Griesemer

commit sha cdd2c265cc132a15e20298fbb083a70d7f3b495d

cmd/compile/internal/scanner: report at most one lexical error per number literal Leave reporting of multiple errors for strings alone for now; we probably want to see all incorrect escape sequences in runes/strings independent of other errors. Fixes #33961. Change-Id: Id722e95f802687963eec647d1d1841bd6ed17d35 Reviewed-on: https://go-review.googlesource.com/c/go/+/192499 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Romain Baugue

commit sha b6ec56bc26a89e9733390dd41fade5baace5a641

encoding/json: don't indirect pointers when decoding null The indirect method checked the type of the child when indirecting a pointer. If the current value is a pointer and we are decoding null, we can skip this entirely and return early, avoiding the whole descent. Fixes #31776 Change-Id: Ib8b2a2357572c41f56fceac59b5a858980f3f65e Reviewed-on: https://go-review.googlesource.com/c/go/+/174699 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc>

view details

Agniva De Sarker

commit sha b38be35e4c79fd3c5b9450e95cf092eaac094405

cmd/compile: optimize const rotates for wasm architecture This removes the unnecessary code to check whether the shift is within limits or not when the shift amount is a constant. The rules hit 23034 times when building std cmd. grep -E "Wasm.rules:(106|107|121|122|139|140)" rulelog | wc -l 23034 Reduces the size of pkg/js_wasm by 132 bytes. Change-Id: I64a2b8faca08c3b5039d6a027d4676130d2db18d Reviewed-on: https://go-review.googlesource.com/c/go/+/194239 Run-TryBot: Agniva De Sarker <agniva.quicksilver@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Richard Musiol <neelance@gmail.com>

view details

Michael Munday

commit sha 5c5f217b635d5bcbbda482f92264265eb61c13f2

cmd/compile: improve s390x sign/zero extension removal This CL gets rid of the MOVDreg and MOVDnop SSA operations on s390x. They were originally inserted to help avoid situations where a sign/zero extension was elided but a spill invalidated the optimization. It's not really clear we need to do this though (amd64 doesn't have these ops for example) so long as we are careful when removing sign/zero extensions. Also, the MOVDreg technique doesn't work if the register is spilled before the MOVDreg op (I haven't seen that in practice). Removing these ops reduces the complexity of the rules and also allows us to unblock optimizations. For example, the compiler can now merge the loads in binary.{Big,Little}Endian.PutUint16 which it wasn't able to do before. This CL reduces the size of the .text section in the go tool by about 4.7KB (0.09%). Change-Id: Icaddae7f2e4f9b2debb6fabae845adb3f73b41db Reviewed-on: https://go-review.googlesource.com/c/go/+/173897 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

push time in 5 months

push eventhockeypuck/hockeypuck

Paul Collins

commit sha 73a8b1937a91b1bc18d9a3b8fd651df3bde43c23

don't use errgo.Notef to collect all errors in requestRecovered Instead, keep the most recent one as an example, and report a total count along with the example. Also annotate POST errors to indicate what we were trying to accomplish at the time.

view details

Paul Collins

commit sha ad94a48fb36e527c546008a717ba0205c1bb5071

log errors requesting chunks as they occur and just return a summary to the caller

view details

Paul Collins

commit sha 0a966ff8aae2b33544871d82693eedaf1d8ede5a

hockeypuck-config-wrapper: $EDITOR is not available to snaps; use sensible-editor instead

view details

Paul Collins

commit sha 0667cd2b4680af8d6e501a8288f68e5c34358709

snapcraft.yaml for in-tree builds, and install target for snapcraft and debuild

view details

Paul Collins

commit sha a84855a3239e99d542fe4feb49aea14640d3a688

use go from a snap, update summary and description

view details

Paul Collins

commit sha bbde49d40637211d71dd04b3e2348e61fa6ea06a

update snapcraft.yaml for modern snapcraft, update README.md

view details

Paul Collins

commit sha 564654cf5cd7d279b26f633e3368d7c38772efd7

remove duplicate copy of templates and www, eliminate var/lib/hockeypuck

view details

Paul Collins

commit sha 0270c6c0d8bf9a4db6a824546377ceda69d1954b

add home to dump and load

view details

Paul Collins

commit sha 5576e0f05c0b760829a399b122a5363fd894a3d8

README.md: rewrite and expand snapcraftery

view details

Paul Collins

commit sha a876d7e8465965a0d4f1376f2b7e4318af4e6a1e

format code using code blocks (four space indent)

view details

Paul Collins

commit sha 80b61b13d5187b649ec76bc6a96f14d009f4adf7

snapcraft.yaml for in-tree builds Reviewed-on: https://code.launchpad.net/~pjdc/canonical-is-hockeypuck/+git/canonical-is-hockeypuck/+merge/372038 Reviewed-by: Stuart Bishop <stuart.bishop@canonical.com>

view details

Casey Marshall

commit sha 59c2eecbf6c9118e5d43a54af98473b2c14d26b0

Release 2.0.14.

view details

Casey Marshall

commit sha 0c52aee15081051238a59a27eee7a49255f7ad54

Update standalone hockeypuck image to latest release.

view details

Casey Marshall

commit sha cbc314079c90530282a017740b84cb9435663ac8

Remove vendored go crypto packages.

view details

Casey Marshall

commit sha c2b76d771e6c58d48c4d1e453d5ab5b4e3c6e8fe

Merge commit '3f797f4e4c6bb715a4a3bdec4371df44531e1cd6' as 'src/vendor/golang.org/x/crypto'

view details

Casey Marshall

commit sha 69cd90db328d9a59292424b30d6b19ee5d633f81

HKP query policy configuration options to protect gnupg. These options prevent Hockeypuck from propagating keyring spam to GnuPG. "Self-signed only" option removes all packets that are not "self-signed" by the primary key. "Fingerprint only" option only allows fingerprint and key ID queries -- no email addresses or name searches. These options only affect queries; all uploaded key material is still stored and synchronized with peers. They are not enabled by default.

view details

Casey Marshall

commit sha 520b0232269766c0460210062808e04bf92cd0d6

Add test coverage. Return error on failing to update primary key digest in SelfSignedOnly.

view details

Casey Marshall

commit sha 0a7b55c7951880c0a116197b622309c2f75fcf23

Fix 400 response for op=index and keyword search disabled.

view details

Paul Collins

commit sha 5802d0b1cc3a282da228e79550026167a0bcc90f

don't use errgo.Notef to collect all errors in requestRecovered Reviewed-on: https://code.launchpad.net/~pjdc/canonical-is-hockeypuck/+git/canonical-is-hockeypuck/+merge/371059 Reviewed-by: Joel Sing <joel.sing@canonical.com>

view details

Paul Collins

commit sha c0ea119ff7bdb1b96a2db3f77650d64637e41c07

2.0.13 release

view details

push time in 5 months

PR merged hockeypuck/hockeypuck

Reviewers
Merge/reconcile changes from Launchpad upstream repo.

This pulls in recent upstream changes and fixes conflicts.

+975 -28

2 comments

30 changed files

cmars

pr closed time in 5 months

pull request commenthockeypuck/hockeypuck

Merge/reconcile changes from Launchpad upstream repo.

I've confirmed that some parts of server/snap are needed - let's land this as is, then we'll remove the unused parts separately.

cmars

comment created time in 5 months

push event4a6f656c/riscv-go

Bryan C. Mills

commit sha 2b8b34aa30b69d66d48aedc5ffb4a9f26f37988f

cmd/go: query each path only once in 'go get' If we don't know whether a path is a module path or a package path, previously we would first try a module query for it, then fall back to a package query. If we are using a sequence of proxies with fallback (as will be the default in Go 1.13), and the path is not actually a module path, that initial module query will fail against the first proxy, then immediately fall back to the next proxy in the sequence — even if the query could have been satisfied by some other (prefix) module available from the first proxy. Instead, we now query the requested path as only one kind of path. If we query it as a package path but it turns out to only exist as a module, we can detect that as a PackageNotInModuleError with an appropriate module path — we do not need to issue a second query to classify it. Fixes #31785 Change-Id: I581d44279196e41d1fed27ec25489e75d62654e3 Reviewed-on: https://go-review.googlesource.com/c/go/+/189517 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Agniva De Sarker

commit sha 362625209b6cd2bc059b6b0a67712ddebab312d9

doc/install-source.html: add new GOOS and GOARCHes And also insert new paragraphs between GOOS and GOARCH listings for better readability. Fixes #28142 Fixes #26513 Change-Id: Ie92e98dbfd924e80032a12afbfa02f30e3a6f916 Reviewed-on: https://go-review.googlesource.com/c/go/+/189578 Reviewed-by: Andrew Bonventre <andybons@golang.org>

view details

Ian Lance Taylor

commit sha 951143cf1425189965498cc32fc8dc132bf7c777

cmd/link: increase the function call limit in stkcheck There is real (albeit generated) code that exceeds the limit. Fixes #33555 Change-Id: I668e85825d3d2a471970e869abe63f3492213cc1 Reviewed-on: https://go-review.googlesource.com/c/go/+/189697 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

K. "pestophagous" Heller

commit sha 9c1f14f3763dbbc0d8105fa88c0b7bdad5674ee7

doc/install-source: create distinction between steps that involve "git clone" Prior doc implied that "git clone" was one way to obtain a go1.4 bootstrap toochain, but it did not state this outright. Further, the doc did not make it explicit in the "Fetch the repository" section that one must necessarily "git clone" a second time in the (presumed-to-be-uncommon) case where "git clone" had already been perfomed in the "compiler binaries" section. Updates #33402 Change-Id: Id70a6587b6ee09aca13559d63868b75cb07dff1e Reviewed-on: https://go-review.googlesource.com/c/go/+/188900 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Carlo Alberto Ferraris

commit sha 3928915ec74029269f8dacb46c627cbdbd295c2b

doc/go1.13: mention faster sync.Mutex/RWMutex/Once Mention faster sync.Mutex/RWMutex/Once in the 1.13 release notes. Change-Id: I29d8a5004a0af42542e8db82a8c9e2e06a15dbb0 GitHub-Last-Rev: 2995401dab563ea5af98c0f5351f51a6116f105e GitHub-Pull-Request: golang/go#33404 Reviewed-on: https://go-review.googlesource.com/c/go/+/188479 Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Pure White

commit sha 2754118731b81baf0c812116a9b72b6153abf79d

doc/asm: document go_asm.h only works in the runtime package Fixes #33054 Change-Id: I687d45e092d721a6c22888cc7ddbe420c16a5af9 GitHub-Last-Rev: a7208c89a0d613a53ab057e0b4418ae4719cfcbd GitHub-Pull-Request: golang/go#33069 Reviewed-on: https://go-review.googlesource.com/c/go/+/185917 Reviewed-by: Rob Pike <r@golang.org>

view details

Ian Lance Taylor

commit sha 8b058cfbcec5dc3002ddd6cedc7070ff946b2257

net: document that a keep-alive failure also returns a timeout Updates #31449 Change-Id: I76490c5e83eb2f7ba529b387a57ba088428aece5 Reviewed-on: https://go-review.googlesource.com/c/go/+/189757 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Filippo Valsorda <filippo@golang.org>

view details

Filippo Valsorda

commit sha 45504066d7eb369b5be47429806e64d2ba6eb43a

src/go.mod: sync golang.org/x/net with h2_bundle.go The bundle included changes from a commit after the one referred to by the go.mod, probably due to cmd/bundle using the GOPATH source. Identified with the new go/packages based cmd/bundle from CL 189818. $ go get golang.org/x/net@461777fb6f $ go mod tidy $ go mod vendor $ go generate net/http # with CL 189818 Also, updated the socks_bundle.go generate command to drop obsolete options and match h2_bundle.go. It caused no output changes. Updates #32031 Change-Id: I0322d4e842dbfdad749455111072ca4872a62ad4 Reviewed-on: https://go-review.googlesource.com/c/go/+/189897 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>

view details

Filippo Valsorda

commit sha 61bb56ad63992a3199acc55b2537c8355ef887b6

net/url: make Hostname and Port predictable for invalid Host values When Host is not valid per RFC 3986, the behavior of Hostname and Port was wildly unpredictable, to the point that Host could have a suffix that didn't appear in neither Hostname nor Port. This is a security issue when applications are applying checks to Host and expecting them to be meaningful for the contents of Hostname. To reduce disruption, this change only aims to guarantee the following two security-relevant invariants. * Host is either Hostname or [Hostname] with Port empty, or Hostname:Port or [Hostname]:Port. * Port is only decimals. The second invariant is the one that's most likely to cause disruption, but I believe it's important, as it's conceivable an application might do a suffix check on Host and expect it to be meaningful for the contents of Hostname (if the suffix is not a valid port). There are three ways to ensure it. 1) Reject invalid ports in Parse. Note that non-numeric ports are already rejected if and only if the host starts with "[". 2) Consider non-numeric ports as part of Hostname, not Port. 3) Allow non-numeric ports, and hope they only flow down to net/http, which will reject them (#14353). This change adopts both 1 and 2. We could do only the latter, but then these invalid hosts would flow past port checks, like in http_test.TestTransportRejectsAlphaPort. Non-numeric ports weren't fully supported anyway, because they were rejected after IPv6 literals, so this restores consistency. We could do only the former, but at this point 2) is free and might help with manually constructed Host values (or if we get something wrong in Parse). Note that net.SplitHostPort and net.Dial explicitly accept service names in place of port numbers, but this is an URL package, and RFC 3986, Section 3.2.3, clearly specifies ports as a number in decimal. net/http uses a mix of net.SplitHostPort and url.Parse that would deserve looking into, but in general it seems that it will still accept service names in Addr fields as they are passed to net.Listen, while rejecting them in URLs, which feels correct. This leaves a number of invalid URLs to reject, which however are not security relevant once the two invariants above hold, so can be done in Go 1.14: IPv6 literals without brackets (#31024), invalid IPv6 literals, hostnames with invalid characters, and more. Tested with 200M executions of go-fuzz and the following Fuzz function. u, err := url.Parse(string(data)) if err != nil { return 0 } h := u.Hostname() p := u.Port() switch u.Host { case h + ":" + p: return 1 case "[" + h + "]:" + p: return 1 case h: fallthrough case "[" + h + "]": if p != "" { panic("unexpected Port()") } return 1 } panic("Host is not a variant of [Hostname]:Port") Fixes CVE-2019-14809 Updates #29098 Change-Id: I7ef40823dab28f29511329fa2d5a7fb10c3ec895 Reviewed-on: https://go-review.googlesource.com/c/go/+/189258 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Toshihiro Shiino

commit sha ad4ed87f80c33f23bdd3767ef3208f15a1fb5c90

doc/go1.13: add missing periods Change-Id: If9ad650174572c475f0b3d3394208c2a9dd0a596 Reviewed-on: https://go-review.googlesource.com/c/go/+/190237 Reviewed-by: Agniva De Sarker <agniva.quicksilver@gmail.com>

view details

Cherry Zhang

commit sha 5f45a3337ec78f303fbbcadd89d459af56183724

reflect: align first argument in callMethod When calling a function obtained from reflect.Value.Method (or MethodByName), we copy the arguments from the caller frame, which does not include the receiver, to a new frame to call the actual method, which does include the receiver. Here we need to align the first (non-receiver) argument. As the receiver is pointer sized, it is generally naturally aligned, except on amd64p32, where the argument can have larger alignment, and this aligning becomes necessary. Fixes #33628. Change-Id: I5bea0e20173f06d1602c5666d4f334e3d0de5c1e Reviewed-on: https://go-review.googlesource.com/c/go/+/190297 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Dmitri Shuralyov

commit sha 395fd106bcb1fadad7fb20b21153f9bf20964d82

doc: document Go 1.12.8 and Go 1.11.13 Change-Id: I0daab6cd347e1fc0066e516f02c33f1b63e3f1a3 Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/526992 Reviewed-by: Filippo Valsorda <valsorda@google.com> (cherry picked from commit 305f6dc30cfd163aa959ec4bd2a912f7c29da5c8) Reviewed-on: https://go-review.googlesource.com/c/go/+/190437 Reviewed-by: Filippo Valsorda <filippo@golang.org>

view details

Dmitri Shuralyov

commit sha 0212f0410f845815f5327a7f2e705891a9598f3d

doc: document Go 1.12.9 Change-Id: I88b7e085fc70f9c021788d364099f5bc6b705ba8 Reviewed-on: https://go-review.googlesource.com/c/go/+/190438 Reviewed-by: Filippo Valsorda <filippo@golang.org>

view details

Joe Tsai

commit sha 4983a0b75b40448d3245811ddcf682a9c86fc975

Revert "time: optimize Sub" This reverts commit CL 131196 because there is a bug in the calculation of nanoseconds. Fixes #33677 Change-Id: Ic8e94c547ee29b8aeda1b9a5cb9764dbf47b14b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/190497 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Andrew Bonventre <andybons@golang.org>

view details

Joe Tsai

commit sha bb5441de4893c0802e3445250fbcc13c7b8e105c

cmd/gofmt: update TestRewrite to avoid future regressions CL 162337 changed go/ast to better handle block comments, but was reverted because it introduced an off-by-one bug. This CL adds a test case to enforce the correct behavior so that future changes do not break this again. Updates #18929 Updates #33538 Change-Id: I2d25c139d007f8db1091b7a48b1dd20c584e2699 Reviewed-on: https://go-review.googlesource.com/c/go/+/190523 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>

view details

Joe Tsai

commit sha c485506b0aae298652448e80fca35036bfa755ac

time: update TestSub to avoid future regressions CL 131196 optimized Time.Sub, but was reverted because it incorrectly computed the nanoseconds in some edge cases. This CL adds a test case to enforce the correct behavior so that a future optimization does not break this again. Updates #17858 Updates #33677 Change-Id: I596d8302ca6bf721cf7ca11cc6f939639fcbdd43 Reviewed-on: https://go-review.googlesource.com/c/go/+/190524 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Dmitry Vyukov

commit sha 0dd120df7e97387411ddba9f58384e69e8862073

encoding/json: fix format string in the Fuzz func Currently test build fails with: $ go test -tags=gofuzz encoding/json encoding/json/fuzz.go:36:4: Println call has possible formatting directive %s FAIL encoding/json [build failed] Change-Id: I23aef44a421ed0e7bcf48b74ac5a8c6768a4841b Reviewed-on: https://go-review.googlesource.com/c/go/+/190698 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Wagner Riffel

commit sha d6ffc1d8394d6f6420bb92d79d320da88720fbe0

doc: rewrite reference to plan9.bell-labs.com to 9p.io Change-Id: I75619feced842b8ca509ee08e01b63258c5e87ca Reviewed-on: https://go-review.googlesource.com/c/go/+/190757 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Filippo Valsorda

commit sha 53c088fbf05f42b24e1f7aa40889ca51055f9f29

cmd/go: fix "go help build -o" docs The docs refer to "the last two paragraphs", but in fact should refer to the first two of the previous three paragraphs. Moved up the out of place paragraph. Updates #14295 Change-Id: I066da7a665bc6754d246782b941af214a385017a Reviewed-on: https://go-review.googlesource.com/c/go/+/190839 Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Bryan C. Mills

commit sha 723852388eed2b023c7a47219ebebf722b3a7ced

doc/go1.13: mention '-o <directory>' support for 'go build' Fixes #33720 Updates #14295 Change-Id: I9cb6e02bcaccd7971057315163d8810157d465bd Reviewed-on: https://go-review.googlesource.com/c/go/+/190907 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

push time in 5 months

push event4a6f656c/riscv-go

Joel Sing

commit sha c20db960e2013536cc1316f570d6716138d1ef41

Fixes for last Go merge.

view details

push time in 5 months

create barnch4a6f656c/riscv-go

branch : riscvdev-wip

created branch time in 6 months

pull request commenthockeypuck/hockeypuck

Merge/reconcile changes from Launchpad upstream repo.

I think we can drop a287da4 - IIRC the server/snap directory is unused with the new snap configuration, but I would have to double check. Otherwise LGTM.

cmars

comment created time in 6 months

PR opened riscv/riscv-opcodes

Update Go instruction encoding generation

Remove the 'ok' value since this is redundant - an invalid instruction can already be identified by a nil return value.

Also, include the script flags in the 'DO NOT EDIT' header.

+4 -4

0 comment

1 changed file

pr created time in 6 months

push event4a6f656c/riscv-opcodes

Joel Sing

commit sha 2159c5aeac2c9c90e5ede33cba434cac7c41ccd5

Update Go instruction encoding generation Remove the 'ok' value since this is redundant - an invalid instruction can already be identified by a nil return value. Also, include the script flags in the 'DO NOT EDIT' header.

view details

push time in 6 months

PR opened hockeypuck/hockeypuck

Redo switch to ProtonMail/crypto using go.mod

Rather than using a subtree (which will get overwritten when 'go mod vendor' is next run), use go.mod to replace golang.org/x/crypto with github.com/ProtonMail/crypto.

+328 -78742

0 comment

371 changed files

pr created time in 6 months

create barnch4a6f656c/hockeypuck

branch : protonmail-vendor

created branch time in 6 months

fork 4a6f656c/hockeypuck

OpenPGP Key Server

fork in 6 months

more