• Ian Lance Taylor's avatar
    runtime: add optional expensive check for invalid cgo pointer passing · be1ef467
    Ian Lance Taylor authored
    If you set GODEBUG=cgocheck=2 the runtime package will use the write
    barrier to detect cases where a Go program writes a Go pointer into
    non-Go memory.  In conjunction with the existing cgo checks, and the
    not-yet-implemented cgo check for exported functions, this should
    reliably detect all cases (that do not import the unsafe package) in
    which a Go pointer is incorrectly shared with C code.  This check is
    optional because it turns on the write barrier at all times, which is
    known to be expensive.
    
    Update #12416.
    
    Change-Id: I549d8b2956daa76eac853928e9280e615d6365f4
    Reviewed-on: https://go-review.googlesource.com/16899Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    be1ef467
mbarrier.go 10.6 KB