[all-commits] [llvm/llvm-project] 55fa31: [LLVMgold.so] -plugin-opt=save-temps: save combine...

Fangrui Song via All-commits all-commits at lists.llvm.org
Mon Jul 20 10:03:17 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 55fa315b0352b63454206600d6803fafacb42d5e
      https://github.com/llvm/llvm-project/commit/55fa315b0352b63454206600d6803fafacb42d5e
  Author: Fangrui Song <i at maskray.me>
  Date:   2020-07-20 (Mon, 20 Jul 2020)

  Changed paths:
    M llvm/test/tools/gold/X86/parallel.ll
    M llvm/test/tools/gold/X86/relocation-model-pic.ll
    M llvm/test/tools/gold/X86/thinlto.ll
    M llvm/tools/gold/gold-plugin.cpp

  Log Message:
  -----------
  [LLVMgold.so] -plugin-opt=save-temps: save combined module to .lto.o instead of .o

This matches LLD and fixes https://sourceware.org/bugzilla/show_bug.cgi?id=26262#c1

.o is a bad choice for save-temps output because it is easy to override the bitcode file (*.o)

```
 # Use bfd for the example, -fuse-ld=gold is similar.
clang -flto -c a.c  # generate bitcode file a.o
clang -fuse-ld=bfd -flto a.o -o a -Wl,-plugin-opt=save-temps  # override a.o

 # The user repeats the command but get surprised, because a.o is now a combined module.
clang -fuse-ld=bfd -flto a.o -o a -Wl,-plugin-opt=save-temps
```

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D84132




More information about the All-commits mailing list