1
0
mirror of https://github.com/golang/go synced 2024-11-19 05:34:40 -07:00

debug/elf: load .debug_line section and pass to dwarf.New

Change-Id: Ia6f9bd77a3d4250339dcb054edc76942864dd358
Reviewed-on: https://go-review.googlesource.com/6781
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Austin Clements 2015-03-04 11:04:26 -05:00
parent 4ee347b0ad
commit 29ad1ae420

View File

@ -749,9 +749,9 @@ func (f *File) DWARF() (*dwarf.Data, error) {
}
// There are many other DWARF sections, but these
// are the required ones, and the debug/dwarf package
// does not use the others, so don't bother loading them.
var dat = map[string][]byte{"abbrev": nil, "info": nil, "str": nil}
// are the ones the debug/dwarf package uses.
// Don't bother loading others.
var dat = map[string][]byte{"abbrev": nil, "info": nil, "str": nil, "line": nil}
for i, s := range f.Sections {
if !strings.HasPrefix(s.Name, ".debug_") {
continue
@ -766,7 +766,7 @@ func (f *File) DWARF() (*dwarf.Data, error) {
dat[s.Name[7:]] = b
}
d, err := dwarf.New(dat["abbrev"], nil, nil, dat["info"], nil, nil, nil, dat["str"])
d, err := dwarf.New(dat["abbrev"], nil, nil, dat["info"], dat["line"], nil, nil, dat["str"])
if err != nil {
return nil, err
}