golang/src/debug/elf/testdata
Victor Michel e01a226fad debug/elf: support relocations relative to sections with non-zero addresses
commit 72ec930fa7 added basic support for
relocations, but assumed that the symbol value would be 0, likely because
.debug_info always has address == 0 in the ELF section headers.

CL 195679 added further support for relocations, but explicitly encoded
the original assumption that section addresses would be 0.

This change removes that assumption: all relocations will now be
properly computed based on the target symbol value even when that symbol
is a section with a non-zero address.

Typically, sections that are part of a LOAD program segment have
non-zero addresses. For example, .debug_ranges relocations could be
relative to .text, which usually has an address > 0.

Fixes #40879

Change-Id: Ib0a616bb8b05d6c96d179b03ca33a10946fc5d59
GitHub-Last-Rev: 4200de732641995f3a4958a13a5c78f65b7eae50
GitHub-Pull-Request: golang/go#41038
Reviewed-on: https://go-review.googlesource.com/c/go/+/250559
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2020-08-31 18:42:38 +00:00
..
compressed-32.obj debug/elf: transparently decompress compressed sections 2015-12-03 20:53:11 +00:00
compressed-64.obj debug/elf: transparently decompress compressed sections 2015-12-03 20:53:11 +00:00
gcc-386-freebsd-exec
gcc-amd64-linux-exec
gcc-amd64-openbsd-debug-with-rela.obj
go-relocation-test-clang-arm.obj
go-relocation-test-clang-x86.obj
go-relocation-test-gcc5-ppc.obj
go-relocation-test-gcc424-x86-64.obj
go-relocation-test-gcc441-x86-64.obj
go-relocation-test-gcc441-x86.obj
go-relocation-test-gcc482-aarch64.obj
go-relocation-test-gcc482-ppc64le.obj
go-relocation-test-gcc492-arm.obj
go-relocation-test-gcc492-mips64.obj
go-relocation-test-gcc492-mipsle.obj debug/elf: add support for GOARCH=mips{,le} 2016-11-03 22:38:25 +00:00
go-relocation-test-gcc493-mips64le.obj
go-relocation-test-gcc531-s390x.obj debug/elf: add s390x relocations 2016-03-29 16:48:09 +00:00
go-relocation-test-gcc540-mips.obj debug/elf: add support for GOARCH=mips{,le} 2016-11-03 22:38:25 +00:00
go-relocation-test-gcc620-sparc64.obj debug/elf: add sparc64 relocations 2016-10-11 21:52:37 +00:00
go-relocation-test-gcc720-riscv64.obj debug/elf: add riscv64 relocations 2018-04-18 13:19:31 +00:00
go-relocation-test-gcc930-ranges-no-rela-x86-64 debug/elf: support relocations relative to sections with non-zero addresses 2020-08-31 18:42:38 +00:00
go-relocation-test-gcc930-ranges-with-rela-x86-64 debug/elf: support relocations relative to sections with non-zero addresses 2020-08-31 18:42:38 +00:00
hello-world-core.gz all: zero mtimes in testdata gz files 2016-03-25 04:02:36 +00:00
hello.c
multiple-code-sections.c debug/elf: support relocations relative to sections with non-zero addresses 2020-08-31 18:42:38 +00:00
zdebug-test-gcc484-x86-64.obj dwbug/elf: support old-style compressed DWARF 2015-12-03 20:53:04 +00:00