From ff111a997f1b40a531bc68b543542746d4b08a5f Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Wed, 16 Nov 2022 21:31:28 -0500 Subject: [PATCH] [lld-macho] Increase slop to prevent thunk out of range again. Building Firefox with -O0 on arm64 mac recently hit the "FIXME: thunk range overrun" error on multiple occasions. Doubling or tripling slop was not sufficient in some cases, so quadruple it. Reviewed By: #lld-macho, int3 Differential Revision: https://reviews.llvm.org/D138174 --- lld/MachO/ConcatOutputSection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lld/MachO/ConcatOutputSection.cpp b/lld/MachO/ConcatOutputSection.cpp index e97f1e9b9ddd..cbd3a2492d25 100644 --- a/lld/MachO/ConcatOutputSection.cpp +++ b/lld/MachO/ConcatOutputSection.cpp @@ -246,7 +246,7 @@ void TextOutputSection::finalize() { // contains several branch instructions in succession, then the distance // from the current position to the position where the thunks are inserted // grows. So leave room for a bunch of thunks. - unsigned slop = 256 * thunkSize; + unsigned slop = 1024 * thunkSize; while (finalIdx < endIdx && addr + size + inputs[finalIdx]->getSize() < isecVA + forwardBranchRange - slop) finalizeOne(inputs[finalIdx++]); -- 2.38.1.1.g6d9df9d320