Index: lld/ELF/LTO.cpp =================================================================== --- lld/ELF/LTO.cpp +++ lld/ELF/LTO.cpp @@ -256,7 +256,7 @@ if (Buff[I].empty()) continue; if (Config->SaveTemps) { - if (I == 0) + if (MaxTasks == 1) saveBuffer(Buff[I], Config->OutputFile + ".lto.o"); else saveBuffer(Buff[I], Config->OutputFile + Twine(I) + ".lto.o"); Index: lld/test/ELF/lto/parallel-internalize.ll =================================================================== --- lld/test/ELF/lto/parallel-internalize.ll +++ lld/test/ELF/lto/parallel-internalize.ll @@ -4,7 +4,7 @@ ; RUN: ld.lld -m elf_x86_64 --lto-partitions=2 -save-temps -o %t %t.bc \ ; RUN: -e foo --lto-O0 ; RUN: llvm-readobj -t -dyn-symbols %t | FileCheck %s -; RUN: llvm-nm %t.lto.o | FileCheck --check-prefix=CHECK0 %s +; RUN: llvm-nm %t0.lto.o | FileCheck --check-prefix=CHECK0 %s ; RUN: llvm-nm %t1.lto.o | FileCheck --check-prefix=CHECK1 %s ; CHECK: Symbols [ Index: lld/test/ELF/lto/parallel.ll =================================================================== --- lld/test/ELF/lto/parallel.ll +++ lld/test/ELF/lto/parallel.ll @@ -2,7 +2,7 @@ ; RUN: llvm-as -o %t.bc %s ; RUN: rm -f %t.lto.o %t1.lto.o ; RUN: ld.lld -m elf_x86_64 --lto-partitions=2 -save-temps -o %t %t.bc -shared -; RUN: llvm-nm %t.lto.o | FileCheck --check-prefix=CHECK0 %s +; RUN: llvm-nm %t0.lto.o | FileCheck --check-prefix=CHECK0 %s ; RUN: llvm-nm %t1.lto.o | FileCheck --check-prefix=CHECK1 %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"