in macho.go [55:75]
func (f *machoFile) hasRealFiles() (ok bool, err error) {
tab, err := f.pclnTable()
if err != nil {
return false, err
}
if len(f.objFile.Symtab.Syms) == 0 {
return false, nil
}
foundMain := false
for _, sym := range f.objFile.Symtab.Syms {
if sym.Name != "main.main" {
continue
}
foundMain = true
file, _, fn := tab.PCToLine(sym.Value)
if file == "??" || fn == nil {
return false, nil
}
}
return foundMain, nil
}