From 6da3925590591b975c12e16944d460711447513d Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Tue, 5 Aug 2025 19:55:14 -0700 Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?= =?UTF-8?q?l=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created using spr 1.3.5-bogner --- lld/ELF/Arch/LoongArch.cpp | 3 --- lld/ELF/Arch/RISCV.cpp | 3 --- lld/ELF/Writer.cpp | 2 ++ 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/lld/ELF/Arch/LoongArch.cpp b/lld/ELF/Arch/LoongArch.cpp index 8802c8c2e7f01..838ca4d242c7b 100644 --- a/lld/ELF/Arch/LoongArch.cpp +++ b/lld/ELF/Arch/LoongArch.cpp @@ -1396,9 +1396,6 @@ void LoongArch::relocateAlloc(InputSectionBase &sec, uint8_t *buf) const { // change in section sizes can have cascading effect and require another // relaxation pass. bool LoongArch::relaxOnce(int pass) const { - if (ctx.arg.relocatable) - return false; - if (pass == 0) initSymbolAnchors(ctx); diff --git a/lld/ELF/Arch/RISCV.cpp b/lld/ELF/Arch/RISCV.cpp index 72d83159ad8ac..ba0584bb1799b 100644 --- a/lld/ELF/Arch/RISCV.cpp +++ b/lld/ELF/Arch/RISCV.cpp @@ -942,9 +942,6 @@ static bool relax(Ctx &ctx, int pass, InputSection &sec) { // relaxation pass. bool RISCV::relaxOnce(int pass) const { llvm::TimeTraceScope timeScope("RISC-V relaxOnce"); - if (ctx.arg.relocatable) - return false; - if (pass == 0) initSymbolAnchors(ctx); diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 2b0e097766d2c..fdacc54282c2c 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -1543,6 +1543,8 @@ template void Writer::finalizeAddressDependentContent() { uint32_t pass = 0, assignPasses = 0; for (;;) { + if (ctx.arg.relocatable) + break; bool changed = ctx.target->needsThunks ? tc.createThunks(pass, ctx.outputSections) : ctx.target->relaxOnce(pass);