[llvm-branch-commits] try (PR #128474)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Feb 23 22:52:51 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-support

Author: Vitaly Buka (vitalybuka)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/128474.diff


1 Files Affected:

- (modified) llvm/lib/Support/Unix/DynamicLibrary.inc (+7-2) 


``````````diff
diff --git a/llvm/lib/Support/Unix/DynamicLibrary.inc b/llvm/lib/Support/Unix/DynamicLibrary.inc
index 7452913049ebb..ac254790a6ca4 100644
--- a/llvm/lib/Support/Unix/DynamicLibrary.inc
+++ b/llvm/lib/Support/Unix/DynamicLibrary.inc
@@ -27,8 +27,10 @@ DynamicLibrary::HandleSet::~HandleSet() {
 void *DynamicLibrary::HandleSet::DLOpen(const char *File, std::string *Err) {
   void *Handle = ::dlopen(File, RTLD_LAZY | RTLD_GLOBAL);
   if (!Handle) {
-    if (Err)
+    if (Err) {
       *Err = ::dlerror();
+      ::dlerror();
+    }
     return &DynamicLibrary::Invalid;
   }
 
@@ -45,7 +47,10 @@ void *DynamicLibrary::HandleSet::DLOpen(const char *File, std::string *Err) {
 void DynamicLibrary::HandleSet::DLClose(void *Handle) { ::dlclose(Handle); }
 
 void *DynamicLibrary::HandleSet::DLSym(void *Handle, const char *Symbol) {
-  return ::dlsym(Handle, Symbol);
+  auto* p = ::dlsym(Handle, Symbol);
+  ::dlerror();
+  ::dlerror();
+  return p;
 }
 
 #else // !HAVE_DLOPEN

``````````

</details>


https://github.com/llvm/llvm-project/pull/128474


More information about the llvm-branch-commits mailing list