[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