The previous implementation miscalculated the addend, resulting
in an underflow. This meant that every SIGNED_N section relocation would
be associated with the last subsection (since the addend would now be a
huge number). We were "lucky" that this mistake was typically cancelled
out -- 64-to-32-bit-truncation meant that the final value was correct,
as long as subsections were not rearranged.
Details
Details
- Reviewers
thakis - Group Reviewers
Restricted Project - Commits
- rGe8a305830335: [lld-macho] Fix handling of X86_64_RELOC_SIGNED_{1,2,4}
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
lld/MachO/InputFiles.cpp | ||
---|---|---|
308 | nit: llvm uses "FIXME" as the default todo comment, not XXX or TODO |
nit: llvm uses "FIXME" as the default todo comment, not XXX or TODO