• Cherry Zhang's avatar
    [dev.link] cmd/link: let cgo import overwrite contentless data symbol · 7256f500
    Cherry Zhang authored
    A contentless data symbol may be a declaration of a cgo-imported
    variable, e.g.
    
    	//go:cgo_import_dynamic xxx
    	var xxx uintptr
    
    In this case, we want to mark the symbol imported, instead of
    defined with zero value.
    
    We used to load cgo directives before loading the object file, so
    we'll mark the symbol SDYNIMPORT first. But in newobj mode,
    currently we load cgo directives later. Letting SDYNIMPORT
    overwrite contentless data symbol makes it work in both ordering.
    
    Change-Id: I878f52086d6cdb5a347669bf8f848a49bce87b52
    Reviewed-on: https://go-review.googlesource.com/c/go/+/201020
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarJeremy Faller <jeremy@golang.org>
    7256f500
go.go 8.87 KB