1. 09 Apr, 2014 2 commits
  2. 08 Apr, 2014 14 commits
  3. 07 Apr, 2014 8 commits
  4. 06 Apr, 2014 2 commits
  5. 04 Apr, 2014 10 commits
  6. 03 Apr, 2014 4 commits
    • Mike Andrews's avatar
      cmd/dist: reflect local changes to tree in goversion · 43b3e6e0
      Mike Andrews authored
      runtime.Version() requires a trailing "+" when
      tree had local modifications at time of build.
      
      Fixes #7701
      
      LGTM=iant
      R=golang-codereviews, iant
      CC=golang-codereviews
      https://golang.org/cl/84040045
      43b3e6e0
    • Russ Cox's avatar
      runtime: test malformed address fault and fix on OS X · 17f9423e
      Russ Cox authored
      The garbage collector poison pointers
      (0x6969696969696969 and 0x6868686868686868)
      are malformed addresses on amd64.
      That is, they are not 48-bit addresses sign extended
      to 64 bits. This causes a different kind of hardware fault
      than the usual 'unmapped page' when accessing such
      an address, and OS X 10.9.2 sends the resulting SIGSEGV
      incorrectly, making it look like it was user-generated
      rather than kernel-generated and does not include the
      faulting address. This means that in GODEBUG=gcdead=1
      mode, if there is a bug and something tries to dereference
      a poisoned pointer, the runtime delivers the SIGSEGV to
      os/signal and returns to the faulting code, which faults
      again, causing the process to hang instead of crashing.
      
      Fix by rewriting "user-generated" SIGSEGV on OS X to
      look like a kernel-generated SIGSEGV with fault address
      0xb01dfacedebac1e.
      
      I chose that address because (1) when printed in hex
      during a crash, it is obviously spelling out English text,
      (2) there are no current Google hits for that pointer,
      which will make its origin easy to find once this CL
      is indexed, and (3) it is not an altogether inaccurate
      description of the situation.
      
      Add a test. Maybe other systems will break too.
      
      LGTM=khr
      R=golang-codereviews, khr
      CC=golang-codereviews, iant, ken
      https://golang.org/cl/83270049
      17f9423e
    • Russ Cox's avatar
      runtime: handle fault during runtime more like unexpected fault address · 41102715
      Russ Cox authored
      Delaying the runtime.throw until here will print more information.
      In particular it will print the signal and code values, which means
      it will show the fault address.
      
      The canpanic checks were added recently, in CL 75320043.
      They were just not added in exactly the right place.
      
      LGTM=iant
      R=dvyukov, iant
      CC=golang-codereviews
      https://golang.org/cl/83980043
      41102715
    • Russ Cox's avatar
      cmd/gc, runtime: optimize map[string] lookup from []byte key · f5f5a8b6
      Russ Cox authored
      Brad has been asking for this for a while.
      I have resisted because I wanted to find a more general way to
      do this, one that would keep the performance of code introducing
      variables the same as the performance of code that did not.
      (See golang.org/issue/3512#c20).
      
      I have not found the more general way, and recent changes to
      remove ambiguously live temporaries have blown away the
      property I was trying to preserve, so that's no longer a reason
      not to make the change.
      
      Fixes #3512.
      
      LGTM=iant
      R=iant
      CC=bradfitz, golang-codereviews, khr, r
      https://golang.org/cl/83740044
      f5f5a8b6