diff options
-rw-r--r-- | src/debug/elf/file.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/debug/elf/file.go b/src/debug/elf/file.go index c908e7a88..de8a3a24f 100644 --- a/src/debug/elf/file.go +++ b/src/debug/elf/file.go @@ -564,6 +564,10 @@ func (f *File) applyRelocationsAMD64(dst []byte, rels []byte) error { continue } + // There are relocations, so this must be a normal + // object file, and we only look at section symbols, + // so we assume that the symbol value is 0. + switch t { case R_X86_64_64: if rela.Off+8 >= uint64(len(dst)) || rela.Addend < 0 { @@ -646,6 +650,10 @@ func (f *File) applyRelocationsARM64(dst []byte, rels []byte) error { continue } + // There are relocations, so this must be a normal + // object file, and we only look at section symbols, + // so we assume that the symbol value is 0. + switch t { case R_AARCH64_ABS64: if rela.Off+8 >= uint64(len(dst)) || rela.Addend < 0 { |