diff options
Diffstat (limited to 'build/build-clang/llvmorg-16-init-10850-gff111a997f1b.patch')
-rw-r--r-- | build/build-clang/llvmorg-16-init-10850-gff111a997f1b.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/build/build-clang/llvmorg-16-init-10850-gff111a997f1b.patch b/build/build-clang/llvmorg-16-init-10850-gff111a997f1b.patch new file mode 100644 index 0000000000..136508a065 --- /dev/null +++ b/build/build-clang/llvmorg-16-init-10850-gff111a997f1b.patch @@ -0,0 +1,35 @@ +From ff111a997f1b40a531bc68b543542746d4b08a5f Mon Sep 17 00:00:00 2001 +From: Mike Hommey <mh@glandium.org> +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 + |