Commit 6dfc2256 authored by Alessandro Arzilli's avatar Alessandro Arzilli Committed by Kirill Smelkov

debug/pe,debug/macho: add support for DWARF5 sections

Adds the same logic used in debug/elf to load DWARF5 sections.

Fixes #49590

Change-Id: Iee05b9927a6f521842b330eab8942ade3fc2bd86
Reviewed-on: https://go-review.googlesource.com/c/go/+/363895Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
Trust: Than McIntosh <thanm@google.com>
parent d5cb7152
......@@ -636,10 +636,14 @@ func (f *File) DWARF() (*dwarf.Data, error) {
return nil, err
}
// Look for DWARF4 .debug_types sections.
// Look for DWARF4 .debug_types sections and DWARF5 sections.
for i, s := range f.Sections {
suffix := dwarfSuffix(s)
if suffix != "types" {
if suffix == "" {
continue
}
if _, ok := dat[suffix]; ok {
// Already handled.
continue
}
......@@ -648,7 +652,11 @@ func (f *File) DWARF() (*dwarf.Data, error) {
return nil, err
}
err = d.AddTypes(fmt.Sprintf("types-%d", i), b)
if suffix == "types" {
err = d.AddTypes(fmt.Sprintf("types-%d", i), b)
} else {
err = d.AddSection(".debug_"+suffix, b)
}
if err != nil {
return nil, err
}
......
......@@ -286,10 +286,14 @@ func (f *File) DWARF() (*dwarf.Data, error) {
return nil, err
}
// Look for DWARF4 .debug_types sections.
// Look for DWARF4 .debug_types sections and DWARF5 sections.
for i, s := range f.Sections {
suffix := dwarfSuffix(s)
if suffix != "types" {
if suffix == "" {
continue
}
if _, ok := dat[suffix]; ok {
// Already handled.
continue
}
......@@ -298,7 +302,11 @@ func (f *File) DWARF() (*dwarf.Data, error) {
return nil, err
}
err = d.AddTypes(fmt.Sprintf("types-%d", i), b)
if suffix == "types" {
err = d.AddTypes(fmt.Sprintf("types-%d", i), b)
} else {
err = d.AddSection(".debug_"+suffix, b)
}
if err != nil {
return nil, err
}
......
  • This commit is used to patch go on slapos repository. Writing this comment will make sure the commit is preserved by gitlab.

  • mentioned in commit 28fbdd01

    Toggle commit list
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment