[flang-commits] [flang] [clang] [compiler-rt] [llvm] [libcxx] [openmp] [mlir] [libc] [clang-tools-extra] [lld] [ELF] --save-temps --lto-emit-asm: derive ELF/asm file names from bitcode file names (PR #78835)

Fangrui Song via flang-commits flang-commits at lists.llvm.org
Tue Jan 23 12:54:02 PST 2024


MaskRay wrote:

> We're seeing a test failure on our buildbot after this patch landed. Could you take a look?
> 
> [lab.llvm.org/buildbot/#/builders/216/builds/33382/steps/7/logs/FAIL__lld__defsym_ll](https://lab.llvm.org/buildbot/#/builders/216/builds/33382/steps/7/logs/FAIL__lld__defsym_ll)
> 
> ```
> # RUN: at line 4
> z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-as.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto/Inputs/defsym-bar.ll -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-as.exe' 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto/Inputs/defsym-bar.ll' -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o'
> # RUN: at line 5
> z:\b\llvm-clang-x86_64-sie-win\build\bin\ld.lld.exe Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o -shared -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so -defsym=bar2=bar3 -save-temps
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\ld.lld.exe' 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o' 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o' -shared -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so' -defsym=bar2=bar3 -save-temps
> # RUN: at line 6
> z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe --symbols Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so.lto.o | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe --check-prefix=OBJ Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe' --symbols 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so.lto.o'
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe' --check-prefix=OBJ 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll'
> # RUN: at line 7
> z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-objdump.exe -d Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-objdump.exe' -d 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so'
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe' 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll'
> # RUN: at line 10
> z:\b\llvm-clang-x86_64-sie-win\build\bin\opt.exe -module-summary Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\opt.exe' -module-summary 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll' -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o'
> # RUN: at line 11
> z:\b\llvm-clang-x86_64-sie-win\build\bin\opt.exe -module-summary Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto/Inputs/defsym-bar.ll -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\opt.exe' -module-summary 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto/Inputs/defsym-bar.ll' -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o'
> # RUN: at line 12
> z:\b\llvm-clang-x86_64-sie-win\build\bin\ld.lld.exe Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o -shared -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so -defsym=bar2=bar3 -save-temps
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\ld.lld.exe' 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o' 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o' -shared -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so' -defsym=bar2=bar3 -save-temps
> # RUN: at line 13
> z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe --symbols Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so1.lto.o | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe --check-prefix=OBJ Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe' --symbols 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so1.lto.o'
> # .---command stderr------------
> # | z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe: error: 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so1.lto.o': no such file or directory
> # `-----------------------------
> # error: command failed with exit status: 1
> # executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe' --check-prefix=OBJ 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll'
> # .---command stderr------------
> # | FileCheck error: '<stdin>' is empty.
> # | FileCheck command line:  z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe --check-prefix=OBJ Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll
> # `-----------------------------
> # error: command failed with exit status: 2
> --
> ********************
> ```

We're seeing a test failure on our buildbot after this patch landed. Could you take a look?

[lab.llvm.org/buildbot/#/builders/216/builds/33382/steps/7/logs/FAIL__lld__defsym_ll](https://lab.llvm.org/buildbot/#/builders/216/builds/33382/steps/7/logs/FAIL__lld__defsym_ll)

```
# RUN: at line 4
z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-as.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto/Inputs/defsym-bar.ll -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-as.exe' 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto/Inputs/defsym-bar.ll' -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o'
# RUN: at line 5
z:\b\llvm-clang-x86_64-sie-win\build\bin\ld.lld.exe Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o -shared -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so -defsym=bar2=bar3 -save-temps
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\ld.lld.exe' 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o' 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o' -shared -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so' -defsym=bar2=bar3 -save-temps
# RUN: at line 6
z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe --symbols Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so.lto.o | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe --check-prefix=OBJ Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe' --symbols 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so.lto.o'
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe' --check-prefix=OBJ 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll'
# RUN: at line 7
z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-objdump.exe -d Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-objdump.exe' -d 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.so'
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe' 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll'
# RUN: at line 10
z:\b\llvm-clang-x86_64-sie-win\build\bin\opt.exe -module-summary Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\opt.exe' -module-summary 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll' -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o'
# RUN: at line 11
z:\b\llvm-clang-x86_64-sie-win\build\bin\opt.exe -module-summary Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto/Inputs/defsym-bar.ll -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\opt.exe' -module-summary 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto/Inputs/defsym-bar.ll' -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o'
# RUN: at line 12
z:\b\llvm-clang-x86_64-sie-win\build\bin\ld.lld.exe Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o -shared -o Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so -defsym=bar2=bar3 -save-temps
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\ld.lld.exe' 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp.o' 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp1.o' -shared -o 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so' -defsym=bar2=bar3 -save-temps
# RUN: at line 13
z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe --symbols Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so1.lto.o | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe --check-prefix=OBJ Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe' --symbols 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so1.lto.o'
# .---command stderr------------
# | z:\b\llvm-clang-x86_64-sie-win\build\bin\llvm-readelf.exe: error: 'Z:\b\llvm-clang-x86_64-sie-win\build\tools\lld\test\ELF\lto\Output\defsym.ll.tmp2.so1.lto.o': no such file or directory
# `-----------------------------
# error: command failed with exit status: 1
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe' --check-prefix=OBJ 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe --check-prefix=OBJ Z:\b\llvm-clang-x86_64-sie-win\llvm-project\lld\test\ELF\lto\defsym.ll
# `-----------------------------
# error: command failed with exit status: 2
--
********************
```

Sorry for the failure. I did not remove stale output files and failed to noticed this.
Should be fixed by 4fcd7cf22deff4a63d2bac12c909be7266f8b353 (more tests using a lot of temporary outputs should consider `RUN: rm -rf %t && mkdir %t && cd %t`)

https://github.com/llvm/llvm-project/pull/78835


More information about the flang-commits mailing list