1. 05 Sep, 2014 6 commits
    • Russ Cox's avatar
      runtime: do not stop traceback at onM · d16a2ad0
      Russ Cox authored
      Behavior before this CL:
      
      1. If onM is called on a g0 stack, it just calls the given function.
      
      2. If onM is called on a gsignal stack, it calls badonm.
      
      3. If onM is called on a curg stack, it switches to the g0 stack
      and then calls the function.
      
      In cases 1 and 2, if the program then crashes (and badonm always does),
      we want to see what called onM, but the traceback stops at onM.
      In case 3, the traceback must stop at onM, because the g0
      stack we are renting really does stop at onM.
      
      The current code stops the traceback at onM to handle 3,
      at the cost of making 1 and 2 crash with incomplete traces.
      
      Change traceback to scan past onM but in case 3 make it look
      like on the rented g0 stack, onM was called from mstart.
      The traceback already knows that mstart is a top-of-stack function.
      
      Alternate fix at CL 132610043 but I think this one is cleaner.
      This CL makes 3 the exception, while that CL makes 1 and 2 the exception.
      
      Submitting TBR to try to get better stack traces out of the
      freebsd/amd64 builder, but happy to make changes in a
      followup CL.
      
      TBR=khr
      R=khr
      CC=golang-codereviews
      https://golang.org/cl/133620043
      d16a2ad0
    • Russ Cox's avatar
      cmd/dist: another attempt at textflag.h · cf3fd0a5
      Russ Cox authored
      The old change worked fine in my client, but my client
      must not have been in a completely clean state.
      
      TBR=r
      CC=golang-codereviews
      https://golang.org/cl/138100043
      cf3fd0a5
    • Russ Cox's avatar
      cmd/dist: make textflag.h available in runtime, avoid android/linux conflicts · 73a6d36d
      Russ Cox authored
      1) cmd/dist was copying textflag.h to the build include directory,
      but only after compiling package runtime. So other packages could
      use it, just not runtime. Copy earlier, so that runtime can use it too.
      
      2) We decided for android that anything marked linux is also included
      in the build. The generated linux-specific files in cmd/dist must therefore
      have explicit +build !android tags, or else you can't have simultaneous
      linux/arm and android/arm builds in a single client. The tag was already
      there for at least one file, but it was missing from many others.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/134500043
      73a6d36d
    • Russ Cox's avatar
      runtime: mark sysAlloc nosplit · 99a08262
      Russ Cox authored
      sysAlloc is the only mem function called from Go.
      
      LGTM=iant, khr
      R=golang-codereviews, khr, 0intro, iant
      CC=dvyukov, golang-codereviews, r
      https://golang.org/cl/139210043
      99a08262
    • Russ Cox's avatar
      runtime: more C to Go conversion adjustments · db58ab96
      Russ Cox authored
      Mostly NOSPLIT additions.
      Had to rewrite atomic_arm.c in Go because it calls lock,
      and lock is too complex.
      
      With this CL, I find no Go -> C calls that can split the stack
      on any system except Solaris and Windows.
      
      Solaris and Windows need more work and will be done separately.
      
      LGTM=iant, dave
      R=golang-codereviews, bradfitz, iant, dave
      CC=dvyukov, golang-codereviews, khr, r
      https://golang.org/cl/137160043
      db58ab96
    • Brad Fitzpatrick's avatar
      cmd/api: don't depend on os/user or USER to check api · 1a14b5ba
      Brad Fitzpatrick authored
      The -nocgo builder failed because it has cgo disabled
      as well as no USER environment variable:
      http://build.golang.org/log/2250abb82f5022b72a12997b8ff89fcdeff094c9
      
      # Checking API compatibility.
      Error getting current user: user: Current not implemented on linux/amd64
      exit status 1
      
      Don't require the environment variable here.
      
      LGTM=minux
      R=dave, adg, minux
      CC=golang-codereviews
      https://golang.org/cl/140290043
      1a14b5ba
  2. 04 Sep, 2014 23 commits
  3. 03 Sep, 2014 11 commits