for i := uint32(0); i < nfd; i++ {
funcdataoff = append(funcdataoff, fi.Funcdataoff(int(i)))
}
- funcdata = fi.Funcdata(s, funcdata)
+ funcdata = fi.Funcdata(funcdata)
}
if fi.Valid() && fi.NumInlTree() > 0 {
l *Loader
r *oReader
data []byte
+ auxs []goobj2.Aux
lengths goobj2.FuncInfoLengths
}
return (*goobj2.FuncInfo)(nil).ReadFuncdataoff(fi.data, fi.lengths.FuncdataoffOff, uint32(k))
}
-func (fi *FuncInfo) Funcdata(fnsym Sym, syms []Sym) []Sym {
+func (fi *FuncInfo) Funcdata(syms []Sym) []Sym {
if !fi.lengths.Initialized {
panic("need to call Preload first")
}
} else {
syms = syms[:0]
}
- r, li := fi.l.toLocal(fnsym)
- auxs := r.Auxs(li)
- for j := range auxs {
- a := &auxs[j]
+ for j := range fi.auxs {
+ a := &fi.auxs[j]
if a.Type() == goobj2.AuxFuncdata {
syms = append(syms, fi.l.resolve(fi.r, a.Sym()))
}
a := &auxs[j]
if a.Type() == goobj2.AuxFuncInfo {
b := r.Data(int(a.Sym().SymIdx))
- return FuncInfo{l, r, b, goobj2.FuncInfoLengths{}}
+ return FuncInfo{l, r, b, auxs, goobj2.FuncInfoLengths{}}
}
}
return FuncInfo{}