@@ -122,12 +122,6 @@ func IndexDwarfData(d *dwarf.Data) (ret PCRecord, err error) {
122122 fmt .Fprintf (os .Stderr , "error indexing compile unit: %v\n " , err )
123123 }
124124
125- // case dwarf.TagInlinedSubroutine:
126- // fmt.Println("INDEXING INLINED ENTRY INFORMATION!")
127- // if err := indexInlineEntry(r, ent, d, files, &ret); err != nil {
128- // fmt.Fprintf(os.Stderr, "error indexing inlined subroutine:\n\t%#v\n\t%v\n", ent, err)
129- // }
130-
131125 case dwarf .TagSubprogram :
132126 if err := indexFunctionEntry (r , ent , d , files , & ret , offset2function ); err != nil {
133127 fmt .Fprintf (os .Stderr , "error indexing function:\n \t %#v\n \t %v\n " , ent , err )
@@ -140,17 +134,13 @@ func IndexDwarfData(d *dwarf.Data) (ret PCRecord, err error) {
140134 }
141135 }
142136
143- fmt .Printf ("Type param map: %#v\n " , ret .TypeParamMap )
144-
145137 for _ , record := range offset2function {
146138 // TODO: are these all the cases when an entry is invalid?
147139 if record == nil || isTombstoneAddr (record .LowPC ) || isTombstoneAddr (record .HighPC ) || record .Name == "" {
148- fmt .Fprintf (os .Stderr , "Malformed function entry %#v \n " , record )
140+ fmt .Fprintf (os .Stderr , "Malformed function entry %s %s:%d \n " , record . Name , record . FileName , record . Line )
149141 continue
150142 }
151143
152- fmt .Printf ("INDEXED %#v\n " , record )
153-
154144 ret .Function .Insert (record .LowPC , record .HighPC - 1 , * record )
155145 }
156146
@@ -161,8 +151,6 @@ func indexStructType(d *dwarf.Data, ent *dwarf.Entry, ret *PCRecord) error {
161151 sr := d .Reader ()
162152 sr .Seek (ent .Offset )
163153
164- fmt .Printf ("INDEXING TYPE PARAMS FOR STRUCT: %s\n " , ent .AttrField (dwarf .AttrName ).Val .(string ))
165-
166154 for ent .Children {
167155 child , err := sr .Next ()
168156
@@ -193,8 +181,6 @@ func indexStructType(d *dwarf.Data, ent *dwarf.Entry, ret *PCRecord) error {
193181 }
194182
195183 ret.TypeParamMap [typeName ][templateName ] = paramType
196-
197- fmt .Printf ("FOUND TYPE PARAM: %s %s %#v\n " , typeName , templateName , paramType )
198184 }
199185
200186 }
@@ -257,7 +243,6 @@ func indexVariable(arr *[]VariableRecord, varEntry *dwarf.Entry, d *dwarf.Data,
257243 Index : uint32 (res ),
258244 }
259245 } else {
260- fmt .Println ("INTERESTING CYKA" )
261246 res := parseLEB128 (v [2 :])
262247 varLocation = MemoryLocation {
263248 Typ : LocationTypeDirectLocal ,
@@ -270,11 +255,9 @@ func indexVariable(arr *[]VariableRecord, varEntry *dwarf.Entry, d *dwarf.Data,
270255 // This is probably some location field
271256
272257 default :
273- fmt .Printf ("CYKA: %s - %#v\n " , varName , varLocationField )
274258 return fmt .Errorf ("keep going :)" )
275259 }
276260
277- fmt .Printf ("ADDING VAR %s with range %d - %d and location: %#v\n " , varName , lowPC , highPC , varLocationField )
278261 * arr = append (* arr , VariableRecord {
279262 Name : varName ,
280263 // Offset: varLocation,
@@ -288,45 +271,8 @@ func indexVariable(arr *[]VariableRecord, varEntry *dwarf.Entry, d *dwarf.Data,
288271}
289272
290273func indexLexBlock (r dwarf.Reader , lexEntry * dwarf.Entry , files []* dwarf.LineFile , d * dwarf.Data , locals * []VariableRecord , params * []VariableRecord , ret * PCRecord ) (DwarfPC , error ) {
291-
292- // var lowPC uint64
293- // var highPC uint64
294-
295274 entryOffset := DwarfPC (lexEntry .Offset )
296275
297- // if lowPcWrapped := lexEntry.AttrField(dwarf.AttrLowpc); lowPcWrapped != nil {
298- // switch v := lowPcWrapped.Val.(type) {
299- // case uint64:
300- // lowPC = v
301- // // case int64:
302- // // record.LowPC = uint64(v)
303- // default:
304- // // return entryOffset, fmt.Errorf("unrecognized lowPc format")
305- // lowPC = 0
306- // }
307- // } else {
308- //
309- // lowPC = 0
310- // }
311-
312- // if highPcWrapped := lexEntry.AttrField(dwarf.AttrHighpc); highPcWrapped != nil {
313- // switch highPcWrapped.Class {
314- // case dwarf.ClassAddress: // we assume it's an absolute offset
315- // highPC = highPcWrapped.Val.(uint64)
316- // case dwarf.ClassConstant:
317- // highPC = lowPC + uint64(highPcWrapped.Val.(int64))
318- // default:
319- // //return entryOffset, fmt.Errorf("unrecognized highPc format")
320- // highPC = math.MaxUint64
321- // }
322- // } else {
323- // highPC = math.MaxUint64
324- // }
325-
326- // if isTombstoneAddr(lowPC) || isTombstoneAddr(highPC) {
327- // return entryOffset, fmt.Errorf("tombstone address")
328- // }
329-
330276 ranges , err := d .Ranges (lexEntry )
331277 if err != nil {
332278 return entryOffset , err
@@ -656,8 +602,6 @@ func indexInlinedEntry(r dwarf.Reader, inlinedEnt *dwarf.Entry, d *dwarf.Data, f
656602 entry = append (entry , rec )
657603 ret .InlinedRoutines .Insert (lowPC , highPC - 1 , entry )
658604 }
659-
660- fmt .Printf ("INSERTING INLINE INTERVAL [%d %d] : %#v\n " , lowPC , highPC - 1 , rec )
661605 }
662606
663607 return exitOffset , nil
@@ -684,7 +628,6 @@ func parseLEB128(v []uint8) uint64 {
684628}
685629
686630func indexCompileUnit (cu * dwarf.Entry , d * dwarf.Data , tree * PCRecord ) ([]* dwarf.LineFile , error ) {
687- fmt .Println ("---------------------------------------------------------" )
688631 lineReader , err := d .LineReader (cu )
689632 if err != nil || lineReader == nil {
690633 return nil , fmt .Errorf ("can't initialize line reader: %v" , err )
@@ -703,7 +646,6 @@ func indexCompileUnit(cu *dwarf.Entry, d *dwarf.Data, tree *PCRecord) ([]*dwarf.
703646
704647 if prevLe != nil {
705648 if prevLe .IsStmt {
706- fmt .Printf ("LINE: %s:%d:%d RANGE: [%x; %x]\n " , prevLe .File .Name , prevLe .Line , prevLe .Column , prevLe .Address , le .Address - 1 )
707649 tree .Line .Insert (prevLe .Address , le .Address - 1 , LineRecord {
708650 FileName : prevLe .File .Name ,
709651 Line : int64 (prevLe .Line ),
0 commit comments