An error occurred fetching the project authors.
  1. 08 Mar, 2017 1 commit
  2. 25 May, 2016 1 commit
    • Ian Lance Taylor's avatar
      cmd/cgo, runtime, runtime/cgo: TSAN support for malloc · a5d1a72a
      Ian Lance Taylor authored
      Acquire and release the TSAN synchronization point when calling malloc,
      just as we do when calling any other C function. If we don't do this,
      TSAN will report false positive errors about races calling malloc and
      free.
      
      We used to have a special code path for malloc and free, going through
      the runtime functions cmalloc and cfree. The special code path for cfree
      was no longer used even before this CL. This CL stops using the special
      code path for malloc, because there is no place along that path where we
      could conditionally insert the TSAN synchronization. This CL removes
      the support for the special code path for both functions.
      
      Instead, cgo now automatically generates the malloc function as though
      it were referenced as C.malloc.  We need to automatically generate it
      even if C.malloc is not called, even if malloc and size_t are not
      declared, to support cgo-provided functions like C.CString.
      
      Change-Id: I829854ec0787a80f33fa0a8a0dc2ee1d617830e2
      Reviewed-on: https://go-review.googlesource.com/23260Reviewed-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarAustin Clements <austin@google.com>
      a5d1a72a
  3. 29 Apr, 2016 1 commit
    • Ian Lance Taylor's avatar
      cmd/cgo, runtime, runtime/cgo: use cgo context function · 5f9a870b
      Ian Lance Taylor authored
      Add support for the context function set by runtime.SetCgoTraceback.
      The context function was added in CL 17761, without support.
      This CL is the support.
      
      This CL has not been tested for real C code, as a working context
      function for C code requires unwind support that does not seem to exist.
      I wanted to get the CL out before the freeze.
      
      I apologize for the length of this CL.  It's mostly plumbing, but
      unfortunately the plumbing is processor-specific.
      
      Change-Id: I8ce11a0de9b3dafcc29efd2649d776e93bff0e90
      Reviewed-on: https://go-review.googlesource.com/22508Reviewed-by: default avatarAustin Clements <austin@google.com>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      5f9a870b
  4. 01 Apr, 2016 2 commits
  5. 02 Mar, 2016 1 commit
    • Brad Fitzpatrick's avatar
      all: single space after period. · 5fea2ccc
      Brad Fitzpatrick authored
      The tree's pretty inconsistent about single space vs double space
      after a period in documentation. Make it consistently a single space,
      per earlier decisions. This means contributors won't be confused by
      misleading precedence.
      
      This CL doesn't use go/doc to parse. It only addresses // comments.
      It was generated with:
      
      $ perl -i -npe 's,^(\s*// .+[a-z]\.)  +([A-Z]),$1 $2,' $(git grep -l -E '^\s*//(.+\.)  +([A-Z])')
      $ go test go/doc -update
      
      Change-Id: Iccdb99c37c797ef1f804a94b22ba5ee4b500c4f7
      Reviewed-on: https://go-review.googlesource.com/20022Reviewed-by: default avatarRob Pike <r@golang.org>
      Reviewed-by: default avatarDave Day <djd@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      5fea2ccc
  6. 01 Mar, 2016 1 commit
  7. 24 Feb, 2016 1 commit
  8. 22 Jul, 2015 1 commit
  9. 17 Apr, 2015 1 commit
  10. 03 Apr, 2015 1 commit
    • Srdjan Petrovic's avatar
      runtime: initialize shared library at library-load time · e8694c81
      Srdjan Petrovic authored
      This is Part 2 of the change, see Part 1 here: in https://go-review.googlesource.com/#/c/7692/
      
      Suggested by iant@, we use the library initialization entry point to:
          - create a new OS thread and run the "regular" runtime init stack on
            that thread
          - return immediately from the main (i.e., loader) thread
          - at the first CGO invocation, we wait for the runtime initialization
            to complete.
      
      The above mechanism is implemented only on linux_amd64.  Next step is to
      support it on linux_arm.  Other platforms don't yet support shared library
      compiling/linking, but we intend to use the same strategy there as well.
      
      Change-Id: Ib2c81b1b83bee837134084b75a3beecfb8de6bf4
      Reviewed-on: https://go-review.googlesource.com/8094
      Run-TryBot: Srdjan Petrovic <spetrovic@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      e8694c81
  11. 11 Nov, 2014 1 commit
    • Russ Cox's avatar
      [dev.cc] runtime/cgo: convert from C to Go · 9f99d531
      Russ Cox authored
      The conversion was done with an automated tool and then
      modified only as necessary to make it compile and run.
      
      [This CL is part of the removal of C code from package runtime.
      See golang.org/s/dev.cc for an overview.]
      
      LGTM=r
      R=r
      CC=austin, dvyukov, golang-codereviews, iant, khr
      https://golang.org/cl/168500043
      9f99d531