profile
viewpoint

fork tklauser/hubble

Hubble - Network, Service & Security Observability for Kubernetes

fork in 21 hours

startedpaleozogt/MSVCDocker

started time in 21 hours

startedcilium/hubble

started time in 21 hours

startedgdamore/tcell

started time in 5 days

issue openedgolang/go

x/sys/unix: NFDBITS not defined on aix

From https://build.golang.org/log/2ab2cc7b53fb277213de58fb0017e2c4b362f0d1:

# golang.org/x/sys/unix [golang.org/x/sys/unix.test]
unix/fdset.go:11:14: undefined: NFDBITS
unix/fdset.go:16:14: undefined: NFDBITS
unix/fdset.go:21:21: undefined: NFDBITS

This is https://golang.org/cl/205397. I wasn't able to get access to the aix-ppc64 gomote to run mkall.sh/mkerrors.sh. Someone has a way to generate this?

@Helflym @ianlancetaylor @bradfitz

created time in 5 days

pull request commentshirou/gopsutil

Use golang.org/x/windows functions instead of github.com/shirou/w32

Thanks.

FWIW, I don't think you even have to wait for Go's next release to get the fix in golang.org/x/sys/windows. It's developed independently and integrated in its new version as a module in this PR. It also builds with Go 1.9, which seems to be the minimum version gopsutil requires according to the README. Tested using:

go get golang.org/dl/go1.9
go1.9 download
cd $GOPATH/github.com/shirou/gopsutil
sed -ie 's/go /go1.9 /g' Makefile
make build_test
tklauser

comment created time in 7 days

issue openedgolang/go

x/sys/unix: TestPselect flaky on some builders

TestPselect occasionally fails with:

syscall_linux_test.go:301: Pselect: interrupted system call

linux-386: https://build.golang.org/log/d2ac4e02833b0129a9b11f5d3ea0f122d1813baf linux-amd64-nocgo: https://build.golang.org/log/4f61e651ce23e678c12f88df80524ed7cd28c6e7 android-amd64-emu: https://build.golang.org/log/14519f68dd1a83e8868f110d3a31c6ceddf9f141

The easiest fix is probably to just skip TestPselect upon EINTR.

/cc @ianlancetaylor @bradfitz

created time in 8 days

issue commentgolang/go

syscall: unimplemented EpollWait fails to return an error on android/arm64

The implementation of syscall.EpollWait is exactly the same as unix.EpollWait. I'd rather suspect a problem with the definition of EpollEvent on arm64 missing padding before its Fd member. This was fixed in x/sys/unix (https://golang.org/cl/21971) but not in syscall. I'll send a CL.

jakubgs

comment created time in 9 days

issue commentgolang/go

x/build: linux-mips* builders don't run on x/net and x/sys

#35515 related?

tklauser

comment created time in 9 days

issue openedgolang/go

x/build: linux-mips* builders don't run on x/net and x/sys

https://build.golang.org/?repo=golang.org%2fx%2fnet# https://build.golang.org/?repo=golang.org%2fx%2fsys#

No builds are shown for the linux-mips-rtrk, linux-mips64-rtrk, linux-mips64le-rtrk, linux-mipsle-rtrk and linux-mips64le-mengzhuo builders on master, even though the builders' corresponding policy should allow them:

https://github.com/golang/build/blob/773364d7ec5d1e0f2e7cd6698a7980beda1e577e/dashboard/builders.go#L2542-L2551

/cc @bradfitz @dmitshur @andybons

created time in 9 days

push eventtklauser/statx

Tobias Klauser

commit sha b771774535ad5973add25252edc21b9d4978748b

statx: omit quotes around file name in output format Corresponds to the format that stat from GNU coreutils currently uses. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 10 days

push eventtklauser/statx

Tobias Klauser

commit sha 4cac09397ac94775df1e889e098e8b0ab2d40119

Add go modules support Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 10 days

pull request commentshirou/gopsutil

Use golang.org/x/windows functions instead of github.com/shirou/w32

The fix for x/sys/windows was merged as golang/sys@d32e6e3b99 and I updated this PR to include it. The build looks fine now.

tklauser

comment created time in 11 days

push eventtklauser/gopsutil

Tobias Klauser

commit sha a61c905252e9fe53ad220c50ad94c9ae926deda9

Use golang.org/x/windows functions instead of github.com/shirou/w32 All functions used from github.com/shirou/w32 are also available from golang.org/x/sys/windows which is already used in other places. Convert the remaining usages to use the functions from x/sys/windows.

view details

push time in 11 days

pull request commentshirou/gopsutil

Use golang.org/x/windows functions instead of github.com/shirou/w32

Unfortunately, since the build failure is in golang.org/x/sys/windows we cannot just add the file in this PR. Thus, I've sent https://go-review.googlesource.com/c/sys/+/206357 and hope it will get accepted. Once it is accepted, I can update this PR vendoring golang.org/x/sys/windows containing said fix and all should build fine.

tklauser

comment created time in 11 days

pull request commentshirou/gopsutil

Use golang.org/x/windows functions instead of github.com/shirou/w32

This is golang/go#23311 which still exists with go 1.11, but was fixed with go 1.12 and newer. Not sure if upgrading to circleci/golang:1.12 is an option. Otherwise we might try to add an empty.s file in golang.org/x/sys/windows.

tklauser

comment created time in 12 days

pull request commentshirou/gopsutil

Use golang.org/x/windows functions instead of github.com/shirou/w32

Sure, rebased onto latest master. Thanks.

tklauser

comment created time in 12 days

push eventtklauser/gopsutil

Brian C. Williams

commit sha f00df5cffe912aebc9c7ed43736b8e860204965b

Add WithoutUids funcs

view details

shirou

commit sha dec0e0460054c13c7d86289a484576c56ebe702a

change cirleci version to 1.11

view details

shirou

commit sha 44ad96e2abdab8a3e9261817cc8973d305a0e421

Merge pull request #786 from shirou/feature/change_circleci_1_11 change cirleci version to 1.11

view details

shirou

commit sha 7c51a7480678a1362faa93e721714e26901d4375

Merge pull request #783 from Brian-Williams/Without Add WithoutUids funcs for Connections

view details

push time in 12 days

push eventtklauser/gopsutil

Brian C. Williams

commit sha f00df5cffe912aebc9c7ed43736b8e860204965b

Add WithoutUids funcs

view details

shirou

commit sha dec0e0460054c13c7d86289a484576c56ebe702a

change cirleci version to 1.11

view details

shirou

commit sha 44ad96e2abdab8a3e9261817cc8973d305a0e421

Merge pull request #786 from shirou/feature/change_circleci_1_11 change cirleci version to 1.11

view details

shirou

commit sha 7c51a7480678a1362faa93e721714e26901d4375

Merge pull request #783 from Brian-Williams/Without Add WithoutUids funcs for Connections

view details

Tobias Klauser

commit sha a73d57e2906116aff4246da8c39027bf77f644df

Use golang.org/x/windows functions instead of github.com/shirou/w32 All functions used from github.com/shirou/w32 are also available from golang.org/x/sys/windows which is already used in other places. Convert the remaining usages to use the functions from x/sys/windows.

view details

push time in 12 days

pull request commentmoby/moby

[do not merge] Use newer x/sys/windows SecurityAttributes struct (carry 40017)

@thaJeztah This is good to go now that golang/go#34610 has been closed and it was decided there will be no revert (https://github.com/golang/go/issues/34610#issuecomment-551225468)

thaJeztah

comment created time in 13 days

Pull request review commentvishvananda/netlink

Add support for Go modules

