• Cherry Zhang's avatar
    [dev.link] cmd/link: resolve ABI aliases for external symbols · 63815923
    Cherry Zhang authored
    ABI alias references in Go symbols are resolved during
    loadObjFull. But for external symbols they are not resolved. If
    there is a reference from an external symbol to a Go ABIInternal
    symbol, this reference will be invalid as it is not resolved.
    
    The old code resolve ABI aliases in the deadcode pass. But the
    new deadcode pass doesn't do it, as it works with indices instead
    of Symbols. We do this in LoadFull.
    
    This makes all internal cgo linking tests pass on Mach-O.
    
    Change-Id: Iac6c084c03f5ddbcc9455527800ce7ed7313f9a7
    Reviewed-on: https://go-review.googlesource.com/c/go/+/204698
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarThan McIntosh <thanm@google.com>
    63815923
lib.go 72.7 KB