1. 08 Jun, 2018 4 commits
    • philhofer's avatar
      runtime: fix pprof livelock on arm · afae876b
      philhofer authored
      On 32-bit architectures without native 64-bit atomic instructions,
      64-bit atomics are emulated using spinlocks. However,
      the sigprof handling code expects to be able to perform
      64-bit atomic operations in signal handlers. Spinning on an
      acquired spinlock in a signal handler leads to a livelock.
      This is issue #20146.
      
      The original fix for #20146 did not include arm in
      the list of architectures that need to work around portability
      issues in the sigprof handler code. The unit test designed to
      catch this issue does not fail on arm builds because arm uses
      striped spinlocks, and thus the livelock takes many minutes
      to reproduce. This is issue #24260. (This patch doesn't completely
      fix #24260 on go1.10.2 due to issue #25785, which is probably
      related to the arm cas kernel helpers. Those have been removed
      at tip.)
      
      With this patch applied, I was able to run the reproducer for
      issue #24260 for more than 90 minutes without reproducing the
      livelock. Without this patch, the livelock took as little as
      8 minutes to reproduce.
      
      Fixes #20146
      Updates #24260
      
      Change-Id: I64bf53a14d53c4932367d919ac55e17c99d87484
      Reviewed-on: https://go-review.googlesource.com/117057
      Run-TryBot: Philip Hofer <phofer@umich.edu>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      afae876b
    • David du Colombier's avatar
      cmd/cover: fix TestCoverHTML on Plan 9 · abeac091
      David du Colombier authored
      CL 116975 added TestCoverHTML. However, this test is failing
      on Plan 9, because the GNU diff tool is called "ape/diff"
      instead of "diff" on Plan 9.
      
      This change replaces the "diff" command by the "ape/diff"
      command on Plan 9.
      
      Fixes #25795.
      
      Change-Id: I15b49868cd09f3f977aa13fffdfc430c882bf757
      Reviewed-on: https://go-review.googlesource.com/117415
      Run-TryBot: David du Colombier <0intro@gmail.com>
      Reviewed-by: default avatarDaniel Martí <mvdan@mvdan.cc>
      Reviewed-by: default avatarAlex Brainman <alex.brainman@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      abeac091
    • Keith Randall's avatar
      cmd/compile: mark BS{F,R}L as clobbering flags · 29e5a81e
      Keith Randall authored
      Turns out it doesn't currently matter, as these ops are always issued
      together with a BTSL which does clobber flags. So I can't write a test
      that currently fails. But better to be future-proof.
      
      BS{F,R}Q generates flags, so it doesn't need to be marked as clobbering.
      
      Change-Id: I70daea154023fd435fac696bf3a384803c647cd3
      Reviewed-on: https://go-review.googlesource.com/117375
      Run-TryBot: Keith Randall <khr@golang.org>
      Reviewed-by: default avatarJosh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      29e5a81e
    • David Symonds's avatar
      cmd/cover: fix test on Solaris · 1425412f
      David Symonds authored
      Solaris diff doesn't know about -d (a.k.a. --minimal).
      
      Change-Id: I86146b4b93e3d0bdea52a0fde59afca20b5bab51
      Reviewed-on: https://go-review.googlesource.com/117335Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      1425412f
  2. 07 Jun, 2018 18 commits
  3. 06 Jun, 2018 14 commits
  4. 05 Jun, 2018 4 commits