diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2023-03-21 21:27:17 +0100 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2023-03-21 21:27:22 +0100 |
| commit | 1be86218153ae77109d785aafb29430f787adefd (patch) | |
| tree | 6cc3b61a15f9e4f1215dab07c1494286ab766564 /lib/std/http | |
| parent | dc98009e36a344f8d0330af6b9e9226a2ba6a474 (diff) | |
| download | zig-1be86218153ae77109d785aafb29430f787adefd.tar.gz zig-1be86218153ae77109d785aafb29430f787adefd.zip | |
macho+zld: when finding by address, note the end of section symbols too
Previously, if we were looking for the very last symbol by address in some
section, and the next symbol happened to also have the same address value
but would reside in a different section, we would keep going finding the
wrong symbol in the wrong section.
This mechanism turns out vital for correct linking of Go binaries
where the runtime looks for specially crafted synthetic symbols
which mark the beginning and end of each section. In this case,
we had an unfortunate clash between the end of PC marked machine code
section (`_runtime.etext`) and beginning of read-only data (`_runtime.rodata`).
Diffstat (limited to 'lib/std/http')
0 files changed, 0 insertions, 0 deletions