+module github.com/vishvananda/netlink++go 1.12++require (+	github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc

Done, thanks.

tklauser

comment created time in 14 days

push eventtklauser/netlink

Parav Pandit

commit sha 46664771975558de5a63f7c0ce3947e1def91a6a

Add an API to query RDMA subsystem net namespace mode RDMA subsystem can be running in shared or exclusive mode with regards to sharing RDMA device sharing among multiple network namespaces. Add and API to query such mode of kernel similar to iproute2 command $ rdma system show netns Signed-off-by: Parav Pandit <parav@mellanox.com>

view details

Parav Pandit

commit sha 0f040b9e2cdf96458b0591d2439771a45a79e78a

Add an API to set RDMA subsystem network namespace mode Add an API to change the RDMA subsystem network namespace mode as either shared or exclusive similar to $ rdma system set netns { shared | exclusive } Signed-off-by: Parav Pandit <parav@mellanox.com>

view details

eriknordmark

commit sha 3a1f6536f64810cc966fb3448d31720103288ae9

Make AddrSubscribe more robust against kernel reporting errors

view details

Sargun Dhillon

commit sha d50d15ce3f000ade7ac24c7a5ec9f39acef9d1a7

Set Link TX / RX Queues on Deserialization This deserializes the tx queue, and rx queue count on link deserialization. We already supported it on serialization. Signed-off-by: Sargun Dhillon <sargun@sargun.me>

view details

Parav Pandit

commit sha 123a384710b21bbffe16d4fbdac7fda4708f41c8

Add an API to change net namespace of RDMA device Add an API to change net namespace of RDMA device similar to $ rdma dev set [DEV] netns NSNAME Signed-off-by: Parav Pandit <parav@mellanox.com>

view details

Martynas Pumputis

commit sha 99a56c251ae6d00ce3d73cf8ee0b9ecb94fe323b

veth: Set peer hardware addr when creating This commit extends LinkAdd function for Veth by allowing to specify peer hardware addr. Signed-off-by: Martynas Pumputis <m@lambda.lt>

view details

Lorenz Bauer

commit sha a8241965b5fba0ec02d248784b768b1adb31daa8

Allow replacing filters Add a function FilterReplace, which mirrors the behaviour of QdiscReplace, etc. This makes it possible to swap out filters with a single netlink message.

view details

Farid Zakaria

commit sha 2e4a68ee6c165085c6d708748b78cb8ac3c15ac9

Add support for additional TC BPF filter attributes In order to support BPF_SYSCALL `PROG_GET_FD_BY_ID` -- the ID of the eBPF must be available. Add the additional enumerations and handle them when parsing the BPF filter.

view details

Anton Aksola

commit sha df0136952828fc27513ab7b03b3423e80f53e8cb

add support for link groups (IFLA_GROUP)

view details

Przemyslaw Lal

commit sha 43af4161eaf6fde999a51113481e813b0be80adb

Add support for setting VLAN QoS for VF links This change adds support for setting VLAN QoS (priority) field for the SR-IOV Virtual Function links.

view details

Daniel Borkmann

commit sha b1e98597921720cee4147d6476110fc8fc56072d

netlink: enforce similar pid checks as in iproute2 iproute2's own netlink library asserts that the sockaddr sender pid has to be the one of the kernel [0]. It also doesn't bail out on pid mismatch but only skips the message instead. We've seen cases where the latter had a pid 0; in such case we should skip to the next nl message instead of hard bail out. [0] https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/tree/lib/libnetlink.c rtnl_dump_filter_l(), __rtnl_talk_iov() Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

view details

bingshen.wbs

commit sha 14bd2e6fd200b340e3ab92ad513b4cfeb006d4d4

support ipvlan flag Signed-off-by: bingshen.wbs <bingshen.wbs@alibaba-inc.com>

view details

Adrian Chiris

commit sha 28720742a4ee9eaae10293cd207691984836a42b

Add support for IFLA_VF_RATE Today netlink package supports Get/Set of a VF's max TX rate via IFLA_VF_TX_RATE netlink attribute. This patch add support to Get/Set of a VFs min and max TX rate via IFLA_VF_RATE netlink attribute. - Add support to set min/max tx rate for VF via IFLA_VF_RATE - Added IFLA_VF_RATE min/max tx rate attributes to netlink.VfInfo including parsing support in netlink.parseVfInfo() NOTE: According to [1] IFLA_VF_RATE takes precedence over IFLA_VF_TX_RATE. Dealing with the co-existance of these netlink attributes is left for the user to handle. [1]https://lists.openwall.net/netdev/2014/05/22/42

view details

Thomas Bucher

commit sha b4e9f47a11c0950050d6c44ef7f0ba09bce6418d

Update netlink_unspecified.go AddrReplace was missing, could not compile on OSX

view details

Adrian Chiris

commit sha 46ae81cf70c46dcbee8f7374f5714a8b8b7fe128

Add support for IPoIB interfaces - Add a new Link type, IPoIB, that exposes the following IPoIB attributes: * IFLA_IPOIB_PKEY * IFLA_IPOIB_MODE * IFLA_IPOIB_UMCAST - Suppport Deserialize for IPoIB link attributes in LinkDeserialize() - Support IPoIB attributes in LinkAdd()

view details

Naiming Shen

commit sha e825b754c0b186814f7bb2c9e549613d56ff079b

Add Timestamp, Timeout to conntrack Signed-off-by: Naiming Shen <naiming@zededa.com>

view details

Yakushi Fujiwara

commit sha 254c8a89c501b7a60e4a3b1b0f357b107b6caa6e

Replace values defined in unix package. - replace following values to unix.* AF_MPLS, RTA_NEWDST, RTA_ENCAP_TYPE, RTA_ENCAP

view details

GopiKrishna Kodali

commit sha 941b4de9e151f1c3662f3f1fa23ec263999f09de

Read connection marking information from CT flow TLV

view details

Nicolas Belouin

commit sha a1c9a648f744c90cd1b03af9aa8bb1e92daa116f

neighSubscribeAt: AF_BRIDGE entries not listed when listExisting is true When subscribing to neigh updates, the updates for all neigh protocol families are received. However when listExisting is set, the request is made with AF_UNSPEC family, this request does not include AF_BRIDGE entries. This patch add a second request for AF_BRIDGE entries. Add test for existing AF_BRIDGE entry and make expectNeighUpdate take a slice of expected updates Creates a VXLAN interface for this test as its AF_BRIDGE entries looks a lot like usual ones Also add support for latest (2014+) neighbour attributes NDA_MASTER was added back in 2014, it indicates whether a neigh entry is linked to a master interface and index of this interface. The other entries, namely NDA_LINK_NETNSID and NDA_SRC_VNI were added later and will need extra handling. Signed-off-by: Nicolas Belouin <nicolas.belouin@gandi.net>

view details

Juan-Luis de Sousa-Valadas Castaño

commit sha 07130f38b91e869b1445b5f888ba2a9b64d73b9d

Fix parsing of IFLA_GRE_COLLECT_METADATA

view details

push time in 14 days

issue commentgolang/go

syscall: TestSyscallNoError failing on linux-mipsle-rtrk

Do I understand it correctly that linux-mipsle-rtrk is linux/mipsle actually running on 64-bit MIPS hardware/kernel? Maybe that has something to do with it?

bcmills

comment created time in 14 days

push eventtklauser/netns

Tonis Tiigi

commit sha a1b8f1f3bd4afcac01860dc316cabeccf03e1a68

add riscv64 support Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

view details

Martin Povišer

commit sha 6ed29a60d4eab4f2a776b4da77c0f61efd7f0c03

Document that New() changes the current ns

view details

Damon Wang

commit sha 4eab129c9c5697cf34e35dc38fe41a9a47b1022f

add ns support mips64le arch go env info [root@node152 weaver]# go env GOARCH="mips64le" GOBIN="" GOCACHE="/root/.cache/go-build" GOEXE="" GOHOSTARCH="mips64le" GOHOSTOS="linux" GOOS="linux" GOPATH="/root/goworkspace" GORACE="" GOROOT="/home/longxin/workspace/go" GOTMPDIR="" GOTOOLDIR="/home/longxin/workspace/go/pkg/tool/linux_mips64le" GCCGO="gccgo" CC="gcc" CXX="g++" CGO_ENABLED="1" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -mabi=64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build929428261=/tmp/go-build -gno-record-gcc-switches"

view details

matte21

commit sha 7109fa855b0ff1ebef7fbd2f6aa613e8db7cfbc0

Remove useless setting of new netns from README.md Remove from the README.md example the instruction which explicitly sets the newly created netns as the netns of the current OS Thread. The removed instruction is not needed because the setting is implicitly done by netns.New().

view details

Tobias Klauser

commit sha 0a2b9b5464df8343199164a0321edf3313202f7e

Add support for Go modules Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 15 days

delete branch tklauser/netns

delete branch : go-mod

delete time in 15 days

pull request commentvishvananda/netlink

Add support for Go modules

Ping?

tklauser

comment created time in 15 days

pull request commentvishvananda/netns

Add support for Go modules

Ping?

tklauser

comment created time in 15 days

issue commentgolang/go

dyld: Symbol not found: _fdopendir$INODE64 on OS X 10.9 Mavericks

Perhaps syscall.Getdirentries could be rewritten to not call fdopendir.

It could maybe be changed to fall back to the raw syscall version, like we do for old Go releases in x/sys/unix, see https://golang.org/cl/196478

probonopd

comment created time in 16 days

push eventtklauser/go-sysconf

Tobias Klauser

commit sha a133c9376e8d56ee73f64b5dd76552f9e52214ce

Fix golint warnings in sysconf_darwin.go Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 17 days

pull request commentshirou/gopsutil

Use golang.org/x/windows functions instead of github.com/shirou/w32

CircleCI failure is due to commit golang/sys@ef33b2fb2c414dca4bfcf6ca59cbd1d9ad00703d. Go 1.9 used for CircleCI container doesn't seem to support go:linkname properly yet.

tklauser

comment created time in 17 days

PR opened shirou/gopsutil

Use golang.org/x/windows functions instead of github.com/shirou/w32

All functions used from github.com/shirou/w32 are also available from golang.org/x/sys/windows which is already used in other places. Convert the remaining usages to use the functions from x/sys/windows.

+33 -50

0 comment

3 changed files

pr created time in 17 days

create barnchtklauser/gopsutil

branch : use-x-sys-windows

created branch time in 17 days

fork tklauser/gopsutil

psutil for golang

fork in 17 days

issue closedgolang/go

all: add support for FreeBSD / aarch64

Go 1.10 works for me on FreeBSD-CURRENT / arm, but I’d love an arm64 port.

closed time in 17 days

SylvainGarrigues

issue commentgolang/go

all: add support for FreeBSD / aarch64

The respective CLs have been submitted and the freebsd-arm64-dmgk builder has been passing for some time now. Let's close this and deal with any follow-up action in separate issues.

Thanks to everybody who contributed!

SylvainGarrigues

comment created time in 17 days

delete branch tklauser/go

delete branch : syscall-linux-riscv64

delete time in 19 days

issue commentgolang/go

all: port to RISC-V

Today is the last day of development before the Go 1.14 freeze begins.

What's the status here? Will this make it all in today?

Only speaking for myself: apart from https://golang.org/cl/204659 and https://golang.org/cl/204660, I have no CLs which are in a state ready to be reviewed before the freeze begins.

tklauser

comment created time in 20 days

push eventtklauser/go

diaxu01

commit sha 9ce5cad0aaf5eceda6927acec2db96ba5fd7ef07

cmd/internal/obj/arm64: add error checking for system registers. This CL adds system register error checking test cases. There're two kinds of error test cases: 1. illegal combination. MRS should be used in this way: MRS <system register>, <general register>. MSR should be used in this way: MSR <general register>, <system register>. Error usage examples: MRS R8, VTCR_EL2 // ERROR "illegal combination" MSR VTCR_EL2, R8 // ERROR "illegal combination" 2. illegal read or write access. Error usage examples: MSR R7, MIDR_EL1 // ERROR "expected writable system register or pstate" MRS OSLAR_EL1, R3 // ERROR "expected readable system register" This CL reads system registers readable and writeable property to check whether they're used with legal read or write access. This property is named AccessFlags in sysRegEnc.go, and it is automatically generated by modifing the system register generator. Change-Id: Ic83d5f372de38d1ecd0df1ca56b354ee157f16b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/194917 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Lynn Boger

commit sha 816ff44479ae1f1e9459221f63206e93f6f12824

cmd/compile: use vsx loads and stores for LoweredMove, LoweredZero on ppc64x This improves the code generated for LoweredMove and LoweredZero by using LXVD2X and STXVD2X to move 16 bytes at a time. These instructions are now used if the size to be moved or zeroed is >= 64. These same instructions have already been used in the asm implementations for memmove and memclr. Some examples where this shows an improvement on power8: MakeSlice/Byte 27.3ns ± 1% 25.2ns ± 0% -7.69% MakeSlice/Int16 40.2ns ± 0% 35.2ns ± 0% -12.39% MakeSlice/Int 94.9ns ± 1% 77.9ns ± 0% -17.92% MakeSlice/Ptr 129ns ± 1% 103ns ± 0% -20.16% MakeSlice/Struct/24 176ns ± 1% 131ns ± 0% -25.67% MakeSlice/Struct/32 200ns ± 1% 142ns ± 0% -29.09% MakeSlice/Struct/40 220ns ± 2% 156ns ± 0% -28.82% GrowSlice/Byte 81.4ns ± 0% 73.4ns ± 0% -9.88% GrowSlice/Int16 118ns ± 1% 98ns ± 0% -17.03% GrowSlice/Int 178ns ± 1% 134ns ± 1% -24.65% GrowSlice/Ptr 249ns ± 4% 212ns ± 0% -14.94% GrowSlice/Struct/24 294ns ± 5% 215ns ± 0% -27.08% GrowSlice/Struct/32 315ns ± 1% 248ns ± 0% -21.49% GrowSlice/Struct/40 382ns ± 4% 289ns ± 1% -24.38% ExtendSlice/IntSlice 109ns ± 1% 90ns ± 1% -17.51% ExtendSlice/PointerSlice 142ns ± 2% 118ns ± 0% -16.75% ExtendSlice/NoGrow 6.02ns ± 0% 5.88ns ± 0% -2.33% Append 27.2ns ± 0% 27.6ns ± 0% +1.38% AppendGrowByte 4.20ms ± 3% 2.60ms ± 0% -38.18% AppendGrowString 134ms ± 3% 102ms ± 2% -23.62% AppendSlice/1Bytes 5.65ns ± 0% 5.67ns ± 0% +0.35% AppendSlice/4Bytes 6.40ns ± 0% 6.55ns ± 0% +2.34% AppendSlice/7Bytes 8.74ns ± 0% 8.84ns ± 0% +1.14% AppendSlice/8Bytes 5.68ns ± 0% 5.70ns ± 0% +0.40% AppendSlice/15Bytes 9.31ns ± 0% 9.39ns ± 0% +0.86% AppendSlice/16Bytes 14.0ns ± 0% 5.8ns ± 0% -58.32% AppendSlice/32Bytes 5.72ns ± 0% 5.68ns ± 0% -0.66% AppendSliceLarge/1024Bytes 918ns ± 8% 615ns ± 1% -33.00% AppendSliceLarge/4096Bytes 3.25µs ± 1% 1.92µs ± 1% -40.84% AppendSliceLarge/16384Bytes 8.70µs ± 2% 4.69µs ± 0% -46.08% AppendSliceLarge/65536Bytes 18.1µs ± 3% 7.9µs ± 0% -56.30% AppendSliceLarge/262144Bytes 69.8µs ± 2% 25.9µs ± 0% -62.91% AppendSliceLarge/1048576Bytes 258µs ± 1% 93µs ± 0% -63.96% Change-Id: I21625dbe231a2029ddb9f7d73f5a6417b35c1e49 Reviewed-on: https://go-review.googlesource.com/c/go/+/199639 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Robert Griesemer

commit sha 37a2290095a78cbe0f0137d3e0d40611f9509ef3

go/types: fix cycle detection For Go 1.13, we rewrote the go/types cycle detection scheme. Unfortunately, it was a bit too clever and introduced a bug (#34333). Here's an example: type A struct { f1 *B f2 B } type B A When type-checking this code, the first cycle A->*B->B->A (via field f1) is ok because there's a pointer indirection. Though in the process B is considered "type-checked" (and painted/marked from "grey" to black"). When type-checking f2, since B is already completely set up, go/types doesn't complain about the invalid cycle A->B->A (via field f2) anymore. On the other hand, with the fields f1, f2 swapped: type A struct { f2 B f1 *B } go/types reports an error because the cycle A->B->A is type-checked first. In general, we cannot know the "right" order in which types need to be type-checked. This CL fixes the issue as follows: 1) The global object path cycle detection does not take (pointer, function, reference type) indirections into account anymore for cycle detection. That mechanism was incorrect to start with and the primary cause for this issue. As a consequence we don't need Checker.indirectType and indir anymore. 2) After processing type declarations, Checker.validType is called to verify that a type doesn't expand indefinitively. This corresponds essentially to cmd/compile's dowidth computation (without size computation). 3) Cycles involving only defined types (e.g.: type (A B; B C; C A)) require separate attention as those must now be detected when resolving "forward chains" of type declarations. Checker.underlying was changed to detect these cycles. All three cycle detection mechanism use an object path ([]Object) to report cycles. The cycle error reporting mechanism is now factored out into Checker.cycleError and used by all three mechanisms. It also makes an attempt to report the cycle starting with the "first" (earliest in the source) object. Fixes #34333. Change-Id: I2c6446445e47344cc2cd034d3c74b1c345b8c1e6 Reviewed-on: https://go-review.googlesource.com/c/go/+/196338 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Robert Griesemer

commit sha c7d7042efccd36182daea44584ee83762c0ca3d2

go/types: simplify some code and remove TODOs (cleanup) - remove Checker.cycle in favor of using a "seen" map - rename Checker.typeCycle -> Checker.cycle - remove TODO in api.go since the API is frozen Change-Id: I182a8215978dad54e9c6e79c21c5ec88ec802349 Reviewed-on: https://go-review.googlesource.com/c/go/+/198042 Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Robert Griesemer

commit sha 868de9a11179190f9830ece27de5a8eb63b2f3de

go/types: remove objSet type in favor of explicit map type (cleanup) Avoid confusion between (now gone) objSet and objset types. Also: rename visited -> seen in initorder.go. No functional changes. Change-Id: Ib0aa25e006eee55a79a739194d0d26190354a9f2 Reviewed-on: https://go-review.googlesource.com/c/go/+/198044 Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Davor Kapsa

commit sha decf9f6fef866aace6909dd6954e774dbb1aeefa

net/http: use err as error var in server.Serve Change-Id: Icbf97d640fb26eed646f9e85c1f1c94b1469ca4f Reviewed-on: https://go-review.googlesource.com/c/go/+/199778 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Dan Peterson

commit sha ed7e43085ef2e2c6a1d62785b2d2b343a80039bc

cmd/go: respect -mod flag in fmt Fixes #27841 Change-Id: Ifcfd938aff8680cf7b44dfc09fde01d6105345a0 Reviewed-on: https://go-review.googlesource.com/c/go/+/198257 Run-TryBot: Dan Peterson <dpiddy@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Katie Hockman

commit sha ce83f41fed32bfc7826ec0cd7756a34594f8746b

net/textproto: do not allow multi-line header field names Fixes #34702 Change-Id: I98320d54726e646a310e583283ddab676c3503e7 Reviewed-on: https://go-review.googlesource.com/c/go/+/199838 Run-TryBot: Katie Hockman <katie@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Robert Griesemer

commit sha 5650a53dac73703a1bc095a277a194813519001f

go/types: don't skip defined types when reporting cycles The newly introduced "late-stage" cycle detection for types (https://golang.org/cl/196338/) "skips" named types on the RHS of a type declaration when reporting a cycle. For instance, for: type ( A B B [10]C C A ) the reported cycle is: illegal cycle in declaration of C C refers to C because the underlying type of C resolves to [10]C (note that cmd/compile does the same but simply says invalid recursive type C). This CL introduces the Named.orig field which always refers to the RHS type in a type definition (and is never changed). By using Named.orig rather than Named.underlying for the type validity check, the cycle as written in the source code is reported: illegal cycle in declaration of A A refers to B refers to C refers to A Fixes #34771. Change-Id: I41e260ceb3f9a15da87ffae6a3921bd8280e2ac4 Reviewed-on: https://go-review.googlesource.com/c/go/+/199937 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Matthew Dempsky

commit sha 2197321db1dd997165c0091ba2bcb3b6be7633d0

cmd/compile: split n.Noescape() into separate uses n.Noescape() was overloaded for two uses: (1) to indicate a function was annotated with //go:noescape, and (2) to indicate that certain temporary allocations don't outlive the current statement. The first use case is redundant with n.Func.Pragma&Noescape!=0, which is the convention we use for checking other function-level pragmas. The second use case is better served by renaming "Noescape" to "Transient". Passes toolstash-check. Change-Id: I0f09d2d5767513894b7bf49da9cdabd04aa4a05e Reviewed-on: https://go-review.googlesource.com/c/go/+/199822 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Brad Fitzpatrick

commit sha a38a917aee626a9b9d5ce2b93964f586bf759ea0

all: remove the nacl port (part 1) You were a useful port and you've served your purpose. Thanks for all the play. A subsequent CL will remove amd64p32 (including assembly files and toolchain bits) and remaining bits. The amd64p32 removal will be separated into its own CL in case we want to support the Linux x32 ABI in the future and want our old amd64p32 support as a starting point. Updates #30439 Change-Id: Ia3a0c7d49804adc87bf52a4dea7e3d3007f2b1cd Reviewed-on: https://go-review.googlesource.com/c/go/+/199499 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Elias Naur

commit sha 0b204f958e0960fab34e09812eb5a3396ed3f1c9

go/build: allow ~ and ^ in #cgo directives for sr.ht import paths Fixes #32260 Change-Id: Ib44ee33b8143d523875cf5a2bc5e36bf082801a4 Reviewed-on: https://go-review.googlesource.com/c/go/+/199918 Run-TryBot: Elias Naur <mail@eliasnaur.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Bryan C. Mills

commit sha 421d35cf69f4a18edf96004ba99c01e629a0f79f

cmd/go: suppress more errors in package-to-module loading In CL 197059, I suppressed errors if the target package was already found. However, that does not cover the case of passing a '/v2' module path to 'go get' when the module does not contain a package at its root. This CL is a minimal fix for that case, intended to be backportable to 1.13. (Longer term, I intend to rework the version-validation check to treat all mismatched paths as ErrNotExist.) Fixes #34746 Updates #34383 Change-Id: Ia963c2ea00fae424812b8f46a4d6c2c668252147 Reviewed-on: https://go-review.googlesource.com/c/go/+/199839 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 Munday

commit sha ff86ce13b69f427248203493d669a730988f882c

cmd/asm: fix element size encoding for VSUMQ instruction on s390x The element size for VSUMQF and VSUMQG was off by one. Fix this and add tests for VSUM* instruction encodings. Change-Id: I6de2dabb383e5bc6f85eef1e0f106ba949c9030b Reviewed-on: https://go-review.googlesource.com/c/go/+/199978 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Michael Munday

commit sha 38c4a7370670e6b73cbae192c7d3079c90203832

cmd/asm: add s390x branch-on-count instructions The branch-on-count instructions on s390x decrement the input register and then compare its value to 0. If not equal the branch is taken. These instructions are useful for implementing loops with a set number of iterations (which might be in a register). For example, this for loop: for i := 0; i < n; i++ { ... // i is not used or modified in the loop } Could be implemented using this assembly: MOVD Rn, Ri loop: ... BRCTG Ri, loop Note that i will count down from n in the assembly whereas in the original for loop it counted up to n which is why we can't use i in the loop. These instructions will only be used in hand-written codegen and assembly for now since SSA blocks cannot currently modify values. We could look into this in the future though. Change-Id: Iaab93b8aa2699513b825439b8ea20d8fe2ea1ee6 Reviewed-on: https://go-review.googlesource.com/c/go/+/199977 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Daniel Martí

commit sha 1fba10c999613e8c04cef7f1331ff0051bfa7057

cmd/go: fail if a test binary exits with no output For example, if a test calls os.Exit(0), that could trick a 'go test' run into not running some of the other tests, and thinking that they all succeeded. This can easily go unnoticed and cause developers headaches. Add a simple sanity check as part of 'go test': if the test binary succeeds and doesn't print anything, we should error, as something clearly went very wrong. This is done by inspecting each of the stdout writes from the spawned process, since we don't want to read the entirety of the output into a buffer. We need to introduce a "buffered" bool var, as there's now an io.Writer layer between cmd.Stdout and &buf. A few TestMain funcs in the standard library needed fixing, as they returned without printing anything as a means to skip testing the entire package. For that purpose add testenv.MainMust, which prints a warning and prints SKIP, similar to when -run matches no tests. Finally, add tests for both os.Exit(0) and os.Exit(1), both as part of TestMain and as part of a single test, and test that the various stdout modes still do the right thing. Fixes #29062. Change-Id: Ic6f8ef3387dfc64e4cd3e8f903d7ca5f5f38d397 Reviewed-on: https://go-review.googlesource.com/c/go/+/184457 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Than McIntosh

commit sha 22d3da47818a884454ff2a9818edbae358b43e49

test: new testcase for gccgo compiler problem Test case with code that caused a gccgo error while emitting export data for an inlinable function. Updates #34577. Change-Id: I28b598c4c893c77f4a76bb4f2d27e5b42f702992 Reviewed-on: https://go-review.googlesource.com/c/go/+/198057 Run-TryBot: Than McIntosh <thanm@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Jay Conrod

commit sha dae8e719614f6e3d2e4e66071e5c91964b404676

cmd/go: document multiple conditions in TestScript This functionality already exists but was undocumented. Related to comments in CL 198797. Change-Id: Icce40bd7c362423e6ed9c20673ce3de1311e5fd5 Reviewed-on: https://go-review.googlesource.com/c/go/+/200040 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Bryan C. Mills

commit sha 1736f3a126ce0980e2584aebb35c94e8b33b1bfb

cmd/go: automatically check and use vendored packages This implements the proposal described in https://golang.org/issue/33848#issuecomment-537222782. Fixes #33848 Change-Id: Ia34d6500ca396b6aa644b920233716c6b83ef729 Reviewed-on: https://go-review.googlesource.com/c/go/+/198319 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 6cba4dbf80012c272cb04bd878dfba251d9bb05c

cmd/go/internal/list: disallow 'list -m' with '-mod=vendor' Updates #33848 Change-Id: I81663386297282397ce1b546a8b15597bfbcea78 Reviewed-on: https://go-review.googlesource.com/c/go/+/199821 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 21 days

delete branch tklauser/go

delete branch : freebsd-arm64

delete time in 21 days

issue closedgolang/go

runtime: some cgo tests are failing on freebsd/arm64

There still seem to be some issues with cgo, see https://golang.org/cl/199919:

--- FAIL: TestSigStackSwapping (12.99s)
    crash_test.go:95: testprogcgo SigStack exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:480: expected "OK\n" got 
--- FAIL: TestCgoNumGoroutine (12.93s)
    crash_test.go:95: testprogcgo NumGoroutine exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:411: expected "OK\n" got 
--- FAIL: TestEnsureDropM (21.49s)
    crash_test.go:95: testprogcgo EnsureDropM exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:174: expected "OK\n", got 
--- FAIL: TestCgoExternalThreadSignal (26.27s)
    crash_cgo_test.go:129: exit status: signal: segmentation fault (core dumped)
--- FAIL: TestCgoExternalThreadPanic (11.53s)
    crash_test.go:95: testprogcgo CgoExternalThreadPanic exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:82: want failure containing "panic: BOOM". output:
        
--- FAIL: TestCgoExternalThreadSIGPROF (26.92s)
    crash_cgo_test.go:106: exit status: signal: segmentation fault (core dumped)
--- FAIL: TestCgoCallbackGC (12.73s)
    crash_test.go:95: testprogcgo CgoCallbackGC exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:70: expected "OK\n", but got:
FAIL
FAIL	runtime	101.212s
FAIL

Not sure whether these are the same as the cgo issues @dmgk and @MikaelUrankar saw. Or maybe these are some changes I forgot to pick up during rebase of https://golang.org/cl/198544.

Originally posted by @tklauser in https://github.com/golang/go/issues/24715#issuecomment-546690640

closed time in 24 days

dmgk

issue commentgolang/go

runtime: some cgo tests are failing on freebsd/arm64

Seems to be fixed by https://golang.org/cl/203519

dmgk

comment created time in 24 days

issue commentgolang/go

all: add support for FreeBSD / aarch64

There still seem to be some issues with cgo, see https://golang.org/cl/199919:

--- FAIL: TestSigStackSwapping (12.99s)
    crash_test.go:95: testprogcgo SigStack exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:480: expected "OK\n" got 
--- FAIL: TestCgoNumGoroutine (12.93s)
    crash_test.go:95: testprogcgo NumGoroutine exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:411: expected "OK\n" got 
--- FAIL: TestEnsureDropM (21.49s)
    crash_test.go:95: testprogcgo EnsureDropM exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:174: expected "OK\n", got 
--- FAIL: TestCgoExternalThreadSignal (26.27s)
    crash_cgo_test.go:129: exit status: signal: segmentation fault (core dumped)
--- FAIL: TestCgoExternalThreadPanic (11.53s)
    crash_test.go:95: testprogcgo CgoExternalThreadPanic exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:82: want failure containing "panic: BOOM". output:
        
--- FAIL: TestCgoExternalThreadSIGPROF (26.92s)
    crash_cgo_test.go:106: exit status: signal: segmentation fault (core dumped)
--- FAIL: TestCgoCallbackGC (12.73s)
    crash_test.go:95: testprogcgo CgoCallbackGC exit status: signal: segmentation fault (core dumped)
    crash_cgo_test.go:70: expected "OK\n", but got:
FAIL
FAIL	runtime	101.212s
FAIL

Not sure whether these are the same as the cgo issues @dmgk and @MikaelUrankar saw. Or maybe these are some changes I forgot to pick up during rebase of https://golang.org/cl/198544.

SylvainGarrigues

comment created time in 25 days

issue closedgolang/go

x/net/{ipv4,ipv6}: build failing on freebsd-arm64-dmgk

From the freebsd-arm64-dmgk builder (https://build.golang.org/log/761650933005aefb2a947f53509f7812ec692fa2):

# golang.org/x/net/ipv4
ipv4/sys_asmreq.go:47:31: undefined: ipMreq
ipv4/sys_freebsd.go:20:18: undefined: sysIP_RECVTTL
ipv4/sys_freebsd.go:21:18: undefined: sysIP_RECVDSTADDR
ipv4/sys_freebsd.go:22:18: undefined: sysIP_RECVIF
ipv4/sys_freebsd.go:26:79: undefined: sysIP_TOS
ipv4/sys_freebsd.go:27:79: undefined: sysIP_TTL
ipv4/sys_freebsd.go:28:79: undefined: sysIP_MULTICAST_TTL
ipv4/sys_freebsd.go:29:79: undefined: sysIP_MULTICAST_IF
ipv4/sys_freebsd.go:60:11: undefined: groupReq
ipv4/sys_freebsd.go:67:12: undefined: groupSourceReq
ipv4/sys_freebsd.go:29:79: too many errors
# golang.org/x/net/ipv6
ipv6/icmp.go:37:2: undefined: icmpv6Filter
ipv6/icmp_bsd.go:9:10: undefined: icmpv6Filter
ipv6/icmp_bsd.go:13:10: undefined: icmpv6Filter
ipv6/icmp_bsd.go:17:10: undefined: icmpv6Filter
ipv6/icmp_bsd.go:27:10: undefined: icmpv6Filter
ipv6/sys_freebsd.go:61:11: undefined: sockaddrInet6
ipv6/sys_freebsd.go:68:11: undefined: inet6Pktinfo
ipv6/sys_freebsd.go:72:13: undefined: ipv6Mreq
ipv6/sys_freebsd.go:76:11: undefined: groupReq
ipv6/sys_freebsd.go:83:12: undefined: groupSourceReq
ipv6/sys_freebsd.go:83:12: too many errors

CC @dmgk

closed time in 25 days

bcmills

issue commentgolang/go

x/net/{ipv4,ipv6}: build failing on freebsd-arm64-dmgk

Fixed by https://golang.org/cl/203518

bcmills

comment created time in 25 days

issue commentgolang/go

x/term: needs x/sys upgrade for freebsd-arm64

Fixed by https://golang.org/cl/203617

bcmills

comment created time in 25 days

issue closedgolang/go

x/term: needs x/sys upgrade for freebsd-arm64

From the freebsd-arm64-dmgk builder (https://build.golang.org/log/da798266d1c726e10eef98c1b2c306066d786f79):

go: finding golang.org/x/sys v0.0.0-20191010194322-b09406accb47
# golang.org/x/sys/unix
../../../../pkg/mod/golang.org/x/sys@v0.0.0-20191010194322-b09406accb47/unix/ztypes_freebsd_arm64.go:400:12: undefined: uint128
FAIL	golang.org/x/term [build failed]

There is no such failure in the builder for the x/sys subrepo, so presumably it just needs an update.

CC @tklauser @dmgk

closed time in 25 days

bcmills

issue commentgolang/go

misc/cgo/testcshared: broken on linux-arm64-packet builder

Sorry about that. I'm working on a fix.

bcmills

comment created time in a month

Pull request review commentnetsniff-ng/netsniff-ng

astraceroute: stopping when target is reached, finer control on number of packets sent, and other smaller changes

 default is 2 query requests. .B -x <sec>, --timeout <sec> Tells astraceroute the probe response timeout in seconds, in other words the maximum time astraceroute must wait for an ICMP response from the current-hop. The default is 3 seconds.+hop. The default is 2 seconds.

You're right, sorry about that.

uno20001

comment created time in a month

Pull request review commentnetsniff-ng/netsniff-ng

astraceroute: stopping when target is reached, finer control on number of packets sent, and other smaller changes

 default is 2 query requests. .B -x <sec>, --timeout <sec> Tells astraceroute the probe response timeout in seconds, in other words the maximum time astraceroute must wait for an ICMP response from the current-hop. The default is 3 seconds.+hop. The default is 2 seconds.

Makes sense to change it. But please do so in a separate commit giving the above explanation in the commit description. That way the change will not be buried beneath other unrelated changes.

uno20001

comment created time in a month

push eventtklauser/go

Daniel Martí

commit sha 80fb18e3c0136150965f0bc01c9ef1e6dc4039ac

cmd/go: avoid ssh known_hosts prompts on test TestScripts/mod_get_svn would stop with the following prompt if the real user didn't have vcs-test.golang.org in their known_hosts file: The authenticity of host 'vcs-test.golang.org (35.184.38.56)' can't be established. ECDSA key fingerprint is SHA256:[...] Are you sure you want to continue connecting (yes/no/[fingerprint])? This was bad because it relied on the user's real ssh known_hosts file. Worse even, if the user didn't expert or notice the prompt, it could hang a 'go test' run for quite a while. Work around that by forcing svn to not use ssh at all. Other potentially better approaches were tried, but none worked on svn 1.12.2 with openssh 8.0p1. Fixes #33883. Change-Id: I2f925fa892f2fa53c77d86b0034141162517ee69 Reviewed-on: https://go-review.googlesource.com/c/go/+/199142 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Cuong Manh Le

commit sha 1cb61b80bd286e322acf62344496bb71147df4d0

runtime: add doc to remind adopting changes to reflectlite Updates #34486 Change-Id: Iec9a5d120013aaa287eccf2999b3f2b831be070e Reviewed-on: https://go-review.googlesource.com/c/go/+/197558 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Cuong Manh Le

commit sha ee3f768d3861e00dbc6a81392a711209f66e235c

internal/reflectlite: updates reflectlite to match runtime rtype/mapType CL 191198 updated runtime rtype and mapType without adopting the changes to reflectlite, causing mismatch between them. This CL updates those changes to reflectlite. Fixes #34486 Change-Id: I2bb043673d997f97bb0b12c4ad471474803b2160 Reviewed-on: https://go-review.googlesource.com/c/go/+/197559 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Keith Randall <khr@golang.org>

view details

Serhat Giydiren

commit sha fc8bef06c4097ca80efa47aacb55201580015015

unicode/utf8: add link to formal UTF-8 description. Fixes #31590 Change-Id: I7fd6dcc5c34496776439ff0295f18b5fb5cb538a Reviewed-on: https://go-review.googlesource.com/c/go/+/199141 Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Shenghou Ma

commit sha cfe232042981972dc0c7e8d741a04556ecaae3c3

os: re-enable TestPipeThreads on darwin CL 197938 actually fixes those regression on Darwin as syscalls are no longer labeled as always blocking and consume a thread. Fixes #33953 Fixes #32326 Change-Id: I82c98516c23cd36f762bc5433d7b71ea8939a0ac Reviewed-on: https://go-review.googlesource.com/c/go/+/199477 Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>

view details

Michael Munday

commit sha c7d81bc08646ca56d6fe560c77d99be933d7f6dd

cmd/compile: reduce amount of code generated for block rewrite rules Add a Reset method to blocks that allows us to reduce the amount of code we generate for block rewrite rules. Thanks to Cherry for suggesting a similar fix to this in CL 196557. Compilebench result: name old time/op new time/op delta Template 211ms ± 1% 211ms ± 1% -0.30% (p=0.028 n=19+20) Unicode 83.7ms ± 3% 83.0ms ± 2% -0.79% (p=0.029 n=18+19) GoTypes 757ms ± 1% 755ms ± 1% -0.31% (p=0.034 n=19+19) Compiler 3.51s ± 1% 3.50s ± 1% -0.20% (p=0.013 n=18+18) SSA 11.7s ± 1% 11.7s ± 1% -0.38% (p=0.000 n=19+19) Flate 131ms ± 1% 130ms ± 1% -0.32% (p=0.024 n=18+18) GoParser 162ms ± 1% 162ms ± 1% ~ (p=0.059 n=20+18) Reflect 471ms ± 0% 470ms ± 0% -0.24% (p=0.045 n=20+17) Tar 187ms ± 1% 186ms ± 1% ~ (p=0.157 n=20+20) XML 255ms ± 1% 255ms ± 1% ~ (p=0.461 n=19+20) LinkCompiler 754ms ± 2% 755ms ± 2% ~ (p=0.919 n=17+17) ExternalLinkCompiler 2.82s ±16% 2.37s ±10% -15.94% (p=0.000 n=20+20) LinkWithoutDebugCompiler 439ms ± 4% 442ms ± 6% ~ (p=0.461 n=18+19) StdCmd 25.8s ± 2% 25.5s ± 1% -0.95% (p=0.000 n=20+20) name old user-time/op new user-time/op delta Template 240ms ± 8% 238ms ± 7% ~ (p=0.301 n=20+20) Unicode 107ms ±18% 104ms ±13% ~ (p=0.149 n=20+20) GoTypes 883ms ± 3% 888ms ± 2% ~ (p=0.211 n=20+20) Compiler 4.22s ± 1% 4.20s ± 1% ~ (p=0.077 n=20+18) SSA 14.1s ± 1% 14.1s ± 2% ~ (p=0.192 n=20+20) Flate 145ms ±10% 148ms ± 5% ~ (p=0.126 n=20+18) GoParser 186ms ± 7% 186ms ± 7% ~ (p=0.779 n=20+20) Reflect 538ms ± 3% 541ms ± 3% ~ (p=0.192 n=20+20) Tar 218ms ± 4% 217ms ± 6% ~ (p=0.835 n=19+20) XML 298ms ± 5% 298ms ± 5% ~ (p=0.749 n=19+20) LinkCompiler 818ms ± 5% 825ms ± 8% ~ (p=0.461 n=20+20) ExternalLinkCompiler 1.55s ± 4% 1.53s ± 5% ~ (p=0.063 n=20+18) LinkWithoutDebugCompiler 460ms ±12% 460ms ± 7% ~ (p=0.925 n=20+20) name old object-bytes new object-bytes delta Template 554kB ± 0% 554kB ± 0% ~ (all equal) Unicode 215kB ± 0% 215kB ± 0% ~ (all equal) GoTypes 2.01MB ± 0% 2.01MB ± 0% ~ (all equal) Compiler 7.97MB ± 0% 7.97MB ± 0% +0.00% (p=0.000 n=20+20) SSA 26.8MB ± 0% 26.9MB ± 0% +0.27% (p=0.000 n=20+20) Flate 340kB ± 0% 340kB ± 0% ~ (all equal) GoParser 434kB ± 0% 434kB ± 0% ~ (all equal) Reflect 1.34MB ± 0% 1.34MB ± 0% ~ (all equal) Tar 480kB ± 0% 480kB ± 0% ~ (all equal) XML 622kB ± 0% 622kB ± 0% ~ (all equal) name old export-bytes new export-bytes delta Template 20.4kB ± 0% 20.4kB ± 0% ~ (all equal) Unicode 8.21kB ± 0% 8.21kB ± 0% ~ (all equal) GoTypes 36.6kB ± 0% 36.6kB ± 0% ~ (all equal) Compiler 115kB ± 0% 115kB ± 0% +0.08% (p=0.000 n=20+20) SSA 141kB ± 0% 141kB ± 0% +0.07% (p=0.000 n=20+20) Flate 5.11kB ± 0% 5.11kB ± 0% ~ (all equal) GoParser 8.93kB ± 0% 8.93kB ± 0% ~ (all equal) Reflect 11.8kB ± 0% 11.8kB ± 0% ~ (all equal) Tar 10.9kB ± 0% 10.9kB ± 0% ~ (all equal) XML 17.4kB ± 0% 17.4kB ± 0% ~ (all equal) name old text-bytes new text-bytes delta HelloSize 742kB ± 0% 742kB ± 0% ~ (all equal) CmdGoSize 10.7MB ± 0% 10.7MB ± 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.10MB ± 0% 1.10MB ± 0% ~ (all equal) CmdGoSize 14.9MB ± 0% 14.9MB ± 0% ~ (all equal) Change-Id: Ic89a8e62423b3d9fd9391159e0663acf450803b5 Reviewed-on: https://go-review.googlesource.com/c/go/+/198419 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc>

view details

Cuong Manh Le

commit sha 8b391060004dfc03c93a76faab4a0d208a60cc1b

internal/reflectlite: add type mirror with reflect test Add test to check that struct type in reflectlite is mirror of reflect. Note that the test does not check the field types, only check for number of fields and field name are the same. Updates #34486 Change-Id: Id5f9b26d35faec97863dd1fe7e5eab37d4913181 Reviewed-on: https://go-review.googlesource.com/c/go/+/199280 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Meng Zhuo

commit sha fc2915fabdda25912058b4e51b385e73e8ed2b4b

bytes: add endian base compare test The current bytes test suit didn't come with endian based test which causing #34549 can passed the try-bot. This test will failed when little endian architecture simply using load and compare uint. Update #34549 Change-Id: I0973c2cd505ce21c2bed1deeb7d526f1e872118d Reviewed-on: https://go-review.googlesource.com/c/go/+/198358 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Keith Randall

commit sha 72dc9ab1919e9fac9f3e63a109232cd79a050255

cmd/compile: reuse dead register before reusing register holding constant For commuting ops, check whether the second argument is dead before checking if the first argument is rematerializeable. Reusing the register holding a dead value is always best. Fixes #33580 Change-Id: I7372cfc03d514e6774d2d9cc727a3e6bf6ce2657 Reviewed-on: https://go-review.googlesource.com/c/go/+/199559 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>

view details

Cuong Manh Le

commit sha 54001652d400a5ddb56c7b7a4787ef662083bf45

internal/reflectlite: add missing copyright header Change-Id: Id43870de6608ef2e8c0ebef82fd710b2c3061e66 Reviewed-on: https://go-review.googlesource.com/c/go/+/199599 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>

view details

Keith Randall

commit sha 30da79d958cff1b91cc97a241c916f1b43a2ad20

cmd/compile: improve write barrier removal We're allowed to remove a write barrier when both the old value in memory and the new value we're writing are not heap pointers. Improve both those checks a little bit. A pointer is known to not be a heap pointer if it is read from read-only memory. This sometimes happens for loads of pointers from string constants in read-only memory. Do a better job of tracking which parts of memory are known to be zero. Before we just kept track of a range of offsets in the most recently allocated object. For code that initializes the new object's fields in a nonstandard order, that tracking is imprecise. Instead, keep a bit map of the first 64 words of that object, so we can track precisely what we know to be zeroed. The new scheme is only precise up to the first 512 bytes of the object. After that, we'll use write barriers unnecessarily. Hopefully most initializers of large objects will use typedmemmove, which does only one write barrier check for the whole initialization. Fixes #34723 Update #21561 Change-Id: Idf6e1b7d525042fb67961302d4fc6f941393cac8 Reviewed-on: https://go-review.googlesource.com/c/go/+/199558 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Richard Musiol

commit sha 30521d5126c47c9db0dd4cafc3de5bcf3c6348dd

cmd/link: produce valid binaries with large data section on wasm CL 170950 had a regression that makes the compiler produce an invalid wasm binary if the data section is too large. Loading such a binary gives the following error: "LinkError: WebAssembly.instantiate(): data segment is out of bounds" This change fixes the issue by ensuring that the minimum size of the linear memory is larger than the end of the data section. Fixes #34395. Change-Id: I0c8629de7ffd0d85895ad31bf8c9d45fef197a57 Reviewed-on: https://go-review.googlesource.com/c/go/+/199358 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Richard Musiol

commit sha 1c8e6077f67ea33b752ebf93483517b03ad9393f

runtime: do not omit stack trace of goroutine that handles async events On wasm there is a special goroutine that handles asynchronous events. Blocking this goroutine often causes a deadlock. However, the stack trace of this goroutine was omitted when printing the deadlock error. This change adds an exception so the goroutine is not considered as an internal system goroutine and the stack trace gets printed, which helps with debugging the deadlock. Updates #32764 Change-Id: Icc8f5ba3ca5a485d557b7bdd76bf2f1ffb92eb3e Reviewed-on: https://go-review.googlesource.com/c/go/+/199537 Run-TryBot: Richard Musiol <neelance@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Matthew Dempsky

commit sha 05a805a6de9c1b49ee1d5d55589a119cae5ab556

cmd/compile: introduce EscLeaks abstraction This CL better abstracts away the parameter leak info that was directly encoded into the uint16 value. Followup CL will rewrite the implementation. Passes toolstash-check. Updates #33981. Change-Id: I27f81d26f5dd2d85f5b0e5250ca529819a1f11c2 Reviewed-on: https://go-review.googlesource.com/c/go/+/197679 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Matthew Dempsky

commit sha a0894ea5b5c326f1ddc7c4c6674d5858f8761dc8

cmd/compile: reimplement parameter leak encoding Currently, escape analysis is able to record at most one dereference when a parameter leaks to the heap; that is, at call sites, it can't distinguish between any of these three functions: func x1(p ****int) { sink = *p } func x2(p ****int) { sink = **p } func x3(p ****int) { sink = ***p } Similarly, it's limited to recording parameter leaks to only the first 4 parameters, and only up to 6 dereferences. All of these limitations are due to the awkward encoding scheme used at the moment. This CL replaces the encoding scheme with a simple [8]uint8 array, which can handle up to the first 7 parameters, and up to 254 dereferences, which ought to be enough for anyone. And if not, it's much more easily increased. Shrinks export data size geometric mean for Kubernetes by 0.07%. Fixes #33981. Change-Id: I10a94b9accac9a0c91490e0d6d458316f5ca1e13 Reviewed-on: https://go-review.googlesource.com/c/go/+/197680 Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Ben Schwartz

commit sha e1446d9cee91af263af15efe8291644b590bb9ff

runtime: speed up receive on empty closed channel Currently, nonblocking receive on an open channel is about 700 times faster than nonblocking receive on a closed channel. This change makes closed channels equally fast. Fixes #32529 relevant benchstat output: name old time/op new time/op delta MakeChan/Byte-40 140ns ± 4% 137ns ± 7% -2.38% (p=0.023 n=17+19) MakeChan/Int-40 174ns ± 5% 173ns ± 6% ~ (p=0.437 n=18+19) MakeChan/Ptr-40 315ns ±15% 301ns ±15% ~ (p=0.051 n=20+20) MakeChan/Struct/0-40 123ns ± 8% 99ns ±11% -19.18% (p=0.000 n=20+17) MakeChan/Struct/32-40 297ns ± 8% 241ns ±18% -19.13% (p=0.000 n=20+20) MakeChan/Struct/40-40 344ns ± 5% 273ns ±23% -20.49% (p=0.000 n=20+20) ChanNonblocking-40 0.32ns ± 2% 0.32ns ± 2% -1.25% (p=0.000 n=19+18) SelectUncontended-40 5.72ns ± 1% 5.71ns ± 2% ~ (p=0.326 n=19+19) SelectSyncContended-40 10.9µs ±10% 10.6µs ± 3% -2.77% (p=0.009 n=20+16) SelectAsyncContended-40 1.00µs ± 0% 1.10µs ± 0% +10.75% (p=0.000 n=18+19) SelectNonblock-40 1.22ns ± 2% 1.21ns ± 4% ~ (p=0.141 n=18+19) ChanUncontended-40 240ns ± 4% 233ns ± 4% -2.82% (p=0.000 n=20+20) ChanContended-40 86.7µs ± 0% 82.7µs ± 0% -4.64% (p=0.000 n=20+19) ChanSync-40 294ns ± 7% 284ns ± 9% -3.44% (p=0.006 n=20+20) ChanSyncWork-40 38.4µs ±19% 34.0µs ± 4% -11.33% (p=0.000 n=20+18) ChanProdCons0-40 1.50µs ± 1% 1.63µs ± 0% +8.53% (p=0.000 n=19+19) ChanProdCons10-40 1.17µs ± 0% 1.18µs ± 1% +0.44% (p=0.000 n=19+20) ChanProdCons100-40 985ns ± 0% 959ns ± 1% -2.64% (p=0.000 n=20+20) ChanProdConsWork0-40 1.50µs ± 0% 1.60µs ± 2% +6.54% (p=0.000 n=18+20) ChanProdConsWork10-40 1.26µs ± 0% 1.26µs ± 2% +0.40% (p=0.015 n=20+19) ChanProdConsWork100-40 1.27µs ± 0% 1.22µs ± 0% -4.15% (p=0.000 n=20+19) SelectProdCons-40 1.50µs ± 1% 1.53µs ± 1% +1.95% (p=0.000 n=20+20) ChanCreation-40 82.1ns ± 5% 81.6ns ± 7% ~ (p=0.483 n=19+19) ChanSem-40 877ns ± 0% 719ns ± 0% -17.98% (p=0.000 n=18+19) ChanPopular-40 1.75ms ± 2% 1.78ms ± 3% +1.76% (p=0.002 n=20+19) ChanClosed-40 215ns ± 1% 0ns ± 6% -99.82% (p=0.000 n=20+18) Change-Id: I6d5ca4f1530cc9e1a9f3ef553bbda3504a036448 Reviewed-on: https://go-review.googlesource.com/c/go/+/181543 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Matthew Dempsky

commit sha ab00f89c2742792ae23c6861e82c4b0b6cc6376b

cmd/compile: remove useless block-indirection in type switch Previously, when emitting type switches without an explicit "case nil" clause, we would emit: if x == nil { goto Lnil } ... Lnil: goto Ldefault But we can instead just emit: if x == nil { goto Ldefault } Doesn't pass toolstash-check; seems like it causes some harmless instruction scheduling changes. Change-Id: Ie233dda26756911e93a08b3db40407ba38694c62 Reviewed-on: https://go-review.googlesource.com/c/go/+/199644 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

David Chase

commit sha 01ff213a51a6713958f80619f483eb2e731e034a

cmd/compile: suppress statement marks on interior of switch tree The lines on nodes within the IF-tree generated for switch statements looks like control flow so the lines get marked as statement boundaries. Except for the first/root comparison, explicitly disable the marks. Change-Id: I64b966ed8e427cdc6b816ff6b6a2eb754346edc7 Reviewed-on: https://go-review.googlesource.com/c/go/+/198738 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

Richard Musiol

commit sha ecba83520d4c34870e0f5f0997d59d4496957240

syscall: on wasm, do not panic if "process" global is not defined When running wasm in the browser, the "process" global is not defined. This causes functions like os.Getpid() to panic, which is unusual. For example on Windows os.Getpid() returns -1 and does not panic. This change adds a dummy polyfill for "process" which returns -1 or an error. It also extends the polyfill for "fs". Fixes #34627 Replaces CL 199357 Change-Id: Ifeb12fe7e152c517848933a9ab5f6f749896dcef Reviewed-on: https://go-review.googlesource.com/c/go/+/199698 Run-TryBot: Richard Musiol <neelance@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Cuong Manh Le

commit sha 77f5adba554c80dc536f3076b2fa882d2cf0e992

cmd/compile: don't use statictmps for small object in slice literal Fixes #21561 Change-Id: I89c59752060dd9570d17d73acbbaceaefce5d8ce Reviewed-on: https://go-review.googlesource.com/c/go/+/197560 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

push time in a month

CommitCommentEvent

issue commentgolang/go

x/sys/unix: cmsgAlignOf redeclared

Yes, this is where they should be declared (once for dragonfly and once for all other geese). Does the issue still persist with this vendoring?

Sheshagiri

comment created time in a month

issue commentgolang/go

syscall: checkptr failures relating to Dirent on darwin and freebsd

Same happens in golang.org/x/sys/unix on the freebsd-amd64-race builder with -d=checkptr enabled:

https://build.golang.org/log/79e02a85654067a443293a96844a33710e123c27

mdempsky

comment created time in a month

issue openedgolang/go

x/sys/unix: Test_anyToSockaddr fails with -d=checkptr enabled

https://golang.org/cl/201783 enabled -d=checkptr on the race builders. This now fails Test_anyToSockaddr:

ok  	golang.org/x/sys/cpu	1.012s
--- FAIL: Test_anyToSockaddr (0.00s)
panic: runtime error: unsafe pointer conversion [recovered]
	panic: runtime error: unsafe pointer conversion

goroutine 5 [running]:
testing.tRunner.func1(0xc0000da300)
	/workdir/go/src/testing/testing.go:881 +0x69f
panic(0x78a300, 0xc00000e240)
	/workdir/go/src/runtime/panic.go:679 +0x1b2
golang.org/x/sys/unix.Test_anyToSockaddr(0xc0000da300)
	/workdir/gopath/src/golang.org/x/sys/unix/syscall_internal_linux_test.go:33 +0x75b
testing.tRunner(0xc0000da300, 0x7bb370)
	/workdir/go/src/testing/testing.go:916 +0x19a
created by testing.(*T).Run
	/workdir/go/src/testing/testing.go:967 +0x652
FAIL	golang.org/x/sys/unix	0.015s
?   	golang.org/x/sys/windows/mkwinsyscall	[no test files]
FAIL

https://build.golang.org/log/962a4c048d92bef8dce235fb5c8e6d8f957bd977

/cc @mdempsky @bradfitz @mdlayher

created time in a month

issue commentgolang/go

x/sys/unix: cmsgAlignOf redeclared

Are you sure you correctly vendored x/sys/unix? I can't seem to access github.com/extremenetworks/waas to check for myself. There shouldn't be a declaration of cmsgAlignOf anymore in sockcmsg_unix.go:

https://github.com/golang/sys/blob/master/unix/sockcmsg_unix.go

It was there before but was moved by https://golang.org/cl/202179

Sheshagiri

comment created time in a month

GollumEvent

issue commentgolang/go

syscall: TestPassFD fails on Dragonfly

Maybe we could use something similar to the freebsd port in order to support both ABI versions. I‘ll try to come up with something in https://golang.org/cl/201977

bradfitz

comment created time in a month

issue commentgolang/go

syscall: TestPassFD fails on Dragonfly

Yes, seems like this was an ABI change too: https://github.com/DragonFlyBSD/DragonFlyBSD/commit/b3aa44a1fb12417a3c45a78a0620e126ae6b624d

What is the compatibility policy for Go on Dragonfly? Do we support master, last release(s)?

bradfitz

comment created time in a month

push eventtklauser/go

Daniel Martí

commit sha 80fb18e3c0136150965f0bc01c9ef1e6dc4039ac

cmd/go: avoid ssh known_hosts prompts on test TestScripts/mod_get_svn would stop with the following prompt if the real user didn't have vcs-test.golang.org in their known_hosts file: The authenticity of host 'vcs-test.golang.org (35.184.38.56)' can't be established. ECDSA key fingerprint is SHA256:[...] Are you sure you want to continue connecting (yes/no/[fingerprint])? This was bad because it relied on the user's real ssh known_hosts file. Worse even, if the user didn't expert or notice the prompt, it could hang a 'go test' run for quite a while. Work around that by forcing svn to not use ssh at all. Other potentially better approaches were tried, but none worked on svn 1.12.2 with openssh 8.0p1. Fixes #33883. Change-Id: I2f925fa892f2fa53c77d86b0034141162517ee69 Reviewed-on: https://go-review.googlesource.com/c/go/+/199142 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Cuong Manh Le

commit sha 1cb61b80bd286e322acf62344496bb71147df4d0

runtime: add doc to remind adopting changes to reflectlite Updates #34486 Change-Id: Iec9a5d120013aaa287eccf2999b3f2b831be070e Reviewed-on: https://go-review.googlesource.com/c/go/+/197558 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Cuong Manh Le

commit sha ee3f768d3861e00dbc6a81392a711209f66e235c

internal/reflectlite: updates reflectlite to match runtime rtype/mapType CL 191198 updated runtime rtype and mapType without adopting the changes to reflectlite, causing mismatch between them. This CL updates those changes to reflectlite. Fixes #34486 Change-Id: I2bb043673d997f97bb0b12c4ad471474803b2160 Reviewed-on: https://go-review.googlesource.com/c/go/+/197559 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Keith Randall <khr@golang.org>

view details

Serhat Giydiren

commit sha fc8bef06c4097ca80efa47aacb55201580015015

unicode/utf8: add link to formal UTF-8 description. Fixes #31590 Change-Id: I7fd6dcc5c34496776439ff0295f18b5fb5cb538a Reviewed-on: https://go-review.googlesource.com/c/go/+/199141 Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>

view details

Shenghou Ma

commit sha cfe232042981972dc0c7e8d741a04556ecaae3c3

os: re-enable TestPipeThreads on darwin CL 197938 actually fixes those regression on Darwin as syscalls are no longer labeled as always blocking and consume a thread. Fixes #33953 Fixes #32326 Change-Id: I82c98516c23cd36f762bc5433d7b71ea8939a0ac Reviewed-on: https://go-review.googlesource.com/c/go/+/199477 Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>

view details

Michael Munday

commit sha c7d81bc08646ca56d6fe560c77d99be933d7f6dd

cmd/compile: reduce amount of code generated for block rewrite rules Add a Reset method to blocks that allows us to reduce the amount of code we generate for block rewrite rules. Thanks to Cherry for suggesting a similar fix to this in CL 196557. Compilebench result: name old time/op new time/op delta Template 211ms ± 1% 211ms ± 1% -0.30% (p=0.028 n=19+20) Unicode 83.7ms ± 3% 83.0ms ± 2% -0.79% (p=0.029 n=18+19) GoTypes 757ms ± 1% 755ms ± 1% -0.31% (p=0.034 n=19+19) Compiler 3.51s ± 1% 3.50s ± 1% -0.20% (p=0.013 n=18+18) SSA 11.7s ± 1% 11.7s ± 1% -0.38% (p=0.000 n=19+19) Flate 131ms ± 1% 130ms ± 1% -0.32% (p=0.024 n=18+18) GoParser 162ms ± 1% 162ms ± 1% ~ (p=0.059 n=20+18) Reflect 471ms ± 0% 470ms ± 0% -0.24% (p=0.045 n=20+17) Tar 187ms ± 1% 186ms ± 1% ~ (p=0.157 n=20+20) XML 255ms ± 1% 255ms ± 1% ~ (p=0.461 n=19+20) LinkCompiler 754ms ± 2% 755ms ± 2% ~ (p=0.919 n=17+17) ExternalLinkCompiler 2.82s ±16% 2.37s ±10% -15.94% (p=0.000 n=20+20) LinkWithoutDebugCompiler 439ms ± 4% 442ms ± 6% ~ (p=0.461 n=18+19) StdCmd 25.8s ± 2% 25.5s ± 1% -0.95% (p=0.000 n=20+20) name old user-time/op new user-time/op delta Template 240ms ± 8% 238ms ± 7% ~ (p=0.301 n=20+20) Unicode 107ms ±18% 104ms ±13% ~ (p=0.149 n=20+20) GoTypes 883ms ± 3% 888ms ± 2% ~ (p=0.211 n=20+20) Compiler 4.22s ± 1% 4.20s ± 1% ~ (p=0.077 n=20+18) SSA 14.1s ± 1% 14.1s ± 2% ~ (p=0.192 n=20+20) Flate 145ms ±10% 148ms ± 5% ~ (p=0.126 n=20+18) GoParser 186ms ± 7% 186ms ± 7% ~ (p=0.779 n=20+20) Reflect 538ms ± 3% 541ms ± 3% ~ (p=0.192 n=20+20) Tar 218ms ± 4% 217ms ± 6% ~ (p=0.835 n=19+20) XML 298ms ± 5% 298ms ± 5% ~ (p=0.749 n=19+20) LinkCompiler 818ms ± 5% 825ms ± 8% ~ (p=0.461 n=20+20) ExternalLinkCompiler 1.55s ± 4% 1.53s ± 5% ~ (p=0.063 n=20+18) LinkWithoutDebugCompiler 460ms ±12% 460ms ± 7% ~ (p=0.925 n=20+20) name old object-bytes new object-bytes delta Template 554kB ± 0% 554kB ± 0% ~ (all equal) Unicode 215kB ± 0% 215kB ± 0% ~ (all equal) GoTypes 2.01MB ± 0% 2.01MB ± 0% ~ (all equal) Compiler 7.97MB ± 0% 7.97MB ± 0% +0.00% (p=0.000 n=20+20) SSA 26.8MB ± 0% 26.9MB ± 0% +0.27% (p=0.000 n=20+20) Flate 340kB ± 0% 340kB ± 0% ~ (all equal) GoParser 434kB ± 0% 434kB ± 0% ~ (all equal) Reflect 1.34MB ± 0% 1.34MB ± 0% ~ (all equal) Tar 480kB ± 0% 480kB ± 0% ~ (all equal) XML 622kB ± 0% 622kB ± 0% ~ (all equal) name old export-bytes new export-bytes delta Template 20.4kB ± 0% 20.4kB ± 0% ~ (all equal) Unicode 8.21kB ± 0% 8.21kB ± 0% ~ (all equal) GoTypes 36.6kB ± 0% 36.6kB ± 0% ~ (all equal) Compiler 115kB ± 0% 115kB ± 0% +0.08% (p=0.000 n=20+20) SSA 141kB ± 0% 141kB ± 0% +0.07% (p=0.000 n=20+20) Flate 5.11kB ± 0% 5.11kB ± 0% ~ (all equal) GoParser 8.93kB ± 0% 8.93kB ± 0% ~ (all equal) Reflect 11.8kB ± 0% 11.8kB ± 0% ~ (all equal) Tar 10.9kB ± 0% 10.9kB ± 0% ~ (all equal) XML 17.4kB ± 0% 17.4kB ± 0% ~ (all equal) name old text-bytes new text-bytes delta HelloSize 742kB ± 0% 742kB ± 0% ~ (all equal) CmdGoSize 10.7MB ± 0% 10.7MB ± 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.10MB ± 0% 1.10MB ± 0% ~ (all equal) CmdGoSize 14.9MB ± 0% 14.9MB ± 0% ~ (all equal) Change-Id: Ic89a8e62423b3d9fd9391159e0663acf450803b5 Reviewed-on: https://go-review.googlesource.com/c/go/+/198419 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc>

view details

Cuong Manh Le

commit sha 8b391060004dfc03c93a76faab4a0d208a60cc1b

internal/reflectlite: add type mirror with reflect test Add test to check that struct type in reflectlite is mirror of reflect. Note that the test does not check the field types, only check for number of fields and field name are the same. Updates #34486 Change-Id: Id5f9b26d35faec97863dd1fe7e5eab37d4913181 Reviewed-on: https://go-review.googlesource.com/c/go/+/199280 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Meng Zhuo

commit sha fc2915fabdda25912058b4e51b385e73e8ed2b4b

bytes: add endian base compare test The current bytes test suit didn't come with endian based test which causing #34549 can passed the try-bot. This test will failed when little endian architecture simply using load and compare uint. Update #34549 Change-Id: I0973c2cd505ce21c2bed1deeb7d526f1e872118d Reviewed-on: https://go-review.googlesource.com/c/go/+/198358 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Keith Randall

commit sha 72dc9ab1919e9fac9f3e63a109232cd79a050255

cmd/compile: reuse dead register before reusing register holding constant For commuting ops, check whether the second argument is dead before checking if the first argument is rematerializeable. Reusing the register holding a dead value is always best. Fixes #33580 Change-Id: I7372cfc03d514e6774d2d9cc727a3e6bf6ce2657 Reviewed-on: https://go-review.googlesource.com/c/go/+/199559 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>

view details

Cuong Manh Le

commit sha 54001652d400a5ddb56c7b7a4787ef662083bf45

internal/reflectlite: add missing copyright header Change-Id: Id43870de6608ef2e8c0ebef82fd710b2c3061e66 Reviewed-on: https://go-review.googlesource.com/c/go/+/199599 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>

view details

Keith Randall

commit sha 30da79d958cff1b91cc97a241c916f1b43a2ad20

cmd/compile: improve write barrier removal We're allowed to remove a write barrier when both the old value in memory and the new value we're writing are not heap pointers. Improve both those checks a little bit. A pointer is known to not be a heap pointer if it is read from read-only memory. This sometimes happens for loads of pointers from string constants in read-only memory. Do a better job of tracking which parts of memory are known to be zero. Before we just kept track of a range of offsets in the most recently allocated object. For code that initializes the new object's fields in a nonstandard order, that tracking is imprecise. Instead, keep a bit map of the first 64 words of that object, so we can track precisely what we know to be zeroed. The new scheme is only precise up to the first 512 bytes of the object. After that, we'll use write barriers unnecessarily. Hopefully most initializers of large objects will use typedmemmove, which does only one write barrier check for the whole initialization. Fixes #34723 Update #21561 Change-Id: Idf6e1b7d525042fb67961302d4fc6f941393cac8 Reviewed-on: https://go-review.googlesource.com/c/go/+/199558 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Richard Musiol

commit sha 30521d5126c47c9db0dd4cafc3de5bcf3c6348dd

cmd/link: produce valid binaries with large data section on wasm CL 170950 had a regression that makes the compiler produce an invalid wasm binary if the data section is too large. Loading such a binary gives the following error: "LinkError: WebAssembly.instantiate(): data segment is out of bounds" This change fixes the issue by ensuring that the minimum size of the linear memory is larger than the end of the data section. Fixes #34395. Change-Id: I0c8629de7ffd0d85895ad31bf8c9d45fef197a57 Reviewed-on: https://go-review.googlesource.com/c/go/+/199358 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Richard Musiol

commit sha 1c8e6077f67ea33b752ebf93483517b03ad9393f

runtime: do not omit stack trace of goroutine that handles async events On wasm there is a special goroutine that handles asynchronous events. Blocking this goroutine often causes a deadlock. However, the stack trace of this goroutine was omitted when printing the deadlock error. This change adds an exception so the goroutine is not considered as an internal system goroutine and the stack trace gets printed, which helps with debugging the deadlock. Updates #32764 Change-Id: Icc8f5ba3ca5a485d557b7bdd76bf2f1ffb92eb3e Reviewed-on: https://go-review.googlesource.com/c/go/+/199537 Run-TryBot: Richard Musiol <neelance@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Matthew Dempsky

commit sha 05a805a6de9c1b49ee1d5d55589a119cae5ab556

cmd/compile: introduce EscLeaks abstraction This CL better abstracts away the parameter leak info that was directly encoded into the uint16 value. Followup CL will rewrite the implementation. Passes toolstash-check. Updates #33981. Change-Id: I27f81d26f5dd2d85f5b0e5250ca529819a1f11c2 Reviewed-on: https://go-review.googlesource.com/c/go/+/197679 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Matthew Dempsky

commit sha a0894ea5b5c326f1ddc7c4c6674d5858f8761dc8

cmd/compile: reimplement parameter leak encoding Currently, escape analysis is able to record at most one dereference when a parameter leaks to the heap; that is, at call sites, it can't distinguish between any of these three functions: func x1(p ****int) { sink = *p } func x2(p ****int) { sink = **p } func x3(p ****int) { sink = ***p } Similarly, it's limited to recording parameter leaks to only the first 4 parameters, and only up to 6 dereferences. All of these limitations are due to the awkward encoding scheme used at the moment. This CL replaces the encoding scheme with a simple [8]uint8 array, which can handle up to the first 7 parameters, and up to 254 dereferences, which ought to be enough for anyone. And if not, it's much more easily increased. Shrinks export data size geometric mean for Kubernetes by 0.07%. Fixes #33981. Change-Id: I10a94b9accac9a0c91490e0d6d458316f5ca1e13 Reviewed-on: https://go-review.googlesource.com/c/go/+/197680 Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Ben Schwartz

commit sha e1446d9cee91af263af15efe8291644b590bb9ff

runtime: speed up receive on empty closed channel Currently, nonblocking receive on an open channel is about 700 times faster than nonblocking receive on a closed channel. This change makes closed channels equally fast. Fixes #32529 relevant benchstat output: name old time/op new time/op delta MakeChan/Byte-40 140ns ± 4% 137ns ± 7% -2.38% (p=0.023 n=17+19) MakeChan/Int-40 174ns ± 5% 173ns ± 6% ~ (p=0.437 n=18+19) MakeChan/Ptr-40 315ns ±15% 301ns ±15% ~ (p=0.051 n=20+20) MakeChan/Struct/0-40 123ns ± 8% 99ns ±11% -19.18% (p=0.000 n=20+17) MakeChan/Struct/32-40 297ns ± 8% 241ns ±18% -19.13% (p=0.000 n=20+20) MakeChan/Struct/40-40 344ns ± 5% 273ns ±23% -20.49% (p=0.000 n=20+20) ChanNonblocking-40 0.32ns ± 2% 0.32ns ± 2% -1.25% (p=0.000 n=19+18) SelectUncontended-40 5.72ns ± 1% 5.71ns ± 2% ~ (p=0.326 n=19+19) SelectSyncContended-40 10.9µs ±10% 10.6µs ± 3% -2.77% (p=0.009 n=20+16) SelectAsyncContended-40 1.00µs ± 0% 1.10µs ± 0% +10.75% (p=0.000 n=18+19) SelectNonblock-40 1.22ns ± 2% 1.21ns ± 4% ~ (p=0.141 n=18+19) ChanUncontended-40 240ns ± 4% 233ns ± 4% -2.82% (p=0.000 n=20+20) ChanContended-40 86.7µs ± 0% 82.7µs ± 0% -4.64% (p=0.000 n=20+19) ChanSync-40 294ns ± 7% 284ns ± 9% -3.44% (p=0.006 n=20+20) ChanSyncWork-40 38.4µs ±19% 34.0µs ± 4% -11.33% (p=0.000 n=20+18) ChanProdCons0-40 1.50µs ± 1% 1.63µs ± 0% +8.53% (p=0.000 n=19+19) ChanProdCons10-40 1.17µs ± 0% 1.18µs ± 1% +0.44% (p=0.000 n=19+20) ChanProdCons100-40 985ns ± 0% 959ns ± 1% -2.64% (p=0.000 n=20+20) ChanProdConsWork0-40 1.50µs ± 0% 1.60µs ± 2% +6.54% (p=0.000 n=18+20) ChanProdConsWork10-40 1.26µs ± 0% 1.26µs ± 2% +0.40% (p=0.015 n=20+19) ChanProdConsWork100-40 1.27µs ± 0% 1.22µs ± 0% -4.15% (p=0.000 n=20+19) SelectProdCons-40 1.50µs ± 1% 1.53µs ± 1% +1.95% (p=0.000 n=20+20) ChanCreation-40 82.1ns ± 5% 81.6ns ± 7% ~ (p=0.483 n=19+19) ChanSem-40 877ns ± 0% 719ns ± 0% -17.98% (p=0.000 n=18+19) ChanPopular-40 1.75ms ± 2% 1.78ms ± 3% +1.76% (p=0.002 n=20+19) ChanClosed-40 215ns ± 1% 0ns ± 6% -99.82% (p=0.000 n=20+18) Change-Id: I6d5ca4f1530cc9e1a9f3ef553bbda3504a036448 Reviewed-on: https://go-review.googlesource.com/c/go/+/181543 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>

view details

Matthew Dempsky

commit sha ab00f89c2742792ae23c6861e82c4b0b6cc6376b

cmd/compile: remove useless block-indirection in type switch Previously, when emitting type switches without an explicit "case nil" clause, we would emit: if x == nil { goto Lnil } ... Lnil: goto Ldefault But we can instead just emit: if x == nil { goto Ldefault } Doesn't pass toolstash-check; seems like it causes some harmless instruction scheduling changes. Change-Id: Ie233dda26756911e93a08b3db40407ba38694c62 Reviewed-on: https://go-review.googlesource.com/c/go/+/199644 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

David Chase

commit sha 01ff213a51a6713958f80619f483eb2e731e034a

cmd/compile: suppress statement marks on interior of switch tree The lines on nodes within the IF-tree generated for switch statements looks like control flow so the lines get marked as statement boundaries. Except for the first/root comparison, explicitly disable the marks. Change-Id: I64b966ed8e427cdc6b816ff6b6a2eb754346edc7 Reviewed-on: https://go-review.googlesource.com/c/go/+/198738 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

Richard Musiol

commit sha ecba83520d4c34870e0f5f0997d59d4496957240

syscall: on wasm, do not panic if "process" global is not defined When running wasm in the browser, the "process" global is not defined. This causes functions like os.Getpid() to panic, which is unusual. For example on Windows os.Getpid() returns -1 and does not panic. This change adds a dummy polyfill for "process" which returns -1 or an error. It also extends the polyfill for "fs". Fixes #34627 Replaces CL 199357 Change-Id: Ifeb12fe7e152c517848933a9ab5f6f749896dcef Reviewed-on: https://go-review.googlesource.com/c/go/+/199698 Run-TryBot: Richard Musiol <neelance@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Cuong Manh Le

commit sha 77f5adba554c80dc536f3076b2fa882d2cf0e992

cmd/compile: don't use statictmps for small object in slice literal Fixes #21561 Change-Id: I89c59752060dd9570d17d73acbbaceaefce5d8ce Reviewed-on: https://go-review.googlesource.com/c/go/+/197560 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

push time in a month

create barnchtklauser/go

branch : syscall-linux-riscv64

created branch time in 2 months

push eventtklauser/go

Tobias Klauser

commit sha ed9bd9bdb00eaff11d38e59ed30eb6464b53099c

cmd/dist: add support for freebsd/arm64 Updates #24715 Change-Id: I110a10a5d5ed4a471f67f35cbcdcbea296c5dcaf

view details

Tobias Klauser

commit sha c0642bd2ca5df45aa3969249502665c3c81f6fba

cmd/nm, runtime/cgo: add cgo support for freebsd/arm64 Based on work by Mikael Urankar. Updates #24715 Change-Id: I91144101043d67d3f8444bf8389c9606abe2a66c

view details

Tobias Klauser

commit sha f7e39949b663a6fe7f1b72e68c207873bcbd78ab

cmd/api: add support for freebsd/arm64 Updates #24715 Change-Id: Icc7d03ddb2b8c6cd12154a0db91cc9fb88e152cc

view details

push time in 2 months

push eventtklauser/go

Duco van Amstel

commit sha 8c74bfb491bc28d99b591eff0c062012e3717f68

cmd/go: fix listing of ambiguous paths Passing ambiguous patterns, ending in `.go`, to `go list` results in them being interpreted as Go files despite potentially being package references. This can then result in errors on other package references. The parsing logic is modified to check for a locally present file corresponding to any pattern ending in `.go`. If no such file is present the pattern is considered to be a package reference. We're also adding a variety of non-regression tests that fail with the original parsing code but passes after applying the fix. Fixes #32483 Fixes #34653 Change-Id: I073871da0dfc5641a359643f95ac14608fdca09b GitHub-Last-Rev: 5abc200103ffc122df05422d79cf30c3ba0ee646 GitHub-Pull-Request: golang/go#34663 Reviewed-on: https://go-review.googlesource.com/c/go/+/198459 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Alberto Donizetti

commit sha c1e46af62f2893a6beb2341ef71ffe8d3787975b

test: add testcase for Issue 34520 CL 188317 introduced a compiler crash during dwarf generation which was reported as Issue #34520. After CL 188217, the issue appears to be fixed. Add a testcase to avoid future regressions. Fixes #34520 Change-Id: I73544a9e9baf8dbfb85c19eb6d202beea05affb6 Reviewed-on: https://go-review.googlesource.com/c/go/+/198546 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>

view details

Bryan C. Mills

commit sha 6145a80608087b309251b4edf1a612739331bdee

cmd/go: remove the -mod flag from 'go get' 'GOFLAGS=-mod=vendor' currently causes 'go get' to always fail unless the '-mod' flag is explicitly overwritten. Moreover, as of CL 198319 we plan to set -mod=vendor by default if a vendor directory is present, so all users with vendor directories will be affected — not just those who set 'GOFLAGS' explicitly. Similarly, an explicit '-mod=readonly' argument to 'go get' is currently ignored as a special case, but the fact that it is ignored (rather than rejected) can be very surprising. Rather than adding more special cases, we should remove the '-mod' flag from 'go get' entirely. Fixes #30345 Fixes #32502 Updates #33848 Change-Id: Iecd3233ca3ef580ca3a66bd5e6ee8d86d4cbd8a7 Reviewed-on: https://go-review.googlesource.com/c/go/+/198438 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Vojtech Bocek

commit sha 72dc3a0919bebbf166302a6fdac41ab8046d4a0f

crypto/x509: truncate signed hash before DSA signature verification According to spec, the hash must be truncated, but crypto/dsa does not do it. We can't fix it in crypto/dsa, because it would break verification of previously generated signatures. In crypto/x509 however, go can't generate DSA certs, only verify them, so the fix here should be safe. Fixes #22017 Change-Id: Iee7e20a5d76f45da8901a7ca686063639092949f GitHub-Last-Rev: 8041cde8d25d3a336b81d86bd52bff5039568246 GitHub-Pull-Request: golang/go#34630 Reviewed-on: https://go-review.googlesource.com/c/go/+/198138 Reviewed-by: Filippo Valsorda <filippo@golang.org>

view details

David Chase

commit sha 33ab6ccba066d94f8b8f9f502fddf04df90ea8cd

cmd/compile: don't attach statement marks to OpPhi OpPhi nodes tend to disappear or get rearranged, and cause statement marks to vanish. Change-Id: I2f5a222903b7fcd0d1a72e8f6d7e156036b23f30 Reviewed-on: https://go-review.googlesource.com/c/go/+/198481 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

David Chase

commit sha c8e7c53b40023c92c9d7fa6beb1ca4223bd461ae

cmd/compile: preserve statement mark in rematerialized values Statement markers on rematerializable values were getting lost in register allocation. This checks for that case (rematerializable input and using value share line number, but mark is on the input) and preserves the mark. When combined with other CLs in this series, this CL reduces the "nostmt" count (a line appears in the assembly, but no statement marker) for cmd/go from 413 to 277. The rematerialized input is usually a LEAQ (on AMD64). The cause is "complicated"; for example, a NilCheck originally has the statement mark (a good thing, if the NilCheck remains) but the NilCheck is removed and the mark floats to a Block end, then to a SliceMake. The SliceMake decomposes and goes dead without preserving its marker (its component values are elided in other rewrites and may target inputs with different line numbers), but before deadcode removes it from the graph it moves the mark to an input, which at that time happens to be a LocalAddr. This eventually transforms to a LEAQ. Change-Id: Iff91fc2a934357fb59ec46ac87b4a9b1057d9160 Reviewed-on: https://go-review.googlesource.com/c/go/+/198480 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

Cuong Manh Le

commit sha 43a4c61e125d184a8c9dac2d55cfa4ae31153fe8

cmd/compile: update comment in order.go to refer new methods/functions Change-Id: I2d6b73ae7447e4bdeffcdac90f7422a9280666e5 Reviewed-on: https://go-review.googlesource.com/c/go/+/198678 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

Jordi Martin

commit sha 3ce29b44bb8eaecbd5000202564ad4f52ad1cf69

cmd/go: set expected filename when building a local package with -o is pointing to a folder In the local package build process, when -o is pointing to an existing folder, the object the filename is generated from files listed on the command line like when the -o is not pointing to a folder instead of using the `importPath` that is going to be `command-line-arguments` Fixes #34535 Change-Id: I09a7609c17a2ccdd83da32f01247c0ef473dea1e GitHub-Last-Rev: b3224226a3914aa2573e47a6daff9fd5a48ca225 GitHub-Pull-Request: golang/go#34562 Reviewed-on: https://go-review.googlesource.com/c/go/+/197544 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

David Chase

commit sha 91b55b4fa3a5351aba0e9f79f1c94e27ab2004e7

cmd/compile: attempt to preserve statement marks when empty blocks are trimmed. This was a cause of some statements being lost. Change-Id: Ia4805c2dafd7a880d485a678a48427de8930d57e Reviewed-on: https://go-review.googlesource.com/c/go/+/198482 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

Brad Fitzpatrick

commit sha 0fb95e788e8639712b7200a5c08ec023fb3588cb

crypto/tls: remove NPN support RELNOTE=yes Fixes #28362 Change-Id: I43813c0c17bbe6c4cbb4d1f121518c434b3f5aa8 Reviewed-on: https://go-review.googlesource.com/c/go/+/174329 Reviewed-by: Filippo Valsorda <filippo@golang.org>

view details

Cuong Manh Le

commit sha 047141797c160430c9f41e1225bbfbf562fd7795

cmd/compile: lookup methods of base type for named pointer type Passed toolstash-check. Updates #21738 Fixes #21934 Change-Id: I59f0b2c9890146565ff913b04aeeeff7dc7a4499 Reviewed-on: https://go-review.googlesource.com/c/go/+/197561 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Bryan C. Mills

commit sha 961837dec23f900bbf8b04230c72397a0aab4be6

Revert "cmd/go: add a Latest field to the output of 'go mod download -json'" This reverts CL 183841. Fixes #34533 Reason for revert: Introduced a significant performance regression for repos with many incompatible-version tags. Change-Id: I75d7fd76e6e1a0902b114b00167b38439e0f8221 Reviewed-on: https://go-review.googlesource.com/c/go/+/198699 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Katie Hockman <katie@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Jean de Klerk

commit sha 60dc159cf71c7f4b7021a7bed8708fecf5547887

doc: remove code.html This is being moved to x/website in https://golang.org/cl/199058. Updates golang/go#33637 Updates golang/go#29206 Change-Id: I5c58b784fcdd212d7a003cd0f4085059f33a47c7 Reviewed-on: https://go-review.googlesource.com/c/go/+/199057 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>

view details

Jay Conrod

commit sha 86ea7d5171a5b9a3c2d606444ef9985214fcec71

cmd/go/internal/modfile: report error for extra text around version Fixes #34697 Change-Id: Iedfa3d46d558510f3bd1fdf9466cd974793d9ecd Reviewed-on: https://go-review.googlesource.com/c/go/+/199017 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

David Chase

commit sha e06829b9772ca3a7d5ba3c573b345699f51d69b0

cmd/compile: preserve statement marks in branch elimination This reduces the number of missing-statement lines. Change-Id: Iefa56c2a253220d17d8b53210c8c6af78ee68756 Reviewed-on: https://go-review.googlesource.com/c/go/+/198483 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

Dmitri Shuralyov

commit sha 49988bc2e92afd1efdd166c31df49652008ee7da

doc: remove docs.html This page has moved to x/website in https://golang.org/cl/197638. Updates golang/go#33637 Updates golang/go#29206 Change-Id: I4f5f7822a2bf540a3911470548d38ccc7a66b74c Reviewed-on: https://go-review.googlesource.com/c/go/+/199117 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Jean de Klerk <deklerk@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Jason A. Donenfeld

commit sha 7e4d87b7708dbd319f3c44c8b4d49ef7f51504c8

syscall: replace mksyscall_windows.go with wrapper to new x/sys home We replace the existing file with a thin wrapper around its target so that we don't break anybody's workflow. Updates #34388 Change-Id: I0d00371c483cb78f4be18fe987df33c79cd40f05 Reviewed-on: https://go-review.googlesource.com/c/go/+/198977 Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

David Chase

commit sha 9a926911fea73017a25d6d38035946c59cf1b047

cmd/compile: attempt to preserve statements when prove removes code This was a cause of some statements being lost. Change-Id: I81c95dcf3df6ed8a03b7578a27f9b21d33b3cf39 Reviewed-on: https://go-review.googlesource.com/c/go/+/198484 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

David Chase

commit sha c450ace12c657e3953d79975c04f51605395cd50

cmd/compile: remove statement marks from secondary calls Calls are code-generated in an alternate path that inherits its positions from values, not from *SSAGenState. The default position on *SSAGenState was marked as not-a-statement, but this was not applied to the value itself, leading to spurious "is statement" marks in the output (convention: after code generation in the compiler, everything is either definitely a statement or definitely not a statement, nothing is in the undetermined state). This CL causes a 35 statement regression in ssa/stmtlines_test. This is down from the earlier 150 because of all the other CLs preceding this one that deal with the root causes of the missing lines (repeated lines on nested calls hid missing lines). This also removes some line repeats from ssa/debug_test. Change-Id: Ie9a507bd5447e906b35bbd098e3295211df2ae01 Reviewed-on: https://go-review.googlesource.com/c/go/+/188018 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

David Chase

commit sha b8fe9f7970f82d43114d8aacb485b8cb4fd16c15

cmd/compile: adjust line numbering for type switch Two changes, one to cause the back end to not number ITab operations (these tend to disappear and are also followed by something more robust) and to explicitly unmark (as statements) all but the first bit of the code generated to implement a type switch. Change-Id: I9f7bf7cbf7ccc5d7eda57f7fb080e600eb312eb0 Reviewed-on: https://go-review.googlesource.com/c/go/+/198739 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>

view details

push time in 2 months

push eventtklauser/go

Jay Conrod

commit sha 3b8c804164e26bdec6ca94a5ab1b5c35fa119e5e

cmd/go: force -coverpkg main packages to be built as libraries This fixes TestScript/cover_pkgall_multiple_mains, which started failing after CL 174657. When compiling main packages with coverage instrumentation (e.g., for -coverpkg all), we now pass -p with the full import path instead of '-p main'. This avoids link errors 'duplicate symbol main.main (types 1 and 1)'. Fixes #31946 Change-Id: Id147527b1dbdc14bb33ac133c30d50c250b4365c Reviewed-on: https://go-review.googlesource.com/c/go/+/176558 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Yury Smolsky

commit sha 5833aa507bd25df20b2aecf9e2334dccfa2dac76

cmd/vendor: import vet fixes from x/tools Vet help prints only to stdout. Fixes #31885 Change-Id: If6089a371fa8e21828eba2e23cddd2d19fb69e8a Reviewed-on: https://go-review.googlesource.com/c/go/+/176617 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Caleb Spare

commit sha 49a1a01bb106f0e65a5147be5eb5f8dd60323e39

cmd/go: move automatic testing.Init call into generated test code In CL 173722, we moved the flag registration in the testing package into an Init function. In order to avoid needing changes to user code, we called Init automatically as part of testing.MainStart. However, that isn't early enough if flag.Parse is called before the tests run, as part of package initialization. Fix this by injecting a bit of code to call testing.Init into test packages. This runs before any other initialization code in the user's test package, so testing.Init will be called before any user code can call flag.Parse. Fixes #31859 Change-Id: Ib42cd8d3819150c49a3cecf7eef2472319d0c7e9 Reviewed-on: https://go-review.googlesource.com/c/go/+/176098 Run-TryBot: Caleb Spare <cespare@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Jay Conrod

commit sha 309ab1ecc810fad29d09bbf91c22c6bfd1683c6f

cmd/go: add generated code comment to _testmain.go template Fixes #31971 Change-Id: I127659be145e348fae20930615666d67dc7971ef Reviewed-on: https://go-review.googlesource.com/c/go/+/176468 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Josh Bleecher Snyder

commit sha f61cf6f3138d47e1e72dbd56c12e7d1f3314a813

cmd/compile: reduce rulelog noise When the SSA rules are re-generated to log rules, they write output like: rewrite AMD64.rules:527 rewrite AMD64.rules:427 rewrite AMD64.rules:494 This is silly; there are no non-rewrite lines in the file. Furthermore, the rulelog file tends to be gigantic for any non-trivial compilation (measured in gigabytes). Remove the "rewrite " prefix. No impact to normal builds. Change-Id: I955995c1cc5f27a4a6a3849e19082ecb3e40bd4f Reviewed-on: https://go-review.googlesource.com/c/go/+/176677 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Cherry Zhang

commit sha ce5ae2f4bc606ef1d8fddadf771e9889f481a4a4

test: use a real use function in nilptr2.go Adjust the dummy use function to a real use. As suggested by the println calls in the test, nilptr2.go supposes to check that a used nil pointer dereference panics. This use function is not real enough so an optimized compiler such as gccgo could eliminate the call. The spec requires that even a dummy use would cause a panic. Unfortunately, due to #31151 this is not true for gccgo at -O1 or above. Change-Id: Ie07c8a5969ab94dad82d4f7cfec30597c25b7c46 Reviewed-on: https://go-review.googlesource.com/c/go/+/176579 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Tamir Duberstein

commit sha 09267010ef66ec4b7cc1baaed690ca365a92baca

net: comment duplicate constant Change-Id: If5a4d8eff4e51d72fb9dc1d5db2bfe674ec5753b Reviewed-on: https://go-review.googlesource.com/c/go/+/176717 Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Joel Sing

commit sha 83f205fa8829781b9a4ef67ab47ae5fc96ecb6b5

cmd/link: add support for R_AARCH64_LDST128_ABS_LO12_NC relocations These are encountered when compiling with -linkmode=internal on openbsd/arm64. Fixes #31940 Change-Id: I851e6a7da0a3fb3e23b4fa2ed8dce3051c680f11 Reviewed-on: https://go-review.googlesource.com/c/go/+/176697 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

Iskander Sharipov

commit sha 2e4edf46977994c9d26df9327f0e41c1b60f3435

cmd/internal/obj/x86: add oclass function tests To make refactoring/optimizations easier in future. Change-Id: I158f52af7c72849df1d6bd9334b3ce9dd199318f Reviewed-on: https://go-review.googlesource.com/c/go/+/175357 Run-TryBot: Iskander Sharipov <quasilyte@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>

view details

Tobias Klauser

commit sha afd79150d99abe06bd56870f146842f77f279d6d

os: fix typo in Chmod godoc Change-Id: I3e5c20d2ffbbe604e6c8b21e2afa50dd6c9f2b7a Reviewed-on: https://go-review.googlesource.com/c/go/+/176626 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

LE Manh Cuong

commit sha c583104ee6331a6d006b493e85e0881d35164c93

errors: remove useless condition checking in Is golang.org/cl/175260 fixed Is panics if target is uncomparable. It did add an useless condition checking whether target is comparable. Just remove that condition. Change-Id: I0a317056479638d209b0a0cbc7010c153558c087 Reviewed-on: https://go-review.googlesource.com/c/go/+/176497 Reviewed-by: Joan Lopez de la Franca Beltran <joanjan14@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Nikita Kryuchkov

commit sha 2fd97ee25e8a623e460aff26b4c422dec9532654

time: fix a typo in comments Change-Id: I407d7215d077176678a714ff1446e987bb818f7c GitHub-Last-Rev: 22012adb3a8dada5b19eba6d6a9b067295a306a7 GitHub-Pull-Request: golang/go#31988 Reviewed-on: https://go-review.googlesource.com/c/go/+/176797 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

David Chase

commit sha d41a0a0690ccb699401c7c8904999895b2c92511

cmd/compile: remove large intermediate slice from gc.scopePCs Three loops can be converted into one. Minor reviewer-recommended refactoring. Passes toolstash-check. Updates #27739. Change-Id: Ia87a11d88ae3ce56fcc4267fe6c5a9c13bf7f533 Reviewed-on: https://go-review.googlesource.com/c/go/+/176577 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Alessandro Arzilli <alessandro.arzilli@gmail.com>

view details

Shulhan

commit sha c2f7dd182ea54d53897b16bbab231a59e2a29ba0

doc: use consistent path in example code Previous section of documentation said that if GOPATH is not set then it will be default to "$HOME/go", not "$HOME/work". This change fix the path in example code to "$HOME/go", and while at it fix the output of git command after commit. Change-Id: Ifedca6c3997efd07e865c27b7321d755acad0254 Reviewed-on: https://go-review.googlesource.com/c/go/+/175258 Reviewed-by: Andrew Bonventre <andybons@golang.org>

view details

Brad Fitzpatrick

commit sha db2bf154cc06fe67c79164f225592b06660fa02c

mime: update .mjs MIME type from text/ to application/javascript .mjs should be the same MIME type as .js, and RFC 4329 says that text/javascript is obsolete, even back in 2006: https://tools.ietf.org/html/rfc4329#section-7.1 I didn't notice this when I recently reviewed CL 169502. Also, re-sort it. Updates #30547 Change-Id: I8ed8ddaf06c8a08b010423ebd071f39ef3a325e5 Reviewed-on: https://go-review.googlesource.com/c/go/+/175459 Reviewed-by: Andrew Bonventre <andybons@golang.org> Run-TryBot: Andrew Bonventre <andybons@golang.org>

view details

Bryan C. Mills

commit sha 5f320f962bd79120f542315c8317f3469c47cee3

cmd/go/internal/modfetch: fix GOSUMDB test failures Use cfg.GOSUMDB consistently instead of re-resolving it from the environment. Set cfg.GOSUMDB to 'off' explicitly in coderepo_test, since it may include modules that cannot be fetched using a released version of the 'go' command. Fixes #31964 Change-Id: I17cae9e0c6aa1168ba534e6da4e3652800ac81e5 Reviewed-on: https://go-review.googlesource.com/c/go/+/176538 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 8d212c3ac3bacdf8d135e94d1e0a0c3cfba6e13a

cmd/go/internal/modfetch/codehost: ignore incomplete semver tags in RecentTag Fixes #31965 Change-Id: I2126903196b630c0bee2c022be1a818e0856ce3b Reviewed-on: https://go-review.googlesource.com/c/go/+/176539 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Tamir Duberstein

commit sha 7a43f8a5fb355a9cff73314d234da9a817695cbd

runtime: resolve latent function type TODO This was left over from the C->Go transition. Change-Id: I52494af3d49a388dc45b57210ba68292ae01cf84 Reviewed-on: https://go-review.googlesource.com/c/go/+/176897 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>

view details

Russ Cox

commit sha 6ca324f2837db696dff8e7d7342280dd5cdf6bca

index/suffixarray: index 3-10X faster in half the memory This CL changes the index/suffixarray construction algorithm from QSufSort to SAIS. For an N-byte input, QSufSort runs in O(N log N) time and requires an N-int temporary work space in addition to the N-int output. In contrast, SAIS runs in O(N) time and, for essentially all real inputs, is able to use the N-int output buffer as its temporary work space. (In pathological cases, SAIS must allocate a temporary work space of at most N/2 ints. There exist more complex variants that guarantee to avoid the work space in all cases, but they hardly seem worth the cost given how rare these pathological cases are.) The SAIS code therefore uses 50% of the memory across the board. It also runs 3-10X faster on real input text. This CL also adds more extensive algorithmic tests, including an exhaustive test over small inputs to catch corner case problems. name old speed new speed delta New/text=opticks/size=100K/bits=32-12 6.15MB/s ± 1% 26.79MB/s ± 1% +335.89% (p=0.008 n=5+5) New/text=opticks/size=100K/bits=64-12 5.90MB/s ± 2% 27.29MB/s ± 2% +362.23% (p=0.008 n=5+5) New/text=opticks/size=500K/bits=32-12 4.99MB/s ± 3% 25.37MB/s ± 2% +408.01% (p=0.008 n=5+5) New/text=opticks/size=500K/bits=64-12 4.88MB/s ± 1% 25.66MB/s ± 4% +425.52% (p=0.008 n=5+5) New/text=go/size=100K/bits=32-12 5.81MB/s ± 1% 26.49MB/s ± 2% +355.85% (p=0.008 n=5+5) New/text=go/size=100K/bits=64-12 5.76MB/s ± 2% 26.65MB/s ± 3% +362.60% (p=0.008 n=5+5) New/text=go/size=500K/bits=32-12 4.91MB/s ± 1% 25.12MB/s ± 2% +411.86% (p=0.008 n=5+5) New/text=go/size=500K/bits=64-12 4.83MB/s ± 2% 25.79MB/s ± 2% +434.44% (p=0.008 n=5+5) New/text=go/size=1M/bits=32-12 4.62MB/s ± 2% 24.87MB/s ± 2% +438.78% (p=0.008 n=5+5) New/text=go/size=1M/bits=64-12 4.39MB/s ± 2% 24.61MB/s ± 2% +460.68% (p=0.008 n=5+5) New/text=go/size=5M/bits=32-12 2.85MB/s ± 2% 24.78MB/s ± 7% +768.33% (p=0.008 n=5+5) New/text=go/size=5M/bits=64-12 2.28MB/s ± 1% 18.70MB/s ± 7% +719.63% (p=0.008 n=5+5) New/text=go/size=10M/bits=32-12 2.08MB/s ± 1% 21.04MB/s ± 6% +909.60% (p=0.008 n=5+5) New/text=go/size=10M/bits=64-12 1.83MB/s ± 1% 16.64MB/s ± 2% +809.18% (p=0.008 n=5+5) New/text=go/size=50M/bits=32-12 1.51MB/s ± 0% 10.58MB/s ± 1% +602.52% (p=0.008 n=5+5) New/text=go/size=50M/bits=64-12 1.34MB/s ± 4% 9.00MB/s ± 1% +569.35% (p=0.008 n=5+5) New/text=zero/size=100K/bits=32-12 4.17MB/s ± 0% 157.56MB/s ± 1% +3678.42% (p=0.016 n=4+5) New/text=zero/size=100K/bits=64-12 4.19MB/s ± 2% 162.72MB/s ± 2% +3783.63% (p=0.008 n=5+5) New/text=zero/size=500K/bits=32-12 3.72MB/s ± 5% 159.17MB/s ± 1% +4176.57% (p=0.008 n=5+5) New/text=zero/size=500K/bits=64-12 3.77MB/s ± 3% 164.95MB/s ± 4% +4277.60% (p=0.008 n=5+5) New/text=zero/size=1M/bits=32-12 3.46MB/s ± 3% 158.42MB/s ± 1% +4476.08% (p=0.008 n=5+5) New/text=zero/size=1M/bits=64-12 3.41MB/s ± 4% 163.70MB/s ± 2% +4700.65% (p=0.008 n=5+5) New/text=zero/size=5M/bits=32-12 3.12MB/s ± 2% 151.92MB/s ± 4% +4775.48% (p=0.008 n=5+5) New/text=zero/size=5M/bits=64-12 3.09MB/s ± 2% 166.19MB/s ± 2% +5274.84% (p=0.008 n=5+5) New/text=zero/size=10M/bits=32-12 2.97MB/s ± 1% 157.75MB/s ± 1% +5211.38% (p=0.008 n=5+5) New/text=zero/size=10M/bits=64-12 2.92MB/s ± 1% 162.75MB/s ± 2% +5473.77% (p=0.008 n=5+5) New/text=zero/size=50M/bits=32-12 2.67MB/s ± 1% 144.43MB/s ± 5% +5305.39% (p=0.008 n=5+5) New/text=zero/size=50M/bits=64-12 2.61MB/s ± 1% 125.19MB/s ± 2% +4700.33% (p=0.016 n=5+4) New/text=rand/size=100K/bits=32-12 8.69MB/s ± 6% 27.60MB/s ± 1% +217.73% (p=0.008 n=5+5) New/text=rand/size=100K/bits=64-12 8.92MB/s ± 1% 26.37MB/s ± 4% +195.50% (p=0.008 n=5+5) New/text=rand/size=500K/bits=32-12 7.11MB/s ± 2% 25.23MB/s ± 2% +254.78% (p=0.008 n=5+5) New/text=rand/size=500K/bits=64-12 7.08MB/s ± 1% 25.45MB/s ± 2% +259.56% (p=0.008 n=5+5) New/text=rand/size=1M/bits=32-12 6.45MB/s ± 2% 24.47MB/s ± 3% +279.11% (p=0.008 n=5+5) New/text=rand/size=1M/bits=64-12 6.09MB/s ± 4% 23.00MB/s ± 4% +277.85% (p=0.008 n=5+5) New/text=rand/size=5M/bits=32-12 3.68MB/s ± 3% 10.34MB/s ± 5% +181.08% (p=0.008 n=5+5) New/text=rand/size=5M/bits=64-12 3.25MB/s ± 1% 6.23MB/s ± 1% +91.93% (p=0.008 n=5+5) New/text=rand/size=10M/bits=32-12 3.03MB/s ± 1% 5.61MB/s ± 2% +85.28% (p=0.008 n=5+5) New/text=rand/size=10M/bits=64-12 2.80MB/s ± 1% 4.29MB/s ± 2% +53.40% (p=0.008 n=5+5) New/text=rand/size=50M/bits=32-12 2.11MB/s ± 0% 2.45MB/s ± 1% +16.23% (p=0.029 n=4+4) New/text=rand/size=50M/bits=64-12 2.04MB/s ± 1% 2.24MB/s ± 1% +10.03% (p=0.016 n=5+4) SaveRestore/bits=32-12 327MB/s ± 5% 319MB/s ± 2% ~ (p=0.310 n=5+5) SaveRestore/bits=64-12 306MB/s ± 3% 306MB/s ± 2% ~ (p=0.841 n=5+5) name old alloc/op new alloc/op delta New/text=opticks/size=100K/bits=32-12 811kB ± 0% 401kB ± 0% -50.51% (p=0.008 n=5+5) New/text=opticks/size=100K/bits=64-12 1.62MB ± 0% 0.80MB ± 0% -50.51% (p=0.008 n=5+5) New/text=opticks/size=500K/bits=32-12 4.04MB ± 0% 2.01MB ± 0% -50.37% (p=0.008 n=5+5) New/text=opticks/size=500K/bits=64-12 8.07MB ± 0% 4.01MB ± 0% -50.36% (p=0.016 n=4+5) New/text=go/size=100K/bits=32-12 811kB ± 0% 401kB ± 0% ~ (p=0.079 n=4+5) New/text=go/size=100K/bits=64-12 1.62MB ± 0% 0.80MB ± 0% -50.50% (p=0.008 n=5+5) New/text=go/size=500K/bits=32-12 4.04MB ± 0% 2.01MB ± 0% ~ (p=0.079 n=4+5) New/text=go/size=500K/bits=64-12 8.07MB ± 0% 4.01MB ± 0% -50.36% (p=0.000 n=4+5) New/text=go/size=1M/bits=32-12 8.07MB ± 0% 4.01MB ± 0% -50.36% (p=0.008 n=5+5) New/text=go/size=1M/bits=64-12 16.1MB ± 0% 8.0MB ± 0% -50.36% (p=0.008 n=5+5) New/text=go/size=5M/bits=32-12 40.2MB ± 0% 20.0MB ± 0% -50.18% (p=0.008 n=5+5) New/text=go/size=5M/bits=64-12 80.3MB ± 0% 40.0MB ± 0% -50.18% (p=0.008 n=5+5) New/text=go/size=10M/bits=32-12 80.2MB ± 0% 40.0MB ± 0% -50.09% (p=0.000 n=5+4) New/text=go/size=10M/bits=64-12 160MB ± 0% 80MB ± 0% -50.09% (p=0.000 n=5+4) New/text=go/size=50M/bits=32-12 402MB ± 0% 200MB ± 0% -50.29% (p=0.000 n=5+4) New/text=go/size=50M/bits=64-12 805MB ± 0% 400MB ± 0% -50.29% (p=0.000 n=5+4) New/text=zero/size=100K/bits=32-12 1.46MB ± 0% 0.40MB ± 0% -72.46% (p=0.008 n=5+5) New/text=zero/size=100K/bits=64-12 3.02MB ± 0% 0.80MB ± 0% -73.45% (p=0.008 n=5+5) New/text=zero/size=500K/bits=32-12 8.66MB ± 0% 2.01MB ± 0% ~ (p=0.079 n=4+5) New/text=zero/size=500K/bits=64-12 19.7MB ± 0% 4.0MB ± 0% -79.63% (p=0.008 n=5+5) New/text=zero/size=1M/bits=32-12 19.7MB ± 0% 4.0MB ± 0% ~ (p=0.079 n=4+5) New/text=zero/size=1M/bits=64-12 39.0MB ± 0% 8.0MB ± 0% -79.48% (p=0.000 n=5+4) New/text=zero/size=5M/bits=32-12 85.2MB ± 0% 20.0MB ± 0% -76.52% (p=0.008 n=5+5) New/text=zero/size=5M/bits=64-12 169MB ± 0% 40MB ± 0% -76.27% (p=0.008 n=5+5) New/text=zero/size=10M/bits=32-12 169MB ± 0% 40MB ± 0% -76.26% (p=0.000 n=5+4) New/text=zero/size=10M/bits=64-12 333MB ± 0% 80MB ± 0% -75.99% (p=0.008 n=5+5) New/text=zero/size=50M/bits=32-12 739MB ± 0% 200MB ± 0% -72.93% (p=0.000 n=4+5) New/text=zero/size=50M/bits=64-12 1.63GB ± 0% 0.40GB ± 0% -75.42% (p=0.008 n=5+5) New/text=rand/size=100K/bits=32-12 807kB ± 0% 401kB ± 0% -50.25% (p=0.008 n=5+5) New/text=rand/size=100K/bits=64-12 1.61MB ± 0% 0.80MB ± 0% -50.25% (p=0.008 n=5+5) New/text=rand/size=500K/bits=32-12 4.04MB ± 0% 2.01MB ± 0% ~ (p=0.079 n=4+5) New/text=rand/size=500K/bits=64-12 8.07MB ± 0% 4.01MB ± 0% ~ (p=0.079 n=4+5) New/text=rand/size=1M/bits=32-12 8.07MB ± 0% 4.01MB ± 0% -50.36% (p=0.000 n=5+4) New/text=rand/size=1M/bits=64-12 16.1MB ± 0% 8.0MB ± 0% -50.36% (p=0.008 n=5+5) New/text=rand/size=5M/bits=32-12 40.3MB ± 0% 20.0MB ± 0% -50.35% (p=0.029 n=4+4) New/text=rand/size=5M/bits=64-12 80.7MB ± 0% 40.0MB ± 0% ~ (p=0.079 n=4+5) New/text=rand/size=10M/bits=32-12 80.7MB ± 0% 40.0MB ± 0% -50.41% (p=0.008 n=5+5) New/text=rand/size=10M/bits=64-12 161MB ± 0% 80MB ± 0% -50.44% (p=0.029 n=4+4) New/text=rand/size=50M/bits=32-12 403MB ± 0% 200MB ± 0% -50.36% (p=0.000 n=5+4) New/text=rand/size=50M/bits=64-12 806MB ± 0% 400MB ± 0% ~ (p=0.079 n=4+5) SaveRestore/bits=32-12 5.28MB ± 0% 5.28MB ± 0% ~ (p=1.000 n=5+5) SaveRestore/bits=64-12 9.47MB ± 0% 9.47MB ± 0% ~ (p=0.286 n=5+5) https://perf.golang.org/search?q=upload:20190426.1 Fixes #15480. Change-Id: I0790f6edf67f5a9c02b4462632b4942e0c37988b Reviewed-on: https://go-review.googlesource.com/c/go/+/174100 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Eric Roshan-Eisner <edre@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Cherry Zhang

commit sha 23f3ea82b998e60c500e711dab340852c967ec41

cmd/compile: correct the argument type in SETXXstore -> MOVBstore rules on AMD64 MOVBstore's value argument is a value, not a flag. We are storing a byte so just use UInt8. Fixes #31915. Change-Id: Id799e5f44efc3a9c3d8480f6f25ad032c2a631bb Reviewed-on: https://go-review.googlesource.com/c/go/+/176719 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Keith Randall <khr@golang.org>

view details

push time in 2 months

push eventtklauser/go

Tobias Klauser

commit sha c88ecd47143692589cd9a8633e8a84d67ff38a26

runtime: add support for freebsd/arm64 Based on work by Mikael Urankar, Shigeru YAMAMOTO and @myfreeweb. Updates #24715 Change-Id: If3189a693ca0aa627029e22b0f91534bcf322bc0

view details

Tobias Klauser

commit sha 316ff423c98c034ebd67d538663e97778445e146

syscall: add support for freebsd/arm64 Updates #24715 Change-Id: Ie7cdac346fb024858441bfd4028bf09adab3c9d0

view details

Tobias Klauser

commit sha 9482587e2b025b391531e832e0f4d3ca908648c2

cmd/link/internal/arm64: add support for freebsd/arm64 Updates #24715 Change-Id: If5d9591a820f6e921e69e722d46bf91d2ae738cb

view details

Tobias Klauser

commit sha a6eb10201aacfd763c6ac417d2a7705be626a722

cmd/dist: add support for freebsd/arm64 Updates #24715 Change-Id: I110a10a5d5ed4a471f67f35cbcdcbea296c5dcaf

view details

Tobias Klauser

commit sha b7d4789861a76929c8021f12654667aecef41be7

cmd/nm, runtime/cgo: add cgo support for freebsd/arm64 Based on work by Mikael Urankar. Updates #24715 Change-Id: I91144101043d67d3f8444bf8389c9606abe2a66c

view details

Tobias Klauser

commit sha 44877c5045c91ee82e6975244d2cfc9979086170

cmd/api: add support for freebsd/arm64 Updates #24715 Change-Id: Icc7d03ddb2b8c6cd12154a0db91cc9fb88e152cc

view details

push time in 2 months

CommitCommentEvent
CommitCommentEvent

push eventtklauser/go

Cherry Zhang

commit sha 23f3ea82b998e60c500e711dab340852c967ec41

cmd/compile: correct the argument type in SETXXstore -> MOVBstore rules on AMD64 MOVBstore's value argument is a value, not a flag. We are storing a byte so just use UInt8. Fixes #31915. Change-Id: Id799e5f44efc3a9c3d8480f6f25ad032c2a631bb Reviewed-on: https://go-review.googlesource.com/c/go/+/176719 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Keith Randall <khr@golang.org>

view details

Luka Zitnik

commit sha 3def99a8a8e3dc9841132e7b3515187b51b6a528

cmd/go: print finally FAIL if a test has failed in package list mode Fixes #30507 Change-Id: Ic598e4d5f71c624fcde051982bf85533e2f18e8d Reviewed-on: https://go-review.googlesource.com/c/go/+/170948 Reviewed-by: Bryan C. Mills <bcmills@google.com> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Josh Bleecher Snyder

commit sha ed7a92bab459806c958459264f8c88495ea6c4ba

cmd/objdump: mark tests as parallel Speeds up go test -short -count=1 cmd/objdump on my machine from 1.7s to 1.3s. Not much, but as the backpacking saying goes, take care of the ounces and the pounds will take care of themselves. Updates #26473 Change-Id: I59fe9a179e48537c7d82cbba72cde9f92b42a029 Reviewed-on: https://go-review.googlesource.com/c/go/+/176901 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

Jay Conrod

commit sha 71be83e8ca660c375592683bf71de8864a8464c5

cmd/go: make 'go get' match patterns against packages, not modules This is a follow-up to CL 174099, fixing an important TODO. The 'go help modget' documentation will be clarified in anotehr CL, pending further discussion. When invoked without -m, 'go get' will no longer match arguments containing "..." against module paths. If a module's path matches a pattern but no packages within the module match the pattern, the module should not be upgraded. For example, if golang.org/x/tools/playground and golang.org/x/tools are separate modules, and only golang.org/x/tools is in the build list, 'go get golang.org/x/tools/playground/...' should add golang.org/x/tools/playground to the build list and leave golang.org/x/tools alone. Updates #26902 Change-Id: I2bd18c7950db1aa7bd8527210c1baf2c7d174375 Reviewed-on: https://go-review.googlesource.com/c/go/+/176578 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com>

view details

Tamir Duberstein

commit sha 9c86eae3844105c2e66ca6064ca70fd287894819

runtime: resolve latent TODOs These were added in https://go-review.googlesource.com/1224; according to austin@google.com these annotations are not valuable - resolving by removing the TODOs. Change-Id: Icf3f21bc385cac9673ba29f0154680e970cf91f2 Reviewed-on: https://go-review.googlesource.com/c/go/+/176899 Reviewed-by: Austin Clements <austin@google.com>

view details

Josh Bleecher Snyder

commit sha 337868305401dbe82a6a7235bb613392e86d8b40

cmd/fix: mark tests as parallel This speeds up go test -short -count=1 cmd/fix on my machine from about 8s to about 0.05s. Updates #26473 Change-Id: I698ee20704ae0aee874ba642e7b0e070ddc99194 Reviewed-on: https://go-review.googlesource.com/c/go/+/176900 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Josh Bleecher Snyder

commit sha f68244e6660d86b3d0be9258a5d35c109abc749f

cmd/objdump: ensure that test executable files are distinct This fixes test failures introduced by CL 176901. Change-Id: I133299ba3be3a15ced076c95e4833ba6070d7eb7 Reviewed-on: https://go-review.googlesource.com/c/go/+/176903 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Josh Bleecher Snyder

commit sha 5d983303540c0ba12a323c89d05581c76baa2206

cmd/compile: mark a few more tests as parallel Reduces the time on my machine for go clean -cache; go test -short -count=1 cmd/compile/internal/gc from 4.7s to 3.7s. Updates #26473 Change-Id: I9f9573675ffd6519da63961f48f61260ae4717fd Reviewed-on: https://go-review.googlesource.com/c/go/+/176937 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Robert Griesemer

commit sha 451cf3e2cd8950571f436896a3987343f8c2d7f6

spec: clarify language on package-level variable initialization The very first paragraph on "Package initialization" stated that "variables are initialized in declaration order, but after any variables they might depend on". This phrasing was easily misread as "declaration order is the first sorting criteria" and then contradicted what the subsequent paragraphs spelled out in precise detail. Instead, variable initialization proceeds by repeatedly determining a set of ready to initialize variables, and then selecting from that set the variable declared earliest. That is, declaration order is the second sorting criteria. Also, for the purpose of variable initialization, declarations introducing blank (_) variables are considered like any other variables (their initialization expressions may have side-effects and affect initialization order), even though blank identifiers are not "declared". This CL adds clarifying language regarding these two issues and the supporting example. Both gccgo and go/types implement this behavior. cmd/compile has a long-standing issue (#22326). The spec also did not state in which order multiple variables initialized by a single (multi-value) initialization expression are handled. This CL adds a clarifying paragraph: If any such variable is initialized, all that declaration's variables are initialized at the same time. This behavior matches user expectation: We are not expecting to observe partially initialized sets of variables in declarations such as "var a, b, c = f()". It also matches existing cmd/compile and go/types (but not gccgo) behavior. Finally, cmd/compile, gccgo, and go/types produce different initialization orders in (esoteric) cases where hidden (not detected with existing rules) dependencies exist. Added a sentence and example clarifying how much leeway compilers have in those situations. The goal is to preserve the ability to use static initialization while at the same time maintain the relative initialization order of variables with detected dependencies. Fixes #31292. Updates #22326. Change-Id: I0a369abff8cfce27afc975998db875f5c580caa2 Reviewed-on: https://go-review.googlesource.com/c/go/+/175980 Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Robert Griesemer

commit sha eebb9db0ef1a4cad2f5dd7e8b90f699a1d50bf91

spec: clarify the difference between &T{} and new(T) Add a small paragraph and example pointing out the difference for the case where T is a slice or map. This is a common error for Go novices. Fixes #29425. Change-Id: Icdb59f25361e9f6a09b190fbfcc9ae0c7d90077b Reviewed-on: https://go-review.googlesource.com/c/go/+/176338 Reviewed-by: Matthew Dempsky <mdempsky@google.com>

view details

Bjørn Erik Pedersen

commit sha 45d74aad539c645d4e50a405f55ca46811dd70d6

text/template: fix truth handling of typed interface nils in if and with Before this commit, the two logically equivalent conditionals below would produce different output: {{ if not .NonEmptyInterfaceTypedNil }}OK{{ else }}{{ end }} {{ if .NonEmptyInterfaceTypedNil }}{{ else }}OK{{ end }} The functions `not`, `or`, and `and` all use the same `truth` function, which unwraps any concrete interface value before passing it to `isTrue`. `if` and `with` also use `isTrue` to establish truth, but was missing the interface indirect call. Fixes #30501 Change-Id: I9c49eed41e737d8f162e39bef1c3b82fd5518fed GitHub-Last-Rev: 95fc2c82f26d24a457de4deaa7e5756718fbf07c GitHub-Pull-Request: golang/go#30534 Reviewed-on: https://go-review.googlesource.com/c/go/+/164958 Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org>

view details

Bryan C. Mills

commit sha 5b4ea626e00e998eb9c72b9d80f1c167e72da569

cmd/go: default to GO111MODULE=auto and make it trigger in GOPATH/src Fixes #31857 Change-Id: Ib0b791376acb7ee1cdc163f808b8ecf77dbdaf06 Reviewed-on: https://go-review.googlesource.com/c/go/+/176580 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com>

view details

Bryan C. Mills

commit sha 9892cd634dbb829a9806f3dacf8f13cfe1b18d4c

cmd/go: do not allow version prefixes to match prereleases of that version Fixes #31972 Change-Id: I3bb9ef3a1134e67d2d062bea2f0e4032647e12e6 Reviewed-on: https://go-review.googlesource.com/c/go/+/176898 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Bryan C. Mills

commit sha aad2336c5131d8c79158040fad57f4fc0e14e321

cmd/go: convert semver tags with metadata to pseudoversions Some repositories include tags like 'v1.0.0-rc.1+oryOS.9'. If we were to allow such tags, they could become ambiguous: semantic versioning defines versions that differ only in metadata to have equal precedence, so if someone added a tag 'v1.0.0-rc.1+other' at a different commit, then the version 'v1.0.0-rc.1' would become ambiguous. However, we should still allow those tags to be used to resolve versions, and since we can even parse the underlying semantic version, we can at least use that as the basis for a unique (and well-ordered) pseudo-version. Fixes #31713 Change-Id: I5035f76d74ead6e786c04a368595cb5e42d36f91 Reviewed-on: https://go-review.googlesource.com/c/go/+/176905 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>

view details

LE Manh Cuong

commit sha 46e03c4b92231a38e089b34f6a09707676216b48

cmd/go: fix import current directory error message Fixes #14683 Change-Id: I62c429e4fcc2f20a94d3db8c1f0ca587252c07a7 Reviewed-on: https://go-review.googlesource.com/c/go/+/174130 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

Clément Chigot

commit sha 1956b28ae3cf5e75fd8ad193d3ceec183581844b

runtime: call atomic.Storeuintptr in noteclear on AIX The memory might not be synchronized in a thread being woken up after a semasleep. Using atomic instructions in noteclear function will force this synchronisation. Fixes #30189 Change-Id: If7432f29b2a1a56288231822db52f3f8d1d6dbfe Reviewed-on: https://go-review.googlesource.com/c/go/+/163624 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

Brad Fitzpatrick

commit sha 40b433e6fb42f278943176269de549bf3e40faf0

net: check for canceled context before starting Windows DNS lookup Fixes #31950 Change-Id: Id9bcd51a8b49523eeecbd0d8d527372a0b8d8760 Reviewed-on: https://go-review.googlesource.com/c/go/+/177038 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>

view details

Jonathon Lacher

commit sha a5cea062b305c8502bdc959c0eec279dbcd4391f

net/http/httputil: remove all fields in Connection header In the reverseproxy, replace use (Header).Get, which returns only one value of a multiple value header, with using the Header map directly. Also fixes corresponding tests which hid the bug, and adds more tests. Fixes #30303 Change-Id: Ic9094b5983043460697748759f6dfd95fc111db7 GitHub-Last-Rev: b41038143f602d4286cb46c542d40de02e6e639d GitHub-Pull-Request: golang/go#30687 Reviewed-on: https://go-review.googlesource.com/c/go/+/166298 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

view details

Brad Fitzpatrick

commit sha 2637f1f9505fec6d1e5db39ebc5a182a54356aa6

database/sql: fix subject of unexported func comment Change-Id: I5db429c86e01b55ec3abc6ab4ca11c221b27f189 Reviewed-on: https://go-review.googlesource.com/c/go/+/177039 Reviewed-by: Daniel Theophanes <kardianos@gmail.com>

view details

Keith Randall

commit sha a9e107c85cf69d735ac81c29f4a354643e40b2b5

cmd/compile: make sure to initialize static entries of slices If a slice's entries are sparse, we decide to initialize it dynamically instead of statically. That's CL 151319. But if we do initialize it dynamically, we still need to initialize the static entries. Typically we do that, but the bug fixed here is that we don't if the entry's value is itself an array or struct. To fix, use initKindLocalCode to ensure that both static and dynamic entries are initialized via code. Fixes #31987 Change-Id: I1192ffdbfb5cd50445c1206c4a3d8253295201dd Reviewed-on: https://go-review.googlesource.com/c/go/+/176904 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>

view details

push time in 2 months

issue commentgolang/go

all: add support for FreeBSD / aarch64

@dmgk Thanks a lot for volunteering to run a builder!

I folded in the changes from https://github.com/MikaelUrankar/go/tree/freebsd-aarch64 into my branch and started sending CLs to get them into master. Reviews appreciated :smiley:

SylvainGarrigues

comment created time in 2 months

push eventtklauser/netsniff-ng

Petr Machata

commit sha 0bdd9e1b61534f099ba2a13f8143632a47bf8c27

mausezahn.8: Document -r This option is mentioned further in the man page, but is omitted in the main section. Add it. Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

Petr Machata

commit sha 5f67447541f2382dfbae354d38a21b0e1482028d

mausezahn: Support -R to set packet priority Add a command line option -R to specify SO_PRIORITY socket option. This then sets priority of the generated SKBs, which is handy for testing Qdiscs and other priority-dependent functionality. Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

push eventnetsniff-ng/netsniff-ng

Petr Machata

commit sha 0bdd9e1b61534f099ba2a13f8143632a47bf8c27

mausezahn.8: Document -r This option is mentioned further in the man page, but is omitted in the main section. Add it. Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

Petr Machata

commit sha 5f67447541f2382dfbae354d38a21b0e1482028d

mausezahn: Support -R to set packet priority Add a command line option -R to specify SO_PRIORITY socket option. This then sets priority of the generated SKBs, which is handy for testing Qdiscs and other priority-dependent functionality. Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

push eventtklauser/netsniff-ng

uno20001

commit sha 500e708bfba7b2ccd2a3b687a2c3aef72cfbbe8e

astraceroute: reorder function declarations Group functions for the same protocol together. Signed-off-by: uno20001 <regisztralo111@gmail.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

Pull request review commentnetsniff-ng/netsniff-ng

astraceroute: stopping when target is reached, finer control on number of packets sent, and other smaller changes

 static void __noreturn help(void) 	     " -6|--ipv6               Use IPv6-only requests\n" 	     " -n|--numeric            Do not do reverse DNS lookup for hops (default)\n" 	     " -u|--update             Update GeoIP databases\n"-	     " -L|--latitude           Show do_geo_lookup and longitude\n"+	     " -L|--latitude           Show latitude and longitude\n"

Please squash this with the commit (in your branch) that introduced the typo.

uno20001

comment created time in 2 months

Pull request review commentnetsniff-ng/netsniff-ng

astraceroute: stopping when target is reached, finer control on number of packets sent, and other smaller changes

 default is 2 query requests. .B -x <sec>, --timeout <sec> Tells astraceroute the probe response timeout in seconds, in other words the maximum time astraceroute must wait for an ICMP response from the current-hop. The default is 3 seconds.+hop. The default is 2 seconds.

What is the reason for this change?

uno20001

comment created time in 2 months

Pull request review commentnetsniff-ng/netsniff-ng

astraceroute: stopping when target is reached, finer control on number of packets sent, and other smaller changes

 struct proto_ops { 	size_t min_len_tcp, min_len_icmp; 	int (*check)(uint8_t *packet, size_t len, int ttl, int id, 		     const struct sockaddr *src);-	void (*handler)(uint8_t *packet, size_t len, int dns_resolv,-			int latitude);+	void (*handler)(uint8_t *packet, size_t len, int do_dns_resolution,+			int do_geo_lookup);

Change do_dns_resolution and do_geo_lookup to bool type while at it.

uno20001

comment created time in 2 months

push eventnetsniff-ng/netsniff-ng

uno20001

commit sha 500e708bfba7b2ccd2a3b687a2c3aef72cfbbe8e

astraceroute: reorder function declarations Group functions for the same protocol together. Signed-off-by: uno20001 <regisztralo111@gmail.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

issue commentgolang/go

cmd/go/internal/modfetch: TestCodeRepo failures due to external repo changes

Happened again, see https://build.golang.org/log/8f1046f8a9e1125cfab4e50441e865afc7aafa72

--- FAIL: TestCodeRepo (10.52s)
    --- FAIL: TestCodeRepo/parallel (0.00s)
        --- FAIL: TestCodeRepo/parallel/gopkg.in_yaml.v2/v2 (3.46s)
            coderepo_test.go:443: info.Version = "v2.2.5-0.20191002202810-970885f01c8b", want "v2.2.3"
            coderepo_test.go:446: info.Name = "970885f01c8bc1fecb7ab1c8ce8e7609bda45530", want "bb4e33bf68bf89cad44d386192cbed201f35b241"
            coderepo_test.go:449: info.Short = "970885f01c8b", want "bb4e33bf68bf"
            coderepo_test.go:452: info.Time = 2019-10-02 20:28:10 +0000 UTC, want 2019-09-30 19:09:21 +0000 UTC

Sent https://golang.org/cl/198557

ALTree

comment created time in 2 months

issue commentgolang/go

x/sys/unix: unix.Klogctl does not allow access to len arg

Adding Klogset (and the missing const declarations) as suggested sounds good to me. Want to send a CL?

hugelgupf

comment created time in 2 months

delete branch tklauser/memcall

delete branch : update-x-sys-map-conceal

delete time in 2 months

PR opened awnumar/memcall

Update x/sys to get MAP_CONCEAL on openbsd

With golang/go#34589 fixed, MAP_CONCEAL is now defined for all GOARCHes on openbsd.

Fixes #1

+4 -6

0 comment

3 changed files

pr created time in 2 months

create barnchtklauser/memcall

branch : update-x-sys-map-conceal

created branch time in 2 months

fork tklauser/memcall

Cross-platform wrapper for memory-related system calls.

fork in 2 months

pull request commentmoby/moby

Use newer x/sys/windows SecurityAttributes struct (carry 40017)

LGTM, but I'd wait for the outcome of the discussion on golang/go#34610 where the decision might be to revert the change to SecurityAttributes and introduce a new struct type with a different name.

thaJeztah

comment created time in 2 months

issue commentgolang/go

x/sys/windows: API break in SecurityAttributes struct

In principle, I'd also prefer a new type being introduced. But since the change was already submitted and we have modules to select a particular revision of the module, I'd also be fine to keep it as is. Also, x/sys/windowsis vendored in the case of moby/docker, so the breakage would only occur after vendoring a new version. This is being done along with the necessary API changes in moby/moby#40021.

People who want the old type could also still use syscall.SecurityAttributes.

pete-woods

comment created time in 2 months

issue commentgolang/go

syscall: TestGroupCleanupUserNamespace test failure on CentOS

This is due to the SELinux context information in id output, see http://selinuxproject.org/page/SELinux_contexts and http://selinuxproject.org/page/Guide/Contexts

We should probably add this to the range of expected strings.

walnut-tom

comment created time in 2 months

delete branch tklauser/cilium

delete branch : rlimit-infinitiy

delete time in 2 months

PR opened cilium/cilium

pkg/bpf, pkg/endpoint/connector: use RLIM_INFINITY constant

Use the RLIM_INFINITY constant from golang.org/x/sys/unix for Setrlimit(RLIMIT_MEMLOCK, ...) which makes the intended purpose a bit clearer and also avoids a dependency on the "math" package.

Signed-off-by: Tobias Klauser tklauser@distanz.ch

+6 -10

0 comment

3 changed files

pr created time in 2 months

create barnchtklauser/cilium

branch : rlimit-infinitiy

created branch time in 2 months

push eventtklauser/cilium

André Martins

commit sha 46f9b503465c45a4e3f065424711bff31108821b

kubernetes-upstream: add seperate stage to run tests Signed-off-by: André Martins <andre@cilium.io>

view details

Martynas Pumputis

commit sha a214c6591068b3860ed33bbb56a6cde6e95e94c6

docs: Clarify about legacy services enabled by default From the previous description of the `enable-legacy-services` ConfigMap option it was not clear that legacy services are enabled by default, i.e. when the option is not set. Signed-off-by: Martynas Pumputis <m@lambda.lt>

view details

Ian Vernon

commit sha 47bdde0d447183e2f7f2ce5d4be4b852ffaaecdf

test: introduce `ExecShort` function This runs commands that do not require a lot of time to complete with a timeout of 10 seconds. Before, the default was up to 5 minutes. Now, we have separate timeouts depending on the nature of the command being ran. Also use context more consistently across other various helper functions. Signed-off by: Ian Vernon <ian@cilium.io>

view details

Ian Vernon

commit sha 4257665ab0c83e21f8ee2d821eed1d740608beda

test: remove unused function Signed-off by: Ian Vernon <ian@cilium.io>

view details

Jarno Rajahalme

commit sha 342a8c5c9ca86aacb067d91a5ad18adc05a6a2f0

u8proto: Be compatible with policy/api Change the string form of the wildcard protocol from "All" to "ANY" to be compatible with the definitions in policy/api. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha af3305d6747d56e67fa22553f13ab96c6c0f5448

policy: cache aggregated list of selectors in rule Add a new, unexported field to the `IngressRule` and `EgressRule` types in the API called `aggregatedSelectors`. For `IngressRule`, it is an aggregation of the following fields within the type, all converted to `EndpointSelector`: * `FromEntities` * `FromCIDR` * `FromCIDRSet` For `EgressRule`, it is an aggregation of the following fields within the type, all converted to `EndpointSelector`: * `ToEntities` * `ToCIDR` * `ToCIDRSet` * `ToFQDNs` Previously, upon each policy calculation, for each rule, this aggregate list of rule fields as `EndpointSelector` was created in an ad-hoc manner, and was not performant, as it allocated many different slices of `EndpointSelector` in calls to `GetSourceEndpointSelectorsWithRequirements` and `GetDestinationEndpointSelectorsWithRequirements`. This new field caches the aggregated list only once, upon rule sanitization, or in calls to the two aforementioned functions if the field has not been initialized yet. The performance gains by making this change are significant. With 1000 egress rules containing a ToCIDR with 2 CIDRs, and 3000 identities from before making this change: ``` PASS: resolve_test.go:168: PolicyTestSuite.BenchmarkRegeneratePolicyRules 100 12630576 ns/op 4127697 B/op 106148 allocs/op ``` And after: ``` PASS: resolve_test.go:168: PolicyTestSuite.BenchmarkRegeneratePolicyRules 500 6208546 ns/op 2265445 B/op 61134 allocs/op ``` This is a 50 % performance improvement in policy calculation for this simple policy benchmark. Signed-off-by: Ian Vernon <ian@cilium.io> Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Ian Vernon

commit sha d146a2efd28ca6073c10a74836abf1b93011de5f

allocator: fix race condition when allocating local identities upon bootstrap When identities are attempted to be allocated by `AllocateIdentity`, both the labels are checked for if the identity is local, *and* whether the `localIdentities` structure is non-nil: ``` ... if !identity.RequiresGlobalIdentity(lbls) && localIdentities != nil { return localIdentities.lookupOrCreate(lbls) } // else allocate global identity ... ``` Upon bootstrap, the creation of the localIdentities structure was done asynchronously along with the creation of the global identity allocator. This meant that if a local identity for a CIDR was attempted to be allocated upon bootstrap soon after `InitIdentityAllocator` was invoked, there was no guarantee as to whether `localIdentities` was initialized or not. Consequently, even if a set of labels did correspond to a local identity (e.g., for a CIDR), there would be no local identity allocated for the CIDR, and instead, a global identity would be allocated. This is incorrect behavior. Fix this incorrect behavior by doing the following: * Create `localIdentities` synchronously with calls to `InitIdentityAllocator`. The initialization of the global allocator is still done asynchronously. * Do not asynchronously call `InitIdentityAllocator` upon bootstrap any more, since `InitIdentityAllocator` synchronously creates the local identity allocator now, but now creates the global identity allocator asynchronously. * Wait to allocate local identities until the local identity allocator is initialized instead of having the aforementioned nil-check. If an identity does not require a global identity, it should always be allocated a local identity. Instead of checking whether `localIdentities` is nil, wait for it to be initialized so that we can allocate a local identity for all identities which are not global. Additionally, return the channel which is closed upon the allocator being initialized so that callers to `InitIdentityAllocator` can wait upon it being initialized to preserve existing behavior in unit tests. Also remove oudated comments about relying on the kvstore for allocating CIDR identities upon daemon bootstrap. Fixes: f3bbcd8e88 ("identity: Use local identities to represent CIDR") Signed-off by: Ian Vernon <ian@cilium.io>

view details

Jarno Rajahalme

commit sha 85edc0e640f90e666b80ea5b3e6f721485b2826f

policy: Pass policy revision to NewL4Policy(). Policy repository revision is known at the time when the L4Policy is created, so pass it to the constructor rather than setting it directly after. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha 86266218c7679c509337fe60762664edf3426029

policy: Simplify syntax Simplify policy resolution syntax by passing L4PolicyMap{} instead of a full L4Policy when not needed, and by returning a map instead of a pointer. This avoids multiple calls to NewL4Policy(0) with a fake revision 0, when only the L4PolicyMap for ingress or egress is being tested. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha 47a36a9ca9f9210dca8ed5de3dde0db0f91560c2

policy: Refactor policymap updates. Policy map updates will be done also incrementally later, refactor to facilitate. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha 1860b7154dc57692267f843222726a84e989b316

endpoint: Log policy map sync deletes The full policy map sync is only done from the controller. Gain some visibility to any discrepencies in this controller sync in order to gain visibility to potenial transitent policy map errors. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha 192f581865001a89c44171a6f0badb672abba469

policy: Remove dead testing code. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha c2d63aa2c4eab040735a885d730252ef0e6eb2bd

daemon: Do not bump policy revision on identity changes. Identity changes are noted via a separate revision number maintained by the selector cache, so it is no longer necessary to artificially bump the policy revision number when identities have changed. Add unit testing code that exercises the identity change triggering code that is changed to make sure policy computation still works. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha 14904ab862b99602945cc93f33f7ae82497a75b3

policy: Protect against racing policy updates. Racing policy updates for the same identity were harmless before, but the need to maintain backpointers to the endpoint policies using the selector policy made this more complicated. To keep the selector policy life cycle as simple as possible, apply mutual exclusion on updates on the policy of the same identity. This also saves some CPU. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha f7f42ad882d8c634ba920e5a32960cc2b4be5f74

policy: Introduce MapChanges MapChanges stores MapState maps that can accumulate additions and deletions of policy map entries. This will be used for incremental policy updates. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha 3ad9cab537dfdace97c480f9d14a8612417666aa

policy: Accumulate MapChanges for identity changes Accumulate MapState entires due to identity changes. This requires the introduction of backpointers from each L4Filter back to the L4Policy, and from the L4Policy to the EndpointPolicies that are using them. This way the L4Filters can update the MapChanges maintained by the EndpointPolicies. The backpointers required for this make these data structures circular. Thus, these pointers must be cleaned up so that GC can reclaim the memory. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha 02674357feff8c080915204cd40da2755cec08fa

policy: Fix logging Use log fields. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha a6c0c21da351968eb063748e5a3e1cb8d28f1755

endpoint: Clarify syncPolicyMap function naming Rename syncPolicyMap() as syncPolicyMapWithDump() and syncPolicyMapDelta() as syncPolicyMap(). This gives a clearer indication which of them carries the cost of bpf map dump, and avoids using the "Delta" suffix that has a connotation to the planned incremental policy update feature that is not yet implemented. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha 7cca091b9ddfacd1c13c4598aa1cf02f26d1b526

endpoint: Use accumulated map changes for policy updates Use the accumulated map changes for bpf policy map updates when the policy remains the same, but identities have changed. This change removes the need for the endpoint to track the last applied identity revision number. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

Jarno Rajahalme

commit sha d40ce228266b2d04d810220543c757b86a429b8e

policy: Clarify locking. Take the repo revision after acquiring the lock on the cached policy. This does not change anything as the repo is read locked, but makes this more obviously correct. Signed-off-by: Jarno Rajahalme <jarno@covalent.io>

view details

push time in 2 months

delete branch tklauser/ebpf

delete branch : syscalls-unix-consts

delete time in 2 months

PR opened cilium/ebpf

Use BPF_OBJ_NAME_LEN and BPF_TAG_SIZE from golang.org/x/sys/unix

Update golang.org/x/sys dependency to get these consts.

+6 -9

0 comment

3 changed files

pr created time in 2 months

create barnchtklauser/ebpf

branch : syscalls-unix-consts

created branch time in 2 months

fork tklauser/ebpf

eBPF Library for Go

fork in 2 months

issue commentgolang/go

x/sys/unix: Select signature on BSDs omits integer return value, unlike Linux etc

And exposing NFDBITS would be helpful too.

https://golang.org/cl/196802 will add NFDBITSfor Darwin and the BSDs. I'll send a follow-up CL adding it for Linux etc.

ThomasHabets

comment created time in 2 months

push eventtklauser/numcpus

Tobias Klauser

commit sha 1c8d9da1012b7f124027cc1ad847430f162b09cf

Mention Darwin support in package godoc comment Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

push eventtklauser/numcpus

Tobias Klauser

commit sha 51b26d16835afa2cb420ced6dc6d70cbf01f8ad9

README.md: mention macOS/Darwin support Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

push eventtklauser/numcpus

Tobias Klauser

commit sha 3c38f7649c900f921a454a18cc6932086e700326

Re-add Travis CI integration Allows to cover more Go versions. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

Tobias Klauser

commit sha aed005ad80e0188e1455fc4c4d45abad26415342

README.md: add GitHub Actions workflow status badge Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

push eventtklauser/go-sysconf

Tobias Klauser

commit sha 44991e03e743de3e4aede5c858eacdba3144c7ec

README.md: correct badges Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

push eventtklauser/go-sysconf

Tobias Klauser

commit sha 82c0f31c41af5110af29c02d8f7c5d16c8ce9c16

README.md: add GitHub Actions workflow status badge Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

push eventtklauser/go-sysconf

Tobias Klauser

commit sha 2aeb17c884fb140a9d9ff239c2e7a7174dfe783f

Switch Travis CI to Ubuntu Bionic, test more Go versions Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

view details

push time in 2 months

more