mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
debug/elf: make check for empty symbol section consistent for 64-bit and 32-bit binaries
The check for whether a binary's symbols section is empty is
inconsistent across the 32-bit and 64-bit flows.
Change-Id: I1abc235320a53cf957cfb83c9e7bcad6e52bc529
GitHub-Last-Rev: f264915ca2
GitHub-Pull-Request: golang/go#75334
Reviewed-on: https://go-review.googlesource.com/c/go/+/702195
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
This commit is contained in:
parent
3f94f3d4b2
commit
eec1afeb28
1 changed files with 4 additions and 4 deletions
|
|
@ -641,7 +641,7 @@ func (f *File) getSymbols32(typ SectionType) ([]Symbol, []byte, error) {
|
||||||
return nil, nil, fmt.Errorf("cannot load symbol section: %w", err)
|
return nil, nil, fmt.Errorf("cannot load symbol section: %w", err)
|
||||||
}
|
}
|
||||||
if len(data) == 0 {
|
if len(data) == 0 {
|
||||||
return nil, nil, errors.New("symbol section is empty")
|
return nil, nil, ErrNoSymbols
|
||||||
}
|
}
|
||||||
if len(data)%Sym32Size != 0 {
|
if len(data)%Sym32Size != 0 {
|
||||||
return nil, nil, errors.New("length of symbol section is not a multiple of SymSize")
|
return nil, nil, errors.New("length of symbol section is not a multiple of SymSize")
|
||||||
|
|
@ -690,12 +690,12 @@ func (f *File) getSymbols64(typ SectionType) ([]Symbol, []byte, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("cannot load symbol section: %w", err)
|
return nil, nil, fmt.Errorf("cannot load symbol section: %w", err)
|
||||||
}
|
}
|
||||||
if len(data)%Sym64Size != 0 {
|
|
||||||
return nil, nil, errors.New("length of symbol section is not a multiple of Sym64Size")
|
|
||||||
}
|
|
||||||
if len(data) == 0 {
|
if len(data) == 0 {
|
||||||
return nil, nil, ErrNoSymbols
|
return nil, nil, ErrNoSymbols
|
||||||
}
|
}
|
||||||
|
if len(data)%Sym64Size != 0 {
|
||||||
|
return nil, nil, errors.New("length of symbol section is not a multiple of Sym64Size")
|
||||||
|
}
|
||||||
|
|
||||||
strdata, err := f.stringTable(symtabSection.Link)
|
strdata, err := f.stringTable(symtabSection.Link)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue