From: Mike Hommey Date: Thu, 17 Nov 2022 02:31:28 +0000 (-0500) Subject: [lld-macho] Increase slop to prevent thunk out of range again. X-Git-Tag: upstream/17.0.6~27408 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff111a997f1b40a531bc68b543542746d4b08a5f;p=platform%2Fupstream%2Fllvm.git [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 --- diff --git a/lld/MachO/ConcatOutputSection.cpp b/lld/MachO/ConcatOutputSection.cpp index e97f1e9..cbd3a24 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++]);