From 15f0ad2fa29beaf1dad1548ccb97c2c729ea53cd Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Wed, 16 Sep 2020 14:03:34 -0700 Subject: [PATCH] [ELF] Bump the limit of thunk creation passes from 10 to 15 I have noticed that a 374MiB powerpc64le 'ld.lld' requires 11 passes to link. There is a ThunkSection (whose parent OutputSection is ".text" of 169MiB) with 12867 thunks. --- lld/ELF/Writer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 5ef37e9ecb89..f42686f08e64 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -1701,8 +1701,8 @@ template void Writer::finalizeAddressDependentContent() { bool changed = target->needsThunks && tc.createThunks(outputSections); // With Thunk Size much smaller than branch range we expect to - // converge quickly; if we get to 10 something has gone wrong. - if (changed && tc.pass >= 10) { + // converge quickly; if we get to 15 something has gone wrong. + if (changed && tc.pass >= 15) { error("thunk creation not converged"); break; }