[lld] 0e1fb48 - [lld-macho] Use uint64_t instead of size_t to fix 32 bit test failures
David Spickett via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 16 01:45:06 PST 2023
Author: David Spickett
Date: 2023-02-16T09:44:38Z
New Revision: 0e1fb48bb95abaf94c0d21b58c4c075f6faad8ba
URL: https://github.com/llvm/llvm-project/commit/0e1fb48bb95abaf94c0d21b58c4c075f6faad8ba
DIFF: https://github.com/llvm/llvm-project/commit/0e1fb48bb95abaf94c0d21b58c4c075f6faad8ba.diff
LOG: [lld-macho] Use uint64_t instead of size_t to fix 32 bit test failures
Our bot has been failing https://lab.llvm.org/buildbot/#/builders/178/builds/3967:
Assertion `isecEnd - isecVA <= forwardBranchRange && "should only finalize sections in jump range"' failed.
I think this is due to the use of size_t, which is 32 bit on 32 bit,
for a value used in some 64 bit address calculations. Which was added in
https://reviews.llvm.org/D144029.
Switching to uint64_t fixes the issues.
Added:
Modified:
lld/MachO/ConcatOutputSection.cpp
Removed:
################################################################################
diff --git a/lld/MachO/ConcatOutputSection.cpp b/lld/MachO/ConcatOutputSection.cpp
index b522bd9b289ee..d4f60b6dd7188 100644
--- a/lld/MachO/ConcatOutputSection.cpp
+++ b/lld/MachO/ConcatOutputSection.cpp
@@ -248,7 +248,7 @@ void TextOutputSection::finalize() {
// grows. So leave room for a bunch of thunks.
unsigned slop = 256 * thunkSize;
while (finalIdx < endIdx) {
- size_t expectedNewSize = alignTo(addr + size, inputs[finalIdx]->align) +
+ uint64_t expectedNewSize = alignTo(addr + size, inputs[finalIdx]->align) +
inputs[finalIdx]->getSize();
if (expectedNewSize >= isecVA + forwardBranchRange - slop)
break;
More information about the llvm-commits
mailing list