[PATCH] D46898: Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE
Nico Weber via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 15 10:59:56 PDT 2018
thakis created this revision.
thakis added a reviewer: philip.pfaffe.
Herald added a subscriber: mgorny.
As far as I can tell from revision history, there's no good reason to call these files .so instead of .dll in Windows, so use the normal extension.
Also change PipSquak from SHARED to MODULE -- it's never passed to target_link_libraries() and only loaded via dlopen(), so MODULE is more appropriate. This makes it possible to delete a workaround for SHARED ldflags being not quite right as well.
No intended behavior change.
https://reviews.llvm.org/D46898
Files:
unittests/Passes/CMakeLists.txt
unittests/Passes/PluginsTest.cpp
unittests/Support/DynamicLibrary/CMakeLists.txt
unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
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<testing::internal::string>& Argvs = testing::internal::GetArgvs();
- const char *Argv0 = Argvs.size() > 0 ? Argvs[0].c_str() : "DynamicLibraryTests";
+ const std::vector<testing::internal::string> &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();
}
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 ${LLVM_PLUGIN_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/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/Passes/CMakeLists.txt
===================================================================
--- unittests/Passes/CMakeLists.txt
+++ unittests/Passes/CMakeLists.txt
@@ -21,7 +21,7 @@
set_target_properties(TestPlugin
PROPERTIES PREFIX ""
- SUFFIX ".so"
+ SUFFIX ${LLVM_PLUGIN_EXT}
)
set_target_properties(TestPlugin PROPERTIES FOLDER "Tests")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46898.146883.patch
Type: text/x-patch
Size: 3189 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180515/94666ef3/attachment.bin>
More information about the llvm-commits
mailing list