• Cherry Zhang's avatar
    [dev.link] cmd/compile: pass index through when re-exporting · 286d7442
    Cherry Zhang authored
    When we re-export an imported symbol that has an index, we should
    pass the index through. Currently, if the symbol is not
    referenced in the generated machine code, it does not get
    assigned a package index, and the exporter will not export its
    symbol index. Let the exporter handle this case -- if the symbol
    has a symbol index but not a package index, still export its
    symbol index. This is safe as referenced-by-name symbols always
    have their package indices set to a special value.
    
    This should reduce the number of referenced-by-name symbols, and
    also make the export data more stable, less dependent on codegen
    details.
    
    Change-Id: Ic515a002ae84226e7fdbe68a53496c051b7badcc
    Reviewed-on: https://go-review.googlesource.com/c/go/+/201719
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarThan McIntosh <thanm@google.com>
    286d7442
iexport.go 31.7 KB