- 30 Dec, 2018 2 commits
-
-
Hidetatsu Yaginuma authored
Change-Id: I336ad707a85bf0c81b6c2230c90452c0b3b92924 Reviewed-on: https://go-review.googlesource.com/c/155998Reviewed-by: Robert Griesemer <gri@golang.org>
-
Jordan Rhee authored
Use EnumTimeFormatsEx() to test panics across callback boundaries instead of EnumWindows(). EnumWindows() is incompatible with Go's panic unwinding mechanism. See the associated issue for more information. Updates #26148 Change-Id: If1dd70885d9c418b980b6827942cb1fd16c73803 Reviewed-on: https://go-review.googlesource.com/c/155923 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
- 29 Dec, 2018 4 commits
-
-
Taufiq Rahman authored
Change-Id: I5f9de0daa3c18ecd7d6cd30ea13d147e227b3550 GitHub-Last-Rev: 5eabcbd91f8988c8f74f5bd11fb0e79cb85a9451 GitHub-Pull-Request: golang/go#29454 Reviewed-on: https://go-review.googlesource.com/c/155920Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alberto Donizetti authored
CL 155917 added a -race test that shouldn't be run when cgo is not enabled. Enforce this in the test file, with a buildflag. Fixes the nocgo builder. Change-Id: I9fe0d8f21da4d6e2de3f8fe9395e1fa7e9664b02 Reviewed-on: https://go-review.googlesource.com/c/155957 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Reorg map flags a bit so we don't need any extra space for the extra flag. Fixes #23734 Change-Id: I436812156240ae90de53d0943fe1aabf3ea37417 Reviewed-on: https://go-review.googlesource.com/c/155918 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
We can't remove race instrumentation unless there are no calls, not just no static calls. Closure and interface calls also count. The problem in issue 29329 is that there was a racefuncenter, an InterCall, and a racefuncexit. The racefuncenter was removed, then the InterCall was rewritten to a StaticCall. That prevented the racefuncexit from being removed. That caused an imbalance in racefuncenter/racefuncexit calls, which made the race detector barf. Bug introduced at CL 121235 Fixes #29329 Change-Id: I2c94ac6cf918dd910b74b2a0de5dc2480d236f16 Reviewed-on: https://go-review.googlesource.com/c/155917 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 28 Dec, 2018 3 commits
-
-
Mostyn Bramley-Moore authored
Fixes #29416 Change-Id: I24364bfee77aceace53f85f1046ef4d73f8feebb Change-Id: I24364bfee77aceace53f85f1046ef4d73f8feebb GitHub-Last-Rev: ad9f31145763dc16f53dd9f3154667b162759f69 GitHub-Pull-Request: golang/go#29417 Reviewed-on: https://go-review.googlesource.com/c/155742Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
Work involved in getting a stack trace is divided between runtime.Callers and runtime.CallersFrames. Before this CL, runtime.Callers returns a pc per runtime frame. runtime.CallersFrames is responsible for expanding a runtime frame into potentially multiple user frames. After this CL, runtime.Callers returns a pc per user frame. runtime.CallersFrames just maps those to user frame info. Entries in the result of runtime.Callers are now pcs of the calls (or of the inline marks), not of the instruction just after the call. Fixes #29007 Fixes #28640 Update #26320 Change-Id: I1c9567596ff73dc73271311005097a9188c3406f Reviewed-on: https://go-review.googlesource.com/c/152537 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Ian Lance Taylor authored
Use SyscallConn to avoid calling the Fd method in sendFile on Unix systems, since Fd has the side effect of putting the descriptor into blocking mode. Fixes #28330 Change-Id: If093417a225fe44092bd2c0dbbc3937422e98c0b Reviewed-on: https://go-review.googlesource.com/c/155137 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 27 Dec, 2018 3 commits
-
-
Ian Lance Taylor authored
Fixes #28315 Change-Id: Ie02c72d02ad2f66c9cdbbba579a304641f327672 Reviewed-on: https://go-review.googlesource.com/c/155138Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Fixes #24331 Change-Id: I119c09a4259d852cdf8ea31b3e03e6f09a5f7bda Reviewed-on: https://go-review.googlesource.com/c/155517Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Cherry Zhang authored
(SGTconst [c] (SRLconst _ [d])) && 0 <= int32(c) && uint32(d) <= 31 && 1<<(32-uint32(d)) <= int32(c) -> (MOVWconst [1]) This rule is problematic. 1<<(32-uint32(d)) <= int32(c) meant to say that it is true if c is greater than the largest possible value of the right shift. But when d==1, 1<<(32-1) is negative and results in the wrong comparison. Rewrite the rules in a more direct way. Fixes #29402. Change-Id: I5940fc9538d9bc3a4bcae8aa34672867540dc60e Reviewed-on: https://go-review.googlesource.com/c/155798 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
- 26 Dec, 2018 1 commit
-
-
Will Beason authored
Fix comment as w&1 is the parity of 'x', not of 'n'. Change-Id: Ia0e448f7e5896412ff9b164459ce15561ab624cc GitHub-Last-Rev: 54ba08ab1055b5e6e506fc8ac06c2920ff095b6e GitHub-Pull-Request: golang/go#29419 Reviewed-on: https://go-review.googlesource.com/c/155743Reviewed-by: Robert Griesemer <gri@golang.org>
-
- 25 Dec, 2018 1 commit
-
-
Keith Randall authored
Last of the Macos libSystem changes, hopefully. Fixes #17490 Change-Id: I88b303bafd92494cc4ddde712213d2ef976ce4e2 Reviewed-on: https://go-review.googlesource.com/c/155737 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 24 Dec, 2018 3 commits
-
-
Max Ushakov authored
Updates #20969 Change-Id: Ibcf0bf932d5b1de67c22c63dd8514ed7a5d198fb Reviewed-on: https://go-review.googlesource.com/c/155538 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
LE Manh Cuong authored
Rather than return os.ErrNotExist for /path/to/existing_file/, walkSymLinks now returns syscall.ENOTDIR. This is consistent with behavior of os.Lstat. Fixes #29372 Change-Id: Id5c471d901db04b2f35d60f60a81b2a0be93cae9 Reviewed-on: https://go-review.googlesource.com/c/155597 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Andrew Bonventre authored
UnsafePointer is a valid type kind to call IsNil on. Fixes #29381 Change-Id: Iaf65d582c67f4be52cd1885badf40f174920500b Reviewed-on: https://go-review.googlesource.com/c/155797 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
- 22 Dec, 2018 5 commits
-
-
Daniel Martí authored
On Go 1.11.x, if one ran 'go build' on a main package within a module, while a needed vcs program like git was missing, a confusing error would show up: build testmod: cannot find module for path rsc.io/quote The error should instead point at the source of the problem, which is the missing vcs program. Thankfully, Go 1.12 doesn't have this bug, even though it doesn't seem like the bug was fixed directly and intentionally. To ensure that this particular edge case isn't broken again, add a regression test. Piggyback on mod_vcs_missing, since it already requires a missing vcs program and network access. I double-checked that Go 1.11 fails this test via /usr/bin/go, which is 1.11.3 on my system: $ PATH=~/tip/bin go test -v -run Script/mod_vcs_missing [...] > exec /usr/bin/go build [stderr] build m: cannot find module for path launchpad.net/gocheck Fixes #28948. Change-Id: Iff1bcf77d9f7c11d15935cb87d6f58d7981d33d2 Reviewed-on: https://go-review.googlesource.com/c/155537 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Josh Bleecher Snyder authored
This appears to have been an oversight and/or left over from development. Setting the genfile means that extra sanity checks are executed when regenerating SSA files. They already pass. Change-Id: Icc01ecf85020d3d51355e8bccfbc521b52371747 Reviewed-on: https://go-review.googlesource.com/c/154459 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Keith Randall authored
If someone takes a pointer to a zero-sized stack variable, it can be incorrectly interpreted as a pointer to the next object in the stack frame. To avoid this, add some padding after zero-sized variables. We only need to pad if the next variable in memory (which is the previous variable in the order in which we allocate variables to the stack frame) has pointers. If the next variable has no pointers, it won't hurt to have a pointer to it. Because we allocate all pointer-containing variables before all non-pointer-containing variables, we should only have to pad once per frame. Fixes #24993 Change-Id: Ife561cdfdf964fdbf69af03ae6ba97d004e6193c Reviewed-on: https://go-review.googlesource.com/c/155698 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
Method expressions where the method is implicitly declared have no line number. The Error method of the built-in error type is one such method. We leave the line number at the use of the method expression in this case. Fixes #29389 Change-Id: I29c64bb47b1a704576abf086599eb5af7b78df53 Reviewed-on: https://go-review.googlesource.com/c/155639 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Fixes #29383 Change-Id: I0fb2929863e153b96d32d851e25e536231e4ae65 Reviewed-on: https://go-review.googlesource.com/c/155638 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
- 21 Dec, 2018 4 commits
-
-
Ian Lance Taylor authored
Fixes #27808 Change-Id: Ia643d51004c47953642a2ba41dfed281f1112be6 Reviewed-on: https://go-review.googlesource.com/c/155637Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Jay Conrod authored
When "go list" is invoked with -find, it clears the list of imports for each package matched on the command line. This affects action IDs, since they incorporate dependencies' action IDs. Consequently, the build triggered by -compiled won't find sources cached by "go build". We can still safely cache compiled sources from multiple runs of "go list -find -compiled" though, since cgo generated sources are not affected by imported dependencies. This change adds a second look into the cache in this situation. Fixes #29371 Change-Id: Ia0ae5a403ab5d621feaa16f521e6a65ac0ae6d9a Reviewed-on: https://go-review.googlesource.com/c/155481Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Jay Conrod authored
When building runtime/internal/atomic, the toolchain writes a symabis2 file. This file is read back in, filtered, and appended to the symabis file. This breaks with -n, since the symabis2 file is never written. With this change, when -n is used, an equivalent "grep" command is printed instead. The output for -x is unchanged. Fixes #29346 Change-Id: Id25e06e06364fc6689e71660d000f09c649c4f0c Reviewed-on: https://go-review.googlesource.com/c/155480Reviewed-by: Bryan C. Mills <bcmills@google.com> Run-TryBot: Bryan C. Mills <bcmills@google.com>
-
Michael Anthony Knyszek authored
This change splits a testprog out of TestLockOSThreadExit and makes it its own test. Then, this change makes the testprog exit prematurely with a special message if unshare fails with EPERM because not all of the builders allow the user to call the unshare syscall. Also, do some minor cleanup on the TestLockOSThread* tests. Fixes #29366. Change-Id: Id8a9f6c4b16e26af92ed2916b90b0249ba226dbe Reviewed-on: https://go-review.googlesource.com/c/155437 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 20 Dec, 2018 13 commits
-
-
Ian Lance Taylor authored
Updates #26650 Change-Id: I0ec070127dcacc7fc68dd5baf125eb762e1ea846 Reviewed-on: https://go-review.googlesource.com/c/155038Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Matthew Dempsky authored
It was possible that var X interface{} = 'x' could cause a compilation failure due to having not calculated rune's width yet. typecheck.go normally calculates the width of things, but it doesn't for implicit conversions to default type. We already compute the width of all of the standard numeric types in universe.go, but we failed to calculate it for the rune alias type. So we could later crash if the code never otherwise explicitly mentioned 'rune'. While here, explicitly compute widths for 'byte' and 'error' for consistency. Fixes #29350. Change-Id: Ifedd4899527c983ee5258dcf75aaf635b6f812f8 Reviewed-on: https://go-review.googlesource.com/c/155380Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Kevin Burke authored
I was confused by the juxtaposition of os.Interrupt docs, which are "guaranteed to exist on all platforms" in one sentence and then "not implemented" in the next sentence. Reading the code reveals "not implemented" refers specifically to the implementation of os.Process.Signal on Windows, not to the os.Interrupt variable itself. Reword the doc to make this distinction clearer. Fixes #27854. Change-Id: I5fe7cddea61fa1954cef2006dc51b8fa8ece4d6e Reviewed-on: https://go-review.googlesource.com/c/137336Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Brian Kessler authored
Extended precision math/bits functions are unsigned. Change-Id: Ic1633e9c367fc3d5a80bc503008f035db4e78945 Reviewed-on: https://go-review.googlesource.com/c/155379Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Osamu TONOMORI authored
Change-Id: I84b74bc96516033bbf4a01f9aa81fe60d5a41355 Reviewed-on: https://go-review.googlesource.com/c/155317Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Fixes #28699 Change-Id: Ic340c3171bb7d91d8cb9553967c2b51e7d9daba8 Reviewed-on: https://go-review.googlesource.com/c/155177Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Keith Randall authored
Out-of-bounds reads of globals can happen in dead code. For code like this: s := "a" if len(s) == 3 { load s[0], s[1], and s[2] } The out-of-bounds loads are dead code, but aren't removed yet when lowering. We need to not panic when compile-time evaluating those loads. This can only happen for dead code, so the result doesn't matter. Fixes #29215 Change-Id: I7fb765766328b9524c6f2a1e6ab8d8edd9875097 Reviewed-on: https://go-review.googlesource.com/c/154057 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
-
Tobias Klauser authored
Currently the link works also with the non-existing GOARCH armd64, but let's correct in anyhow. Change-Id: Ida647b8f9dd2f8460b019f5a23759f10a6da8e60 Reviewed-on: https://go-review.googlesource.com/c/155277Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tobias Klauser authored
Update to x/sys git revision 074acd46bca67915925527c07849494d115e7c43 This fixes TestFormatMessage and TestExample on windows/arm by pulling in CL 154560 and CL 154817. Change-Id: Ic6495fe3072b5bcc7ea68efb3f0be5fc1fe4c238 Reviewed-on: https://go-review.googlesource.com/c/155297 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Before this CL we accepted timeouts in TestUDPZeroBytePayload to avoid flakiness and because, according to CL 9194, the test didn't work on some platforms. On Windows, before CL 132781, the read would always timeout, and so since the test accepted timeouts it would pass incorrectly. CL 132781 fixed Windows, and changed the test to not accept timeouts in the ReadFrom case. However, the timeout was short, and so on a loaded system the Read might timeout not due to an error in the code, but just because the read was not delivered. So ignoring timeouts made the test flaky, as reported in issue #29225. This CL tries to get to a better state by increasing the timeout to a large value and not permitting timeouts at all. If there are systems where the test fails, we will need to explicitly skip the test on those systems. Fixes #29225 Change-Id: I26863369898a69cac866b34fcb5b6ffbffab31f6 Reviewed-on: https://go-review.googlesource.com/c/154759 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alex Brainman authored
If TMP environment variable is set to Z:\, TempDir returns Z:. But Z: refers to current directory on Z:, while Z:\ refers to root directory on Z:. Adjust TempDir to return Z:\. Fixes #29291 Change-Id: If04d0c7977a8ac2d9d558307502e81beb68776ef Reviewed-on: https://go-review.googlesource.com/c/154384 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
catatsuy authored
Change-Id: Iaa1468296fbc98389165a152cf8b591216c22489 Reviewed-on: https://go-review.googlesource.com/c/155217Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Jordan Rhee authored
Tracing uses cputicks() to generate trace event timestamps. cputicks() is expected to be a high resolution clock source. On Windows/ARM, call QueryPerformanceCounter() which is the highest resolution clock source available. Updates #26148 Change-Id: I987fa556060b3d60c02f07b87b9e6320b9b026e2 Reviewed-on: https://go-review.googlesource.com/c/154762Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 19 Dec, 2018 1 commit
-
-
Michael Anthony Knyszek authored
When a locked M has its G exit without calling UnlockOSThread, then lockedExt on it was getting cleared. Unfortunately, this meant that during P handoff, if a new M was started, it might get forked (on most OSs besides Windows) from the locked M, which could have kernel state attached to it. To solve this, just don't clear lockedExt. At the point where the locked M has its G exit, it will also exit in accordance with the LockOSThread API. So, we can safely assume that it's lockedExt state will no longer be used. For the case of the main thread where it just gets wedged instead of exiting, it's probably better for it to keep the locked marker since it more accurately represents its state. Fixed #28979. Change-Id: I7d3d71dd65bcb873e9758086d2cbcb9a06429b0f Reviewed-on: https://go-review.googlesource.com/c/153078 Run-TryBot: Michael Knyszek <mknyszek@google.com> Reviewed-by: Austin Clements <austin@google.com>
-