llvm-project/llvm/tools
Vlad Tsyrklevich 4dc1c9735b Statically link llvm-cfi-verify's libraries.
Summary:
llvm-cfi-verify (D38379) introduced a potential build failure when compiling with `-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON`. Specific versions of cmake seem to treat the `add_subdirectory()` rule differently. It seems as if old versions of cmake BFS these rules, adding them to the fringe for expansion later. Newer versions of cmake seem to immediately execute CMakeFiles that are present in this subdirectory.

If the subdirectory is expanded through the fringe, the globbing resultant from `llvm_add_implicit_projects()` from `cmake/modules/AddLLVM.cmake:1012` means that `tools/llvm-shlib/CMakeFile.txt` gets executed before `tools/llvm-cfi-verify/lib/CMakeFile.txt`. As the latter CMakeFile adds a new library, this expansion order means that the library files required the unit tests in `unittests/tools/llvm-cfi-verify/` are not present in the dynamic library. This causes unit tests to fail as the required functions can't be found.

This change now ensures that the libraries created by `llvm-cfi-verify` are statically linked into the unit tests. As `tools/llvm-cfi-verify/lib` no longer adds anything to `llvm-shlib`, there should be no concern about the order-of-compilation.

Reviewers: skatkov, pcc

Reviewed By: skatkov, pcc

Subscribers: llvm-commits, kcc, pcc, aheejin, vlad.tsyrklevich, mgorny

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

llvm-svn: 316059
2017-10-18 04:27:53 +00:00
..
bugpoint [SimplifyCFG] put the optional assumption cache pointer in the options struct; NFCI 2017-10-04 20:26:25 +00:00
bugpoint-passes [CMake] bugpoint-passes depends on intrinsics_gen 2016-11-19 02:20:59 +00:00
dsymutil Re-land "[dsymutil] Timestmap verification for __swift_ast" 2017-10-13 14:41:23 +00:00
gold Enabling new pass manager in LTO (and thinLTO) link step. 2017-10-05 01:48:42 +00:00
llc Revert "TargetMachine: Merge TargetMachine and LLVMTargetMachine" 2017-10-12 22:57:28 +00:00
lli [ORC] Refactor OrcRemoteTarget code to expose its RPC API, reduce 2017-09-04 20:54:46 +00:00
llvm-ar Convert the archive writer to use Error. 2017-09-21 23:13:36 +00:00
llvm-as Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm-as-fuzzer cmake: Invent add_llvm_fuzzer to set up fuzzer targets 2017-08-31 00:36:33 +00:00
llvm-bcanalyzer Bitcode: Include any strings added to the string table in the module hash. 2017-07-06 17:56:01 +00:00
llvm-c-test fix typos in comments and error messges; NFC 2017-07-13 06:48:39 +00:00
llvm-cat [Bitcode] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-09-07 23:28:24 +00:00
llvm-cfi-verify Statically link llvm-cfi-verify's libraries. 2017-10-18 04:27:53 +00:00
llvm-config [GlobalISel] Make GlobalISel a non-optional library. 2017-08-03 21:52:25 +00:00
llvm-cov [llvm-cov] Add one correction to r315960 (PR34962) 2017-10-17 01:34:41 +00:00
llvm-cvtres Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
llvm-cxxdump Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
llvm-cxxfilt c++filt: support COFF import thunks 2017-03-22 21:15:19 +00:00
llvm-demangle-fuzzer [llvm-demangle-fuzzer] Add a fuzz target for ItaniumDemangler. 2017-10-13 17:35:37 +00:00
llvm-diff [IR] Redesign the case iterator in SwitchInst to actually be an iterator 2017-04-12 07:27:28 +00:00
llvm-dis [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-dwarfdump Unify spelling. 2017-10-06 20:24:35 +00:00
llvm-dwp [MC] Have MCObjectStreamer take its MCAsmBackend argument via unique_ptr. 2017-10-11 23:34:47 +00:00
llvm-extract [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-go [llvm-go] parameterize $GOPATH construction 2016-07-27 03:21:51 +00:00
llvm-isel-fuzzer fix llvm-isel-fuzzer: LLVMFuzzerTestOneInput should never return non-zero (according to the contract) 2017-10-16 20:36:57 +00:00
llvm-jitlistener
llvm-link [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-lto [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-lto2 LTO: Try to open cache files before renaming them. 2017-09-05 19:51:38 +00:00
llvm-mc [MC] Have MCObjectStreamer take its MCAsmBackend argument via unique_ptr. 2017-10-11 23:34:47 +00:00
llvm-mc-assemble-fuzzer [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-mc-disassemble-fuzzer cmake: Invent add_llvm_fuzzer to set up fuzzer targets 2017-08-31 00:36:33 +00:00
llvm-mcmarkup
llvm-modextract [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-mt llvm-mt: Merge manifest namespaces. 2017-08-19 00:37:41 +00:00
llvm-nm Revert "[ADT] Make Twine's copy constructor private." 2017-10-11 23:54:34 +00:00
llvm-objcopy Revert "[ADT] Make Twine's copy constructor private." 2017-10-11 23:54:34 +00:00
llvm-objdump Convert a few ErrorOr to Expected. 2017-10-11 17:23:15 +00:00
llvm-opt-report Don't call exit from cl::PrintHelpMessage. 2017-09-07 23:30:48 +00:00
llvm-pdbutil Fix -Wcovered-switch-default warnings from r314821 2017-10-03 18:44:12 +00:00
llvm-profdata Bring r314809 back. 2017-10-04 20:27:01 +00:00
llvm-rc Fix incorrect integer literal suffix. 2017-10-11 20:23:38 +00:00
llvm-readobj llvm-readobj: Print AMDGPU note contents 2017-10-14 18:21:42 +00:00
llvm-rtdyld Use delegation instead of inheritance. 2017-07-19 22:27:28 +00:00
llvm-shlib [Solaris] enable --whole-archive for shared-library build, disable --version-script for Solaris-ld 2017-07-19 16:07:51 +00:00
llvm-size llvm-size: remove leading dash in '-radix' option 2016-12-23 23:55:08 +00:00
llvm-special-case-list-fuzzer [llvm-special-case-list-fuzzer] Add fuzz target. 2017-10-17 17:43:34 +00:00
llvm-split [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-stress [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-strings llvm-strings: remove default for -Wcovered-switch-default 2017-01-21 02:52:29 +00:00
llvm-symbolizer DebugInfo: Provide option for explicitly specifying the name of the DWP file 2017-07-30 01:34:08 +00:00
llvm-xray Removing default case statement from covered switch. 2017-10-13 00:06:35 +00:00
lto This patch fixes https://bugs.llvm.org/show_bug.cgi?id=32352 2017-09-15 20:10:09 +00:00
msbuild Create msbuild only when using MSVC 2017-03-16 20:24:14 +00:00
obj2yaml [WebAssembly] Allow each data segment to specify its own alignment 2017-09-29 16:50:08 +00:00
opt Revert "TargetMachine: Merge TargetMachine and LLVMTargetMachine" 2017-10-12 22:57:28 +00:00
opt-viewer [opt-viewer] Don't Decode HTML bytes for Python 2 2017-10-10 19:34:15 +00:00
sancov Add section headers to SpecialCaseLists 2017-09-25 22:11:11 +00:00
sanstats Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
verify-uselistorder [CMake] verify-uselistorder depends on intrinsics_gen 2016-11-18 23:30:58 +00:00
xcode-toolchain [CMake] Minor fix to regex in r279152 2016-08-18 21:36:36 +00:00
yaml2obj [WebAssembly] Allow each data segment to specify its own alignment 2017-09-29 16:50:08 +00:00
CMakeLists.txt
LLVMBuild.txt Introduce the llvm-cfi-verify tool (resubmission of D37937). 2017-09-20 20:38:14 +00:00