Skip to content
Snippets Groups Projects
  • Than McIntosh's avatar
    07914eda
    [dev.link] cmd/link: initial support for linker-materialized external symbols · 07914eda
    Than McIntosh authored
    Create loader infrastructure for constructing the payloads of external
    symbols from scratch, as opposed to passing in a sym.Symbol object
    containing the payload.
    
    The general idea is that clients can use the loader to create new
    external Sym's using loader.AddExtSym, and then can add
    relocations/data to the new sym with symbol builder interfaces (to be
    provided in an subsequent patch), as opposed to having to use
    sym.Symbol.
    
    This change preserves compatibility with the old way of doing things
    (passing in sym.Symbol) via a new loader.InstallSym method. If a
    client invokes this method for a specific Sym, then the loader keeps
    track of this fact and uses the sym.Symbol as the backing store instead.
    
    Also included is a small unit test for the new interfaces -- not clear
    whether this really needs to be kept around long term... it was mainly
    useful during initial bringup.
    
    Change-Id: If8ab15df7b64636e56b317155dfe6d7cdfe23b71
    Reviewed-on: https://go-review.googlesource.com/c/go/+/207606
    
    
    Run-TryBot: Than McIntosh <thanm@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
    Reviewed-by: default avatarJeremy Faller <jeremy@golang.org>
    07914eda
    History
    [dev.link] cmd/link: initial support for linker-materialized external symbols
    Than McIntosh authored
    Create loader infrastructure for constructing the payloads of external
    symbols from scratch, as opposed to passing in a sym.Symbol object
    containing the payload.
    
    The general idea is that clients can use the loader to create new
    external Sym's using loader.AddExtSym, and then can add
    relocations/data to the new sym with symbol builder interfaces (to be
    provided in an subsequent patch), as opposed to having to use
    sym.Symbol.
    
    This change preserves compatibility with the old way of doing things
    (passing in sym.Symbol) via a new loader.InstallSym method. If a
    client invokes this method for a specific Sym, then the loader keeps
    track of this fact and uses the sym.Symbol as the backing store instead.
    
    Also included is a small unit test for the new interfaces -- not clear
    whether this really needs to be kept around long term... it was mainly
    useful during initial bringup.
    
    Change-Id: If8ab15df7b64636e56b317155dfe6d7cdfe23b71
    Reviewed-on: https://go-review.googlesource.com/c/go/+/207606
    
    
    Run-TryBot: Than McIntosh <thanm@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
    Reviewed-by: default avatarJeremy Faller <jeremy@golang.org>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.