[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
Wed May 16 09:28:17 PDT 2018
thakis updated this revision to Diff 147113.
thakis added a comment.
LTDL_SHLIB_EXT
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 ${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/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 ${LTDL_SHLIB_EXT}
)
set_target_properties(TestPlugin PROPERTIES FOLDER "Tests")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46898.147113.patch
Type: text/x-patch
Size: 3187 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180516/f695dc50/attachment.bin>
More information about the llvm-commits
mailing list