Page MenuHomePhabricator

[ifs][elfabi] Merge llvm-ifs/elfabi tools
AcceptedPublic

Authored by haowei on Apr 8 2021, 2:11 PM.

Details

Summary

This change merges llvm-elfabi and llvm-ifs tools.

Diff Detail

Unit TestsFailed

TimeTest
30 msx64 debian > LLVM.tools/llvm-ifs::output-target-error.test
Script: -- : 'RUN: at line 3'; not llvm-elfabi --output=/mnt/disks/ssd0/agent/llvm-project/build/test/tools/llvm-ifs/Output/output-target-error.test.tmp /mnt/disks/ssd0/agent/llvm-project/llvm/test/tools/llvm-ifs/output-target-error.test 2>&1 | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/tools/llvm-ifs/output-target-error.test --check-prefix=MISSING
20 msx64 debian > LLVM.tools/llvm-ifs::preserve-dates-ifs.test
Script: -- : 'RUN: at line 3'; llvm-elfabi --input-format=ELF --output-format=IFS --output=/mnt/disks/ssd0/agent/llvm-project/build/test/tools/llvm-ifs/Output/preserve-dates-ifs.test.tmp /mnt/disks/ssd0/agent/llvm-project/llvm/test/tools/llvm-ifs/Inputs/gnu_hash.so
20 msx64 debian > LLVM.tools/llvm-ifs::strip-target.test
Script: -- : 'RUN: at line 3'; llvm-elfabi --input-format=ELF --output-format=IFS --strip-ifs-target --output=- /mnt/disks/ssd0/agent/llvm-project/llvm/test/tools/llvm-ifs/Inputs/sysv_hash.so | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/tools/llvm-ifs/strip-target.test --check-prefix=NOTARGET
40 msx64 windows > LLVM.tools/llvm-ifs::output-target-error.test
Script: -- : 'RUN: at line 3'; not llvm-elfabi --output=C:\ws\w16c2-2\llvm-project\premerge-checks\build\test\tools\llvm-ifs\Output\output-target-error.test.tmp C:\ws\w16c2-2\llvm-project\premerge-checks\llvm\test\tools\llvm-ifs\output-target-error.test 2>&1 | c:\ws\w16c2-2\llvm-project\premerge-checks\build\bin\filecheck.exe C:\ws\w16c2-2\llvm-project\premerge-checks\llvm\test\tools\llvm-ifs\output-target-error.test --check-prefix=MISSING
40 msx64 windows > LLVM.tools/llvm-ifs::preserve-dates-ifs.test
Script: -- : 'RUN: at line 3'; llvm-elfabi --input-format=ELF --output-format=IFS --output=C:\ws\w16c2-2\llvm-project\premerge-checks\build\test\tools\llvm-ifs\Output\preserve-dates-ifs.test.tmp C:\ws\w16c2-2\llvm-project\premerge-checks\llvm\test\tools\llvm-ifs/Inputs/gnu_hash.so
View Full Test Results (6 Failed)

Event Timeline

haowei created this revision.Apr 8 2021, 2:11 PM
haowei requested review of this revision.Apr 8 2021, 2:11 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptApr 8 2021, 2:11 PM
haowei updated this revision to Diff 343780.May 7 2021, 4:19 PM

Rebase the change to resolve presubmit errors.

phosek accepted this revision.Sun, Jun 13, 4:09 PM

LGTM

clang/lib/Driver/ToolChains/InterfaceStubs.cpp
18

Ideally, this job would use the IFS library to construct .ifs or stub file directly without invoking an external tool. Can you please leave a TODO here along those lines?

llvm/tools/llvm-ifs/llvm-ifs.cpp
47

Ideally we would use OptTable for option parsing, can you please leave a TODO comment here along those lines?

244–245
414

No need for { and } here and below since each if has only one statement.

This revision is now accepted and ready to land.Sun, Jun 13, 4:09 PM