From: Florin Papa Date: Fri, 7 May 2021 00:17:59 +0000 (-0700) Subject: debug/elf: retain original error message when getSymbols fails. X-Git-Tag: go1.18beta1~1382 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1bf2cd1291;p=gostls13.git debug/elf: retain original error message when getSymbols fails. The original error is currently discarded, and that makes it difficult to know what failed, in case we want to retry only certain errors. Change-Id: Id7e927ec242464249c4dfa5cda0f264adef3c898 Reviewed-on: https://go-review.googlesource.com/c/go/+/317851 Run-TryBot: Ian Lance Taylor TryBot-Result: Go Bot Reviewed-by: Ian Lance Taylor Trust: Than McIntosh --- diff --git a/src/debug/elf/file.go b/src/debug/elf/file.go index b25d8209e3..e265796ddc 100644 --- a/src/debug/elf/file.go +++ b/src/debug/elf/file.go @@ -494,7 +494,7 @@ func (f *File) getSymbols32(typ SectionType) ([]Symbol, []byte, error) { data, err := symtabSection.Data() if err != nil { - return nil, nil, errors.New("cannot load symbol section") + return nil, nil, fmt.Errorf("cannot load symbol section: %w", err) } symtab := bytes.NewReader(data) if symtab.Len()%Sym32Size != 0 { @@ -503,7 +503,7 @@ func (f *File) getSymbols32(typ SectionType) ([]Symbol, []byte, error) { strdata, err := f.stringTable(symtabSection.Link) if err != nil { - return nil, nil, errors.New("cannot load string table section") + return nil, nil, fmt.Errorf("cannot load string table section: %w", err) } // The first entry is all zeros. @@ -537,7 +537,7 @@ func (f *File) getSymbols64(typ SectionType) ([]Symbol, []byte, error) { data, err := symtabSection.Data() if err != nil { - return nil, nil, errors.New("cannot load symbol section") + return nil, nil, fmt.Errorf("cannot load symbol section: %w", err) } symtab := bytes.NewReader(data) if symtab.Len()%Sym64Size != 0 { @@ -546,7 +546,7 @@ func (f *File) getSymbols64(typ SectionType) ([]Symbol, []byte, error) { strdata, err := f.stringTable(symtabSection.Link) if err != nil { - return nil, nil, errors.New("cannot load string table section") + return nil, nil, fmt.Errorf("cannot load string table section: %w", err) } // The first entry is all zeros.