mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.link] all: merge branch 'master' into dev.link
Change-Id: I85b653b621ad8cb2ef27886210ea2c4b7409b60d
This commit is contained in:
commit
6097f7cf7a
45 changed files with 485 additions and 151 deletions
|
|
@ -229,7 +229,8 @@ type Loader struct {
|
|||
outdata [][]byte // symbol's data in the output buffer
|
||||
extRelocs [][]ExtReloc // symbol's external relocations
|
||||
|
||||
itablink map[Sym]struct{} // itablink[j] defined if j is go.itablink.*
|
||||
itablink map[Sym]struct{} // itablink[j] defined if j is go.itablink.*
|
||||
deferReturnTramp map[Sym]bool // whether the symbol is a trampoline of a deferreturn call
|
||||
|
||||
objByPkg map[string]*oReader // map package path to its Go object reader
|
||||
|
||||
|
|
@ -354,6 +355,7 @@ func NewLoader(flags uint32, elfsetstring elfsetstringFunc, reporter *ErrorRepor
|
|||
attrCgoExportDynamic: make(map[Sym]struct{}),
|
||||
attrCgoExportStatic: make(map[Sym]struct{}),
|
||||
itablink: make(map[Sym]struct{}),
|
||||
deferReturnTramp: make(map[Sym]bool),
|
||||
extStaticSyms: make(map[nameVer]Sym),
|
||||
builtinSyms: make([]Sym, nbuiltin),
|
||||
flags: flags,
|
||||
|
|
@ -1050,6 +1052,16 @@ func (l *Loader) IsItabLink(i Sym) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
// Return whether this is a trampoline of a deferreturn call.
|
||||
func (l *Loader) IsDeferReturnTramp(i Sym) bool {
|
||||
return l.deferReturnTramp[i]
|
||||
}
|
||||
|
||||
// Set that i is a trampoline of a deferreturn call.
|
||||
func (l *Loader) SetIsDeferReturnTramp(i Sym, v bool) {
|
||||
l.deferReturnTramp[i] = v
|
||||
}
|
||||
|
||||
// growValues grows the slice used to store symbol values.
|
||||
func (l *Loader) growValues(reqLen int) {
|
||||
curLen := len(l.values)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue