<div dir="ltr">I'm trying to run distributed ThinLTO without thin archives. <br>When I do, I get an error in the optimizer when clang tries to open a nonexistent file:<br><br>clang++ -flto=thin -Xclang -fno-lto-unit -O3 -c main.cpp -o main.o<br>clang++ -flto=thin -Xclang -fno-lto-unit -O3 -c lib/lib.cpp -o lib/lib.o<br>clang++ -flto=thin -Xclang -fno-lto-unit -O3 -c src/lib.cpp -o src/lib.o<br>llvm-ar -format gnu qcs lib.a lib/lib.o src/lib.o<br>clang++ -flto=thin -o index -O3  -Wl,-plugin-opt,thinlto-index-only=thinlto.objects -Wl,-plugin-opt,thinlto-emit-imports-files main.o lib.a<br>clang++ -c -x ir main.o -O3 -flto=thin -o main-native.o -fthinlto-index=main.o.thinlto.bc<br>Error loading imported file 'lib.a.llvm.2596.lib.cpp': No such file or directory<br><br>In this case, gold has registered the modules within my archive with ThinLTO. <br>The string "lib.a.llvm.2596.lib.cpp" is generated with the archive in question, plus an offset indicating where in the archive the particular object file is. <br>Unfortunately, when the optimizer tries to include the proper modules, <br>it's naively looking for a bitcode file with the name of the string provided, but there's obviously no "lib.a.llvm.2596.lib.cpp" for it to open.<br><br>Has anyone else tried to get clang to understand distributed ThinLTO when using non thin archives? <br>Is there some way to get clang to understand these out of the box?<br><br>I'm actually a little confused about the ".cpp" in "lib.a.llvm.2596.lib.cpp". <br>Seems like it should be a ".o"?<br><br>It didn't seem like there was anything out of the box that supported this. <br>I was looking at having clang actually read in the archive file and register the correct bitcode module. <br>I wanted to run it by the list to get some second opinions before I started that.<br></div>