From 76945c38e832a85389e51f62aa2b3bbbf789644a Mon Sep 17 00:00:00 2001
From: Colin Cross <ccross@android.com>
Date: Fri, 1 Jul 2022 17:03:51 -0700
Subject: [PATCH 2/6] Support dlclose as a noop in DynamicLibraryTest

Musl libc implements dlclose as a noop, which is explicitly allowed
by posix.  Modify DynamicLibraryTest to pass when the library
destructors are not called during the test.

Change-Id: I9266eb442ab5ce4b4cc0057e41b9b5b99a69ae67
---
 .../DynamicLibrary/DynamicLibraryTest.cpp     | 33 ++++++++++++-------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp b/llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
index 784b9c1bb2d2..40248fa40a44 100644
--- a/llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+++ b/llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
@@ -115,8 +115,11 @@ TEST(DynamicLibrary, Overload) {
 }
 
 TEST(DynamicLibrary, Shutdown) {
-  std::string A("PipSqueak"), B, C("SecondLib");
-  std::vector<std::string> Order;
+  // Use static storage for these, if dlclose is a noop then the loaded libraries
+  // can hold references to these and attempt to write to them when their
+  // destructors are called during process exit.
+  static std::string A("PipSqueak"), B, C("SecondLib");
+  static std::vector<std::string> Order;
   {
     std::string Err;
     llvm_shutdown_obj Shutdown;
@@ -159,16 +162,24 @@ TEST(DynamicLibrary, Shutdown) {
     TO_0(Order);
     TO_1(Order);
   }
-  EXPECT_EQ(A, "Global::~Global");
-  EXPECT_EQ(B, "Local::~Local");
-  EXPECT_EQ(FuncPtr<SetStrings>(
+  if (A != "PipSqueak") {
+    EXPECT_EQ(A, "Global::~Global");
+    EXPECT_EQ(B, "Local::~Local");
+    EXPECT_EQ(FuncPtr<SetStrings>(
                 DynamicLibrary::SearchForAddressOfSymbol("SetStrings")),
-            nullptr);
-
-  // Test unload/destruction ordering
-  EXPECT_EQ(Order.size(), 2UL);
-  EXPECT_EQ(Order.front(), "SecondLib");
-  EXPECT_EQ(Order.back(), "PipSqueak");
+              nullptr);
+
+    // Test unload/destruction ordering
+    EXPECT_EQ(Order.size(), 2UL);
+    EXPECT_EQ(Order.front(), "SecondLib");
+    EXPECT_EQ(Order.back(), "PipSqueak");
+  } else {
+    // Posix allows dlclose to be a noop, and it is implemented as a noop in musl libc.
+    // Verify nothing changed.
+    EXPECT_EQ(A, "PipSqueak");
+    EXPECT_EQ(B, "Local::Local(SecondLib)");
+    EXPECT_EQ(Order.size(), 0UL);
+  }
 }
 
 #else
-- 
2.37.2.672.g94769d06f0-goog

