"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/cmd/link/internal/loader/loader.go" between
go1.19.src.tar.gz and go1.19.1.src.tar.gz

About: Google’s Go is a compiled, garbage-collected, concurrent programming language.
Latest stable release (1.19).

loader.go  (go1.19.src):loader.go  (go1.19.1.src)
skipping to change at line 1613 skipping to change at line 1613
// GetFuncDwarfAuxSyms collects and returns the auxiliary DWARF // GetFuncDwarfAuxSyms collects and returns the auxiliary DWARF
// symbols associated with a given function symbol. Prior to the // symbols associated with a given function symbol. Prior to the
// introduction of the loader, this was done purely using name // introduction of the loader, this was done purely using name
// lookups, e.f. for function with name XYZ we would then look up // lookups, e.f. for function with name XYZ we would then look up
// go.info.XYZ, etc. // go.info.XYZ, etc.
func (l *Loader) GetFuncDwarfAuxSyms(fnSymIdx Sym) (auxDwarfInfo, auxDwarfLoc, a uxDwarfRanges, auxDwarfLines Sym) { func (l *Loader) GetFuncDwarfAuxSyms(fnSymIdx Sym) (auxDwarfInfo, auxDwarfLoc, a uxDwarfRanges, auxDwarfLines Sym) {
if l.SymType(fnSymIdx) != sym.STEXT { if l.SymType(fnSymIdx) != sym.STEXT {
log.Fatalf("error: non-function sym %d/%s t=%s passed to GetFuncD warfAuxSyms", fnSymIdx, l.SymName(fnSymIdx), l.SymType(fnSymIdx).String()) log.Fatalf("error: non-function sym %d/%s t=%s passed to GetFuncD warfAuxSyms", fnSymIdx, l.SymName(fnSymIdx), l.SymType(fnSymIdx).String())
} }
if l.IsExternal(fnSymIdx) { r, auxs := l.auxs(fnSymIdx)
// Current expectation is that any external function will
// not have auxsyms.
return
}
r, li := l.toLocal(fnSymIdx)
auxs := r.Auxs(li)
for i := range auxs { for i := range auxs {
a := &auxs[i] a := &auxs[i]
switch a.Type() { switch a.Type() {
case goobj.AuxDwarfInfo: case goobj.AuxDwarfInfo:
auxDwarfInfo = l.resolve(r, a.Sym()) auxDwarfInfo = l.resolve(r, a.Sym())
if l.SymType(auxDwarfInfo) != sym.SDWARFFCN { if l.SymType(auxDwarfInfo) != sym.SDWARFFCN {
panic("aux dwarf info sym with wrong type") panic("aux dwarf info sym with wrong type")
} }
case goobj.AuxDwarfLoc: case goobj.AuxDwarfLoc:
auxDwarfLoc = l.resolve(r, a.Sym()) auxDwarfLoc = l.resolve(r, a.Sym())
 End of changes. 1 change blocks. 
7 lines changed or deleted 2 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)