]> Cypherpunks repositories - gostls13.git/commitdiff
debug/elf: retain original error message when getSymbols fails.
authorFlorin Papa <fpapa@google.com>
Fri, 7 May 2021 00:17:59 +0000 (17:17 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 10 Sep 2021 17:13:40 +0000 (17:13 +0000)
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 <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Than McIntosh <thanm@google.com>

src/debug/elf/file.go

index b25d8209e36f95a90e91beecdcf1176cc5ec9742..e265796ddc3be019e551a68f009365c2538ecd61 100644 (file)
@@ -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.