https://github.com/cachemeifyoucan updated https://github.com/llvm/llvm-project/pull/101741
>From 49c9db2b5c9b7309defb1c2dfa484ca4883a7794 Mon Sep 17 00:00:00 2001 From: Steven Wu <steve...@apple.com> Date: Fri, 2 Aug 2024 12:43:21 -0700 Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UTF-8?q?itial=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created using spr 1.3.5 --- llvm/cmake/modules/AddLLVM.cmake | 3 ++- llvm/tools/llvm-jitlink/CMakeLists.txt | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index bb4e9963d0913..958a29db63cee 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -1070,7 +1070,8 @@ macro(add_llvm_executable name) endif(LLVM_EXPORTED_SYMBOL_FILE) if (DEFINED LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES AND - NOT LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES) + NOT LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES AND + NOT ENABLE_EXPORTS) if(LLVM_LINKER_SUPPORTS_NO_EXPORTED_SYMBOLS) set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-no_exported_symbols") diff --git a/llvm/tools/llvm-jitlink/CMakeLists.txt b/llvm/tools/llvm-jitlink/CMakeLists.txt index 1487e7897f600..9def74116df4b 100644 --- a/llvm/tools/llvm-jitlink/CMakeLists.txt +++ b/llvm/tools/llvm-jitlink/CMakeLists.txt @@ -20,6 +20,8 @@ set(LLVM_LINK_COMPONENTS TargetParser ) +set(ENABLE_EXPORTS ON) + add_llvm_tool(llvm-jitlink llvm-jitlink.cpp llvm-jitlink-coff.cpp >From abb53cdaf4a0dcfd759f882a58870aea2f327ec8 Mon Sep 17 00:00:00 2001 From: Steven Wu <steve...@apple.com> Date: Mon, 5 Aug 2024 11:02:28 -0700 Subject: [PATCH 2/2] Properly fix the compatibility by folding export symbols into an argument. Created using spr 1.3.5 --- clang-tools-extra/clang-tidy/tool/CMakeLists.txt | 6 ++---- clang/tools/clang-linker-wrapper/CMakeLists.txt | 3 +-- clang/tools/clang-repl/CMakeLists.txt | 4 ++-- clang/tools/driver/CMakeLists.txt | 7 ++----- clang/unittests/Interpreter/CMakeLists.txt | 6 ++++-- .../Interpreter/ExceptionTests/CMakeLists.txt | 4 ++-- flang/tools/flang-driver/CMakeLists.txt | 12 +++++++----- lld/tools/lld/CMakeLists.txt | 2 +- llvm/CMakeLists.txt | 4 ++-- llvm/cmake/modules/AddLLVM.cmake | 12 +++++++++--- llvm/examples/ExceptionDemo/CMakeLists.txt | 4 ++-- llvm/examples/HowToUseLLJIT/CMakeLists.txt | 4 ++-- .../BuildingAJIT/Chapter1/CMakeLists.txt | 2 -- .../BuildingAJIT/Chapter2/CMakeLists.txt | 2 -- .../BuildingAJIT/Chapter3/CMakeLists.txt | 2 -- .../BuildingAJIT/Chapter4/CMakeLists.txt | 2 -- llvm/examples/Kaleidoscope/CMakeLists.txt | 2 +- llvm/examples/Kaleidoscope/Chapter4/CMakeLists.txt | 2 -- llvm/examples/Kaleidoscope/Chapter5/CMakeLists.txt | 2 -- llvm/examples/Kaleidoscope/Chapter6/CMakeLists.txt | 2 -- llvm/examples/Kaleidoscope/Chapter7/CMakeLists.txt | 2 -- llvm/examples/Kaleidoscope/Chapter8/CMakeLists.txt | 2 -- llvm/examples/Kaleidoscope/Chapter9/CMakeLists.txt | 2 -- .../OrcV2Examples/LLJITDumpObjects/CMakeLists.txt | 2 -- .../OrcV2Examples/LLJITRemovableCode/CMakeLists.txt | 2 -- .../LLJITWithCustomObjectLinkingLayer/CMakeLists.txt | 2 -- .../LLJITWithExecutorProcessControl/CMakeLists.txt | 2 -- .../LLJITWithGDBRegistrationListener/CMakeLists.txt | 4 ---- .../LLJITWithInitializers/CMakeLists.txt | 2 -- .../LLJITWithLazyReexports/CMakeLists.txt | 2 -- .../LLJITWithObjectCache/CMakeLists.txt | 2 -- .../LLJITWithObjectLinkingLayerPlugin/CMakeLists.txt | 2 -- .../LLJITWithOptimizingIRTransform/CMakeLists.txt | 2 -- .../LLJITWithRemoteDebugging/CMakeLists.txt | 2 -- .../LLJITWithThinLTOSummaries/CMakeLists.txt | 2 -- .../OrcV2CBindingsAddObjectFile/CMakeLists.txt | 2 -- .../OrcV2CBindingsBasicUsage/CMakeLists.txt | 2 -- .../OrcV2CBindingsDumpObjects/CMakeLists.txt | 2 -- .../OrcV2CBindingsIRTransforms/CMakeLists.txt | 2 -- .../OrcV2Examples/OrcV2CBindingsLazy/CMakeLists.txt | 2 -- .../OrcV2CBindingsRemovableCode/CMakeLists.txt | 2 -- .../OrcV2CBindingsVeryLazy/CMakeLists.txt | 2 -- llvm/tools/bugpoint/CMakeLists.txt | 2 +- llvm/tools/llc/CMakeLists.txt | 3 +-- llvm/tools/lli/CMakeLists.txt | 4 ++-- llvm/tools/lli/ChildTarget/CMakeLists.txt | 4 ++-- llvm/tools/llvm-jitlink/CMakeLists.txt | 6 ++---- .../llvm-jitlink-executor/CMakeLists.txt | 4 ++-- llvm/tools/llvm-lto2/CMakeLists.txt | 3 ++- llvm/tools/opt/CMakeLists.txt | 3 +-- llvm/unittests/Analysis/CMakeLists.txt | 11 ++++++----- llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt | 4 ++-- llvm/unittests/Passes/Plugins/CMakeLists.txt | 3 ++- llvm/unittests/Support/DynamicLibrary/CMakeLists.txt | 7 ++++--- mlir/tools/mlir-cpu-runner/CMakeLists.txt | 4 ++-- mlir/tools/mlir-opt/CMakeLists.txt | 2 +- 56 files changed, 67 insertions(+), 123 deletions(-) diff --git a/clang-tools-extra/clang-tidy/tool/CMakeLists.txt b/clang-tools-extra/clang-tidy/tool/CMakeLists.txt index b220cbea80f1b..9f327ce838b70 100644 --- a/clang-tools-extra/clang-tidy/tool/CMakeLists.txt +++ b/clang-tools-extra/clang-tidy/tool/CMakeLists.txt @@ -33,6 +33,7 @@ clang_target_link_libraries(clangTidyMain # Support plugins. if(CLANG_PLUGIN_SUPPORT) set(support_plugins SUPPORT_PLUGINS) + set(export_symbols EXPORT_SYMBOLS_FOR_PLUGINS) endif() add_clang_tool(clang-tidy @@ -41,6 +42,7 @@ add_clang_tool(clang-tidy DEPENDS clang-resource-headers ${support_plugins} + ${export_symbols} ) clang_target_link_libraries(clang-tidy PRIVATE @@ -57,10 +59,6 @@ target_link_libraries(clang-tidy ${ALL_CLANG_TIDY_CHECKS} ) -if(CLANG_PLUGIN_SUPPORT) - export_executable_symbols_for_plugins(clang-tidy) -endif() - install(PROGRAMS clang-tidy-diff.py DESTINATION "${CMAKE_INSTALL_DATADIR}/clang" COMPONENT clang-tidy) diff --git a/clang/tools/clang-linker-wrapper/CMakeLists.txt b/clang/tools/clang-linker-wrapper/CMakeLists.txt index bf37d8031025e..4a16c3ca9f090 100644 --- a/clang/tools/clang-linker-wrapper/CMakeLists.txt +++ b/clang/tools/clang-linker-wrapper/CMakeLists.txt @@ -31,6 +31,7 @@ add_clang_tool(clang-linker-wrapper DEPENDS ${tablegen_deps} + EXPORT_SYMBOLS_FOR_PLUGINS ) set(CLANG_LINKER_WRAPPER_LIB_DEPS @@ -41,5 +42,3 @@ target_link_libraries(clang-linker-wrapper PRIVATE ${CLANG_LINKER_WRAPPER_LIB_DEPS} ) - -export_executable_symbols_for_plugins(clang-linker-wrapper) diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index a35ff13494e11..52b740b356284 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -9,6 +9,8 @@ set( LLVM_LINK_COMPONENTS add_clang_tool(clang-repl ClangRepl.cpp + + EXPORT_SYMBOLS_FOR_PLUGINS ) if(MSVC) @@ -61,8 +63,6 @@ clang_target_link_libraries(clang-repl PRIVATE clangInterpreter ) -export_executable_symbols_for_plugins(clang-repl) - # The clang-repl binary can get huge with static linking in debug mode. # Some 32-bit targets use PLT slots with limited branch range by default and we # start to exceed this limit, e.g. when linking for arm-linux-gnueabihf with diff --git a/clang/tools/driver/CMakeLists.txt b/clang/tools/driver/CMakeLists.txt index 018605c2fd4f2..805dffb0d9b70 100644 --- a/clang/tools/driver/CMakeLists.txt +++ b/clang/tools/driver/CMakeLists.txt @@ -21,6 +21,7 @@ set( LLVM_LINK_COMPONENTS # Support plugins. if(CLANG_PLUGIN_SUPPORT) set(support_plugins SUPPORT_PLUGINS) + set(export_symbols EXPORT_SYMBOLS_FOR_PLUGINS) endif() add_clang_tool(clang @@ -35,6 +36,7 @@ add_clang_tool(clang ARMTargetParserTableGen AArch64TargetParserTableGen ${support_plugins} + ${export_symbols} GENERATE_DRIVER ) @@ -54,11 +56,6 @@ else() set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION}) endif() -# Support plugins. -if(CLANG_PLUGIN_SUPPORT) - export_executable_symbols_for_plugins(clang) -endif() - add_dependencies(clang clang-resource-headers) if(NOT CLANG_LINKS_TO_CREATE) diff --git a/clang/unittests/Interpreter/CMakeLists.txt b/clang/unittests/Interpreter/CMakeLists.txt index c0fd2d8f3777a..3e0a2487e268d 100644 --- a/clang/unittests/Interpreter/CMakeLists.txt +++ b/clang/unittests/Interpreter/CMakeLists.txt @@ -13,6 +13,8 @@ add_clang_unittest(ClangReplInterpreterTests InterpreterTest.cpp InterpreterExtensionsTest.cpp CodeCompletionTest.cpp + + EXPORT_SYMBOLS ) target_link_libraries(ClangReplInterpreterTests PUBLIC clangAST @@ -21,6 +23,8 @@ target_link_libraries(ClangReplInterpreterTests PUBLIC clangFrontend clangSema LLVMTestingSupport + + EXPORT_SYMBOLS ) # Exceptions on Windows are not yet supported. @@ -28,8 +32,6 @@ if(NOT WIN32) add_subdirectory(ExceptionTests) endif() -export_executable_symbols(ClangReplInterpreterTests) - if(MSVC) set_target_properties(ClangReplInterpreterTests PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS 1) diff --git a/clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt b/clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt index 5a6597d1b6728..24ae9cd78b5ca 100644 --- a/clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt +++ b/clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt @@ -12,6 +12,8 @@ set(LLVM_LINK_COMPONENTS add_clang_unittest(ClangReplInterpreterExceptionTests InterpreterExceptionTest.cpp + + EXPORT_SYMBOLS ) llvm_update_compile_flags(ClangReplInterpreterExceptionTests) @@ -22,5 +24,3 @@ target_link_libraries(ClangReplInterpreterExceptionTests PUBLIC clangFrontend ) add_dependencies(ClangReplInterpreterExceptionTests clang-resource-headers) - -export_executable_symbols(ClangReplInterpreterExceptionTests) diff --git a/flang/tools/flang-driver/CMakeLists.txt b/flang/tools/flang-driver/CMakeLists.txt index 9f33cdfe3fa90..3fabff1bab270 100644 --- a/flang/tools/flang-driver/CMakeLists.txt +++ b/flang/tools/flang-driver/CMakeLists.txt @@ -11,9 +11,16 @@ set( LLVM_LINK_COMPONENTS TargetParser ) +# Enable support for plugins, which need access to symbols from flang-new +if(FLANG_PLUGIN_SUPPORT) + set(export_symbols EXPORT_SYMBOLS_FOR_PLUGINS) +endif() + add_flang_tool(flang-new driver.cpp fc1_main.cpp + + ${export_symbols} ) target_link_libraries(flang-new @@ -30,9 +37,4 @@ clang_target_link_libraries(flang-new option(FLANG_PLUGIN_SUPPORT "Build Flang with plugin support." ON) -# Enable support for plugins, which need access to symbols from flang-new -if(FLANG_PLUGIN_SUPPORT) - export_executable_symbols_for_plugins(flang-new) -endif() - install(TARGETS flang-new DESTINATION "${CMAKE_INSTALL_BINDIR}") diff --git a/lld/tools/lld/CMakeLists.txt b/lld/tools/lld/CMakeLists.txt index 8498a91597a93..630d38f770a7f 100644 --- a/lld/tools/lld/CMakeLists.txt +++ b/lld/tools/lld/CMakeLists.txt @@ -8,8 +8,8 @@ add_lld_tool(lld SUPPORT_PLUGINS GENERATE_DRIVER + EXPORT_SYMBOLS_FOR_PLUGINS ) -export_executable_symbols_for_plugins(lld) function(lld_target_link_libraries target type) if (TARGET obj.${target}) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 699de1ccd870c..51f99cb696257 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -1197,7 +1197,7 @@ if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS ) endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS ) # Make sure we don't get -rdynamic in every binary. For those that need it, -# use export_executable_symbols(target). +# use EXPORT_SYMBOLS argument. set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") include(AddLLVM) @@ -1238,7 +1238,7 @@ if( LLVM_INCLUDE_UTILS ) if( LLVM_INCLUDE_TESTS ) set(LLVM_SUBPROJECT_TITLE "Third-Party/Google Test") add_subdirectory(${LLVM_THIRD_PARTY_DIR}/unittest ${CMAKE_CURRENT_BINARY_DIR}/third-party/unittest) - set(LLVM_SUBPROJECT_TITLE) + set(LLVM_SUBPROJECT_TITLE) endif() else() if ( LLVM_INCLUDE_TESTS ) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 958a29db63cee..257dc2250bb4e 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -1010,7 +1010,7 @@ endmacro() macro(add_llvm_executable name) cmake_parse_arguments(ARG - "DISABLE_LLVM_LINK_LLVM_DYLIB;IGNORE_EXTERNALIZE_DEBUGINFO;NO_INSTALL_RPATH;SUPPORT_PLUGINS" + "DISABLE_LLVM_LINK_LLVM_DYLIB;IGNORE_EXTERNALIZE_DEBUGINFO;NO_INSTALL_RPATH;SUPPORT_PLUGINS;EXPORT_SYMBOLS;EXPORT_SYMBOLS_FOR_PLUGINS" "ENTITLEMENTS;BUNDLE_PATH" "" ${ARGN}) @@ -1071,7 +1071,7 @@ macro(add_llvm_executable name) if (DEFINED LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES AND NOT LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES AND - NOT ENABLE_EXPORTS) + NOT ARG_EXPORT_SYMBOLS AND NOT ARG_EXPORT_SYMBOLS_FOR_PLUGINS) if(LLVM_LINKER_SUPPORTS_NO_EXPORTED_SYMBOLS) set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-no_exported_symbols") @@ -1081,6 +1081,12 @@ macro(add_llvm_executable name) endif() endif() + if (ARG_EXPORT_SYMBOLS) + export_executable_symbols(${name}) + elseif(ARG_EXPORT_SYMBOLS_FOR_PLUGINS) + export_executable_symbols_for_plugins(${name}) + endif() + if (LLVM_LINK_LLVM_DYLIB AND NOT ARG_DISABLE_LLVM_LINK_LLVM_DYLIB) set(USE_SHARED USE_SHARED) endif() @@ -1465,7 +1471,7 @@ macro(add_llvm_example name) if( NOT LLVM_BUILD_EXAMPLES ) set(EXCLUDE_FROM_ALL ON) endif() - add_llvm_executable(${name} ${ARGN}) + add_llvm_executable(${name} EXPORT_SYMBOLS ${ARGN}) if( LLVM_BUILD_EXAMPLES ) install(TARGETS ${name} RUNTIME DESTINATION "${LLVM_EXAMPLES_INSTALL_DIR}") endif() diff --git a/llvm/examples/ExceptionDemo/CMakeLists.txt b/llvm/examples/ExceptionDemo/CMakeLists.txt index 793cf291ca6f1..6c125fe20fb6f 100644 --- a/llvm/examples/ExceptionDemo/CMakeLists.txt +++ b/llvm/examples/ExceptionDemo/CMakeLists.txt @@ -16,6 +16,6 @@ endif() add_llvm_example(ExceptionDemo ExceptionDemo.cpp - ) -export_executable_symbols(ExceptionDemo) + EXPORT_SYMBOLS + ) diff --git a/llvm/examples/HowToUseLLJIT/CMakeLists.txt b/llvm/examples/HowToUseLLJIT/CMakeLists.txt index 3ca99e5598e76..ca5e190c61338 100644 --- a/llvm/examples/HowToUseLLJIT/CMakeLists.txt +++ b/llvm/examples/HowToUseLLJIT/CMakeLists.txt @@ -7,6 +7,6 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(HowToUseLLJIT HowToUseLLJIT.cpp - ) -export_executable_symbols(HowToUseLLJIT) + EXPORT_SYMBOLS + ) diff --git a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/CMakeLists.txt b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/CMakeLists.txt index 72c9668f7d3af..d4b7c3fed547d 100644 --- a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/CMakeLists.txt @@ -14,5 +14,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(BuildingAJIT-Ch1 toy.cpp ) - -export_executable_symbols(BuildingAJIT-Ch1) diff --git a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/CMakeLists.txt b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/CMakeLists.txt index ba6abd72d4282..9fd9e8860b2f9 100644 --- a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/CMakeLists.txt @@ -14,5 +14,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(BuildingAJIT-Ch2 toy.cpp ) - -export_executable_symbols(BuildingAJIT-Ch2) diff --git a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/CMakeLists.txt b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/CMakeLists.txt index 51800a64b1e30..cf82552162e01 100644 --- a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/CMakeLists.txt @@ -15,5 +15,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(BuildingAJIT-Ch3 toy.cpp ) - -export_executable_symbols(BuildingAJIT-Ch3) diff --git a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/CMakeLists.txt b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/CMakeLists.txt index 7cd40a1da60dc..241192fa01c93 100644 --- a/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/CMakeLists.txt @@ -15,5 +15,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(BuildingAJIT-Ch4 toy.cpp ) - -export_executable_symbols(BuildingAJIT-Ch4) diff --git a/llvm/examples/Kaleidoscope/CMakeLists.txt b/llvm/examples/Kaleidoscope/CMakeLists.txt index 6ad3b61566472..3cc6733c7d307 100644 --- a/llvm/examples/Kaleidoscope/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/CMakeLists.txt @@ -3,7 +3,7 @@ set_target_properties(Kaleidoscope PROPERTIES FOLDER "LLVM/Examples") macro(add_kaleidoscope_chapter name) add_dependencies(Kaleidoscope ${name}) - add_llvm_example(${name} ${ARGN}) + add_llvm_example(${name} EXPORT_SYMBOLS ${ARGN}) endmacro(add_kaleidoscope_chapter name) add_subdirectory(BuildingAJIT) diff --git a/llvm/examples/Kaleidoscope/Chapter4/CMakeLists.txt b/llvm/examples/Kaleidoscope/Chapter4/CMakeLists.txt index 5281941fec874..dcb82ffad4b8d 100644 --- a/llvm/examples/Kaleidoscope/Chapter4/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/Chapter4/CMakeLists.txt @@ -15,5 +15,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(Kaleidoscope-Ch4 toy.cpp ) - -export_executable_symbols(Kaleidoscope-Ch4) diff --git a/llvm/examples/Kaleidoscope/Chapter5/CMakeLists.txt b/llvm/examples/Kaleidoscope/Chapter5/CMakeLists.txt index 35fb1b7911b86..9639f440d200c 100644 --- a/llvm/examples/Kaleidoscope/Chapter5/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/Chapter5/CMakeLists.txt @@ -15,5 +15,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(Kaleidoscope-Ch5 toy.cpp ) - -export_executable_symbols(Kaleidoscope-Ch5) diff --git a/llvm/examples/Kaleidoscope/Chapter6/CMakeLists.txt b/llvm/examples/Kaleidoscope/Chapter6/CMakeLists.txt index 627d682bdc57f..0baf3f483e1ba 100644 --- a/llvm/examples/Kaleidoscope/Chapter6/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/Chapter6/CMakeLists.txt @@ -15,5 +15,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(Kaleidoscope-Ch6 toy.cpp ) - -export_executable_symbols(Kaleidoscope-Ch6) diff --git a/llvm/examples/Kaleidoscope/Chapter7/CMakeLists.txt b/llvm/examples/Kaleidoscope/Chapter7/CMakeLists.txt index f4d8bd9e20c38..2167b4cf55e2c 100644 --- a/llvm/examples/Kaleidoscope/Chapter7/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/Chapter7/CMakeLists.txt @@ -16,5 +16,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(Kaleidoscope-Ch7 toy.cpp ) - -export_executable_symbols(Kaleidoscope-Ch7) diff --git a/llvm/examples/Kaleidoscope/Chapter8/CMakeLists.txt b/llvm/examples/Kaleidoscope/Chapter8/CMakeLists.txt index 1bb1cd25af72d..29c02c9dbc720 100644 --- a/llvm/examples/Kaleidoscope/Chapter8/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/Chapter8/CMakeLists.txt @@ -5,5 +5,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(Kaleidoscope-Ch8 toy.cpp ) - -export_executable_symbols(Kaleidoscope-Ch8) diff --git a/llvm/examples/Kaleidoscope/Chapter9/CMakeLists.txt b/llvm/examples/Kaleidoscope/Chapter9/CMakeLists.txt index a5d1a45108872..d21ba342ebe5a 100644 --- a/llvm/examples/Kaleidoscope/Chapter9/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/Chapter9/CMakeLists.txt @@ -11,5 +11,3 @@ set(LLVM_LINK_COMPONENTS add_kaleidoscope_chapter(Kaleidoscope-Ch9 toy.cpp ) - -export_executable_symbols(Kaleidoscope-Ch9) diff --git a/llvm/examples/OrcV2Examples/LLJITDumpObjects/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITDumpObjects/CMakeLists.txt index 42b9d1c4f9ae8..3d83ee6864d33 100644 --- a/llvm/examples/OrcV2Examples/LLJITDumpObjects/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITDumpObjects/CMakeLists.txt @@ -11,5 +11,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITDumpObjects LLJITDumpObjects.cpp ) - -export_executable_symbols(LLJITDumpObjects) diff --git a/llvm/examples/OrcV2Examples/LLJITRemovableCode/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITRemovableCode/CMakeLists.txt index 2c0036f625607..3ab58c1c1f308 100644 --- a/llvm/examples/OrcV2Examples/LLJITRemovableCode/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITRemovableCode/CMakeLists.txt @@ -12,5 +12,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITRemovableCode LLJITRemovableCode.cpp ) - -export_executable_symbols(LLJITRemovableCode) diff --git a/llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/CMakeLists.txt index 85e11ec1368e0..6034fc6791127 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/CMakeLists.txt @@ -10,5 +10,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithCustomObjectLinkingLayer LLJITWithCustomObjectLinkingLayer.cpp ) - -export_executable_symbols(LLJITWithCustomObjectLinkingLayer) diff --git a/llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/CMakeLists.txt index 65a5b1bb3a404..47f50ca746440 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/CMakeLists.txt @@ -10,5 +10,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithExecutorProcessControl LLJITWithExecutorProcessControl.cpp ) - -export_executable_symbols(LLJITWithExecutorProcessControl) diff --git a/llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/CMakeLists.txt index 12fe6346ea4e7..61864201ddec6 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/CMakeLists.txt @@ -12,7 +12,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithGDBRegistrationListener LLJITWithGDBRegistrationListener.cpp ) - -# We want JIT'd code to be able to link against process symbols like printf -# for this example, so make sure they're exported. -export_executable_symbols(LLJITWithGDBRegistrationListener) diff --git a/llvm/examples/OrcV2Examples/LLJITWithInitializers/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithInitializers/CMakeLists.txt index ed466f4e40652..302647564ab81 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithInitializers/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithInitializers/CMakeLists.txt @@ -11,5 +11,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithInitializers LLJITWithInitializers.cpp ) - -export_executable_symbols(LLJITWithInitializers) diff --git a/llvm/examples/OrcV2Examples/LLJITWithLazyReexports/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithLazyReexports/CMakeLists.txt index 2ed22e161139c..cdff74b10ad03 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithLazyReexports/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithLazyReexports/CMakeLists.txt @@ -10,5 +10,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithLazyReexports LLJITWithLazyReexports.cpp ) - -export_executable_symbols(LLJITWithLazyReexports) diff --git a/llvm/examples/OrcV2Examples/LLJITWithObjectCache/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithObjectCache/CMakeLists.txt index a4eaaadf01521..c5f8fd6a97a7f 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithObjectCache/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithObjectCache/CMakeLists.txt @@ -10,5 +10,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithObjectCache LLJITWithObjectCache.cpp ) - -export_executable_symbols(LLJITWithObjectCache) diff --git a/llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/CMakeLists.txt index 6177d4596e369..54814621a5a5f 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/CMakeLists.txt @@ -10,5 +10,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithObjectLinkingLayerPlugin LLJITWithObjectLinkingLayerPlugin.cpp ) - -export_executable_symbols(LLJITWithObjectLinkingLayerPlugin) diff --git a/llvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/CMakeLists.txt index b40e30911c4a9..a9cd91ad596ad 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/CMakeLists.txt @@ -12,5 +12,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithOptimizingIRTransform LLJITWithOptimizingIRTransform.cpp ) - -export_executable_symbols(LLJITWithOptimizingIRTransform) diff --git a/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt index 51b3925f4a9e7..6052622ba0d6e 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt @@ -20,6 +20,4 @@ if (LLVM_INCLUDE_UTILS) DEPENDS llvm-jitlink-executor ) - - export_executable_symbols(LLJITWithRemoteDebugging) endif() diff --git a/llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/CMakeLists.txt b/llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/CMakeLists.txt index 148b1aaa10833..5ce2fb498f334 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/CMakeLists.txt @@ -12,5 +12,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(LLJITWithThinLTOSummaries LLJITWithThinLTOSummaries.cpp ) - -export_executable_symbols(LLJITWithThinLTOSummaries) diff --git a/llvm/examples/OrcV2Examples/OrcV2CBindingsAddObjectFile/CMakeLists.txt b/llvm/examples/OrcV2Examples/OrcV2CBindingsAddObjectFile/CMakeLists.txt index 376ee1d8af5d4..cc50112f326ea 100644 --- a/llvm/examples/OrcV2Examples/OrcV2CBindingsAddObjectFile/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/OrcV2CBindingsAddObjectFile/CMakeLists.txt @@ -13,5 +13,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(OrcV2CBindingsAddObjectFile OrcV2CBindingsAddObjectFile.c ) - -export_executable_symbols(OrcV2CBindingsAddObjectFile) diff --git a/llvm/examples/OrcV2Examples/OrcV2CBindingsBasicUsage/CMakeLists.txt b/llvm/examples/OrcV2Examples/OrcV2CBindingsBasicUsage/CMakeLists.txt index 3e0ac3971dc45..0f18d6c24912f 100644 --- a/llvm/examples/OrcV2Examples/OrcV2CBindingsBasicUsage/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/OrcV2CBindingsBasicUsage/CMakeLists.txt @@ -13,5 +13,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(OrcV2CBindingsBasicUsage OrcV2CBindingsBasicUsage.c ) - -export_executable_symbols(OrcV2CBindingsBasicUsage) diff --git a/llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/CMakeLists.txt b/llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/CMakeLists.txt index ad927d191a570..8e2c97d782062 100644 --- a/llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/CMakeLists.txt @@ -13,5 +13,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(OrcV2CBindingsDumpObjects OrcV2CBindingsDumpObjects.c ) - -export_executable_symbols(OrcV2CBindingsDumpObjects) diff --git a/llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/CMakeLists.txt b/llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/CMakeLists.txt index c90534c87954c..af1b43e43e111 100644 --- a/llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/CMakeLists.txt @@ -14,5 +14,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(OrcV2CBindingsIRTransforms OrcV2CBindingsIRTransforms.c ) - -export_executable_symbols(OrcV2CBindingsIRTransforms) diff --git a/llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/CMakeLists.txt b/llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/CMakeLists.txt index 74238cbce8af3..52eb2d496fc23 100644 --- a/llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/CMakeLists.txt @@ -13,5 +13,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(OrcV2CBindingsLazy OrcV2CBindingsLazy.c ) - -export_executable_symbols(OrcV2CBindingsLazy) diff --git a/llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/CMakeLists.txt b/llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/CMakeLists.txt index 65299ff871f18..5b737557bb1ef 100644 --- a/llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/CMakeLists.txt @@ -13,5 +13,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(OrcV2CBindingsRemovableCode OrcV2CBindingsRemovableCode.c ) - -export_executable_symbols(OrcV2CBindingsRemovableCode) diff --git a/llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/CMakeLists.txt b/llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/CMakeLists.txt index 5d3e730e29e25..0bc9610b1ad7e 100644 --- a/llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/CMakeLists.txt +++ b/llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/CMakeLists.txt @@ -13,5 +13,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_example(OrcV2CBindingsVeryLazy OrcV2CBindingsVeryLazy.c ) - -export_executable_symbols(OrcV2CBindingsVeryLazy) diff --git a/llvm/tools/bugpoint/CMakeLists.txt b/llvm/tools/bugpoint/CMakeLists.txt index b0e71910c7cc3..f846aed24b75e 100644 --- a/llvm/tools/bugpoint/CMakeLists.txt +++ b/llvm/tools/bugpoint/CMakeLists.txt @@ -37,5 +37,5 @@ add_llvm_tool(bugpoint DEPENDS intrinsics_gen SUPPORT_PLUGINS + EXPORT_SYMBOLS_FOR_PLUGINS ) -export_executable_symbols_for_plugins(bugpoint) diff --git a/llvm/tools/llc/CMakeLists.txt b/llvm/tools/llc/CMakeLists.txt index 01825c6e4c64c..c5407944dd213 100644 --- a/llvm/tools/llc/CMakeLists.txt +++ b/llvm/tools/llc/CMakeLists.txt @@ -30,6 +30,5 @@ add_llvm_tool(llc DEPENDS intrinsics_gen SUPPORT_PLUGINS + EXPORT_SYMBOLS_FOR_PLUGINS ) - -export_executable_symbols_for_plugins(llc) diff --git a/llvm/tools/lli/CMakeLists.txt b/llvm/tools/lli/CMakeLists.txt index e3fca225a2275..3106f25ad79f8 100644 --- a/llvm/tools/lli/CMakeLists.txt +++ b/llvm/tools/lli/CMakeLists.txt @@ -56,6 +56,6 @@ add_llvm_tool(lli DEPENDS intrinsics_gen - ) -export_executable_symbols(lli) + EXPORT_SYMBOLS + ) diff --git a/llvm/tools/lli/ChildTarget/CMakeLists.txt b/llvm/tools/lli/ChildTarget/CMakeLists.txt index 5a81faa70f014..b3c1dd25ed75d 100644 --- a/llvm/tools/lli/ChildTarget/CMakeLists.txt +++ b/llvm/tools/lli/ChildTarget/CMakeLists.txt @@ -10,6 +10,6 @@ add_llvm_utility(lli-child-target DEPENDS intrinsics_gen -) -export_executable_symbols(lli-child-target) + EXPORT_SYMBOLS +) diff --git a/llvm/tools/llvm-jitlink/CMakeLists.txt b/llvm/tools/llvm-jitlink/CMakeLists.txt index 9def74116df4b..e337fe5f99865 100644 --- a/llvm/tools/llvm-jitlink/CMakeLists.txt +++ b/llvm/tools/llvm-jitlink/CMakeLists.txt @@ -20,14 +20,14 @@ set(LLVM_LINK_COMPONENTS TargetParser ) -set(ENABLE_EXPORTS ON) - add_llvm_tool(llvm-jitlink llvm-jitlink.cpp llvm-jitlink-coff.cpp llvm-jitlink-elf.cpp llvm-jitlink-macho.cpp llvm-jitlink-statistics.cpp + + EXPORT_SYMBOLS ) if(${CMAKE_SYSTEM_NAME} MATCHES "Haiku") @@ -37,5 +37,3 @@ endif() if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") target_link_libraries(llvm-jitlink PRIVATE socket) endif() - -export_executable_symbols(llvm-jitlink) diff --git a/llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt b/llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt index f6d882d1a8f06..f2daa294eec07 100644 --- a/llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt +++ b/llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt @@ -9,6 +9,6 @@ add_llvm_utility(llvm-jitlink-executor DEPENDS intrinsics_gen -) -export_executable_symbols(llvm-jitlink-executor) + EXPORT_SYMBOLS +) diff --git a/llvm/tools/llvm-lto2/CMakeLists.txt b/llvm/tools/llvm-lto2/CMakeLists.txt index 3b4644d6e2771..335392fb8990a 100644 --- a/llvm/tools/llvm-lto2/CMakeLists.txt +++ b/llvm/tools/llvm-lto2/CMakeLists.txt @@ -21,5 +21,6 @@ add_llvm_tool(llvm-lto2 DEPENDS intrinsics_gen + + EXPORT_SYMBOLS_FOR_PLUGINS ) -export_executable_symbols_for_plugins(llvm-lto2) diff --git a/llvm/tools/opt/CMakeLists.txt b/llvm/tools/opt/CMakeLists.txt index 8d031b2cc57c7..c235fcf1ac960 100644 --- a/llvm/tools/opt/CMakeLists.txt +++ b/llvm/tools/opt/CMakeLists.txt @@ -45,8 +45,7 @@ add_llvm_tool(opt DEPENDS intrinsics_gen SUPPORT_PLUGINS + EXPORT_SYMBOLS_FOR_PLUGINS ) target_link_libraries(opt PRIVATE LLVMOptDriver) - -export_executable_symbols_for_plugins(opt) diff --git a/llvm/unittests/Analysis/CMakeLists.txt b/llvm/unittests/Analysis/CMakeLists.txt index 3cba630867a83..a1199adba076a 100644 --- a/llvm/unittests/Analysis/CMakeLists.txt +++ b/llvm/unittests/Analysis/CMakeLists.txt @@ -62,8 +62,14 @@ else() LIST(APPEND LLVM_OPTIONAL_SOURCES ${MLGO_TESTS}) endif() +# Export symbols from the plugins shared objects. +if(NOT WIN32) + set(export_symbols EXPORT_SYMBOLS_FOR_PLUGINS) +endif() + add_llvm_unittest_with_input_files(AnalysisTests ${ANALYSIS_TEST_SOURCES} + ${export_symbols} ) add_dependencies(AnalysisTests intrinsics_gen) @@ -76,10 +82,5 @@ if(CMAKE_SYSTEM_NAME STREQUAL "AIX") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-brtl") endif() -# Export symbols from the plugins shared objects. -if(NOT WIN32) - export_executable_symbols_for_plugins(AnalysisTests) -endif() - add_subdirectory(InlineAdvisorPlugin) add_subdirectory(InlineOrderPlugin) diff --git a/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt b/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt index cc868e7587dc6..dc3380d35fda9 100644 --- a/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt +++ b/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt @@ -43,10 +43,10 @@ add_llvm_unittest(OrcJITTests TaskDispatchTest.cpp ThreadSafeModuleTest.cpp WrapperFunctionUtilsTest.cpp + + EXPORT_SYMBOLS ) target_link_libraries(OrcJITTests PRIVATE LLVMTestingSupport ${ORC_JIT_TEST_LIBS}) - -export_executable_symbols(OrcJITTests) diff --git a/llvm/unittests/Passes/Plugins/CMakeLists.txt b/llvm/unittests/Passes/Plugins/CMakeLists.txt index e90cae167bc22..55d7e715014f4 100644 --- a/llvm/unittests/Passes/Plugins/CMakeLists.txt +++ b/llvm/unittests/Passes/Plugins/CMakeLists.txt @@ -6,8 +6,9 @@ if (NOT WIN32 AND NOT CYGWIN) set(LLVM_LINK_COMPONENTS Support Passes Core AsmParser) add_llvm_unittest(PluginsTests PluginsTest.cpp + + EXPORT_SYMBOLS_FOR_PLUGINS ) - export_executable_symbols_for_plugins(PluginsTests) target_link_libraries(PluginsTests PRIVATE LLVMTestingSupport) unset(LLVM_LINK_COMPONENTS) diff --git a/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt b/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt index 4574acd629068..d8dff1ef4a3f7 100644 --- a/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt +++ b/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt @@ -17,9 +17,10 @@ set_output_directory(DynamicLibraryLib add_llvm_unittest(DynamicLibraryTests DynamicLibraryTest.cpp + + EXPORT_SYMBOLS ) target_link_libraries(DynamicLibraryTests PRIVATE DynamicLibraryLib) -export_executable_symbols(DynamicLibraryTests) function(dynlib_add_module NAME) add_library(${NAME} MODULE @@ -38,7 +39,7 @@ function(dynlib_add_module NAME) ) add_dependencies(DynamicLibraryTests ${NAME}) - + if(LLVM_INTEGRATED_CRT_ALLOC) # We need to link in the Support lib for the Memory allocator override, # otherwise the DynamicLibrary.Shutdown test will fail, because it would @@ -48,7 +49,7 @@ function(dynlib_add_module NAME) llvm_map_components_to_libnames(llvm_libs Support) target_link_libraries(${NAME} ${llvm_libs} "-INCLUDE:malloc") endif() - + endfunction(dynlib_add_module) # Revert -Wl,-z,nodelete on this test since it relies on the file diff --git a/mlir/tools/mlir-cpu-runner/CMakeLists.txt b/mlir/tools/mlir-cpu-runner/CMakeLists.txt index 1766b28aa0b11..ae6dbceca855d 100644 --- a/mlir/tools/mlir-cpu-runner/CMakeLists.txt +++ b/mlir/tools/mlir-cpu-runner/CMakeLists.txt @@ -7,6 +7,8 @@ set(LLVM_LINK_COMPONENTS add_mlir_tool(mlir-cpu-runner mlir-cpu-runner.cpp + + EXPORT_SYMBOLS ) llvm_update_compile_flags(mlir-cpu-runner) target_link_libraries(mlir-cpu-runner PRIVATE @@ -22,5 +24,3 @@ target_link_libraries(mlir-cpu-runner PRIVATE MLIRTargetLLVMIRExport MLIRSupport ) - -export_executable_symbols(mlir-cpu-runner) diff --git a/mlir/tools/mlir-opt/CMakeLists.txt b/mlir/tools/mlir-opt/CMakeLists.txt index 8b79de58fa102..1209c53d81bfb 100644 --- a/mlir/tools/mlir-opt/CMakeLists.txt +++ b/mlir/tools/mlir-opt/CMakeLists.txt @@ -102,9 +102,9 @@ add_mlir_tool(mlir-opt DEPENDS ${LIBS} SUPPORT_PLUGINS + EXPORT_SYMBOLS_FOR_PLUGINS ) target_link_libraries(mlir-opt PRIVATE ${LIBS}) llvm_update_compile_flags(mlir-opt) mlir_check_all_link_libraries(mlir-opt) -export_executable_symbols_for_plugins(mlir-opt) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits