• Austin Clements's avatar
    runtime: mark all Go symbols called from assembly in other packages · f5e5bc1a
    Austin Clements authored
    This marks all Go symbols called from assembly in other packages with
    "go:linkname" directives to ensure they get ABI wrappers.
    
    Now that we have this go:linkname convention, this also removes the
    abi0Syms definition in the runtime, which was used to give morestackc
    an ABI0 wrapper. Instead, we now just mark morestackc with a
    go:linkname directive.
    
    This was tested with buildall.bash in the default configuration, with
    -race, and with -gcflags=all=-d=ssa/intrinsics/off. Since I couldn't
    test cgo on non-Linux configurations, I manually grepped for runtime
    symbols in runtime/cgo.
    
    Updates #31230.
    
    Change-Id: I6c8aa56be2ca6802dfa2bf159e49c411b9071bf1
    Reviewed-on: https://go-review.googlesource.com/c/go/+/179862
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarMichael Knyszek <mknyszek@google.com>
    f5e5bc1a