Index: unittests/Passes/CMakeLists.txt =================================================================== --- unittests/Passes/CMakeLists.txt +++ unittests/Passes/CMakeLists.txt @@ -21,7 +21,7 @@ set_target_properties(TestPlugin PROPERTIES PREFIX "" - SUFFIX ".so" + SUFFIX ${LTDL_SHLIB_EXT} ) set_target_properties(TestPlugin PROPERTIES FOLDER "Tests") Index: unittests/Passes/PluginsTest.cpp =================================================================== --- unittests/Passes/PluginsTest.cpp +++ unittests/Passes/PluginsTest.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "llvm/Analysis/CGSCCPassManager.h" +#include "llvm/Config/config.h" #include "llvm/IR/PassManager.h" #include "llvm/Passes/PassBuilder.h" #include "llvm/Passes/PassPlugin.h" @@ -32,7 +33,7 @@ void *Ptr = (void *)(intptr_t)anchor; std::string Path = sys::fs::getMainExecutable(Argv0, Ptr); llvm::SmallString<256> Buf{sys::path::parent_path(Path)}; - sys::path::append(Buf, (Name + ".so").c_str()); + sys::path::append(Buf, (Name + LTDL_SHLIB_EXT).c_str()); return Buf.str(); } Index: unittests/Support/DynamicLibrary/CMakeLists.txt =================================================================== --- unittests/Support/DynamicLibrary/CMakeLists.txt +++ unittests/Support/DynamicLibrary/CMakeLists.txt @@ -11,7 +11,7 @@ export_executable_symbols(DynamicLibraryTests) function(dynlib_add_module NAME) - add_library(${NAME} SHARED PipSqueak.cpp) + add_library(${NAME} MODULE PipSqueak.cpp) set_target_properties(${NAME} PROPERTIES FOLDER "Tests") set_output_directory(${NAME} @@ -21,18 +21,11 @@ set_target_properties(${NAME} PROPERTIES PREFIX "" - SUFFIX ".so" + SUFFIX ${LTDL_SHLIB_EXT} ) add_dependencies(DynamicLibraryTests ${NAME}) endfunction(dynlib_add_module) -# Revert -Wl,-z,nodelete on this test since it relies on the file -# being unloaded. -if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - string(REPLACE "-Wl,-z,nodelete" "" CMAKE_SHARED_LINKER_FLAGS - ${CMAKE_SHARED_LINKER_FLAGS}) -endif() - dynlib_add_module(PipSqueak) dynlib_add_module(SecondLib) Index: unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp =================================================================== --- unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp +++ unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp @@ -20,12 +20,14 @@ using namespace llvm::sys; std::string LibPath(const std::string Name = "PipSqueak") { - const std::vector& Argvs = testing::internal::GetArgvs(); - const char *Argv0 = Argvs.size() > 0 ? Argvs[0].c_str() : "DynamicLibraryTests"; + const std::vector &Argvs = + testing::internal::GetArgvs(); + const char *Argv0 = + Argvs.size() > 0 ? Argvs[0].c_str() : "DynamicLibraryTests"; void *Ptr = (void*)(intptr_t)TestA; std::string Path = fs::getMainExecutable(Argv0, Ptr); llvm::SmallString<256> Buf(path::parent_path(Path)); - path::append(Buf, (Name+".so").c_str()); + path::append(Buf, (Name + LTDL_SHLIB_EXT).c_str()); return Buf.str(); }