[llvm] Fix build failures related to PR #164551 (PR #164962)

via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 24 05:10:34 PDT 2025


https://github.com/SahilPatidar created https://github.com/llvm/llvm-project/pull/164962

Fix build failures in LibraryResolverTest and silence symlink warning

This commit resolves two issues observed in the build bots:

1. Silences the -Wunused-result warning by handling the return value
   of ::symlink in LibraryResolverTest.cpp. Previously, ignoring
   the return value triggered compiler warnings.

2. Fixes a linker error in OrcJITTests caused by an undefined
   symbol: `llvm::yaml::convertYAML`. The test setup in
   LibraryResolverTest.cpp now correctly links against the required
   LLVM YAML library symbols.

This resolves the build failures for PR #164551 on the affected bots.


>From fe09dc281b568c21349d707488c527ad50d7f53a Mon Sep 17 00:00:00 2001
From: SahilPatidar <patidarsahil2001 at gmail.com>
Date: Fri, 24 Oct 2025 17:17:12 +0530
Subject: [PATCH] Fix build failures related to PR #164551

---
 llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt     |  1 +
 .../ExecutionEngine/Orc/LibraryResolverTest.cpp       | 11 +++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt b/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
index de6cc8f07fa05..7b563d7bcc68c 100644
--- a/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
+++ b/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
@@ -5,6 +5,7 @@ set(LLVM_LINK_COMPONENTS
   IRReader
   JITLink
   Object
+  ObjectYAML
   OrcDebugging
   OrcJIT
   OrcShared
diff --git a/llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp b/llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
index f6990ee968663..f9396132f19f0 100644
--- a/llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
+++ b/llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
@@ -690,14 +690,21 @@ TEST_F(LibraryResolverIT, PathResolverFollowsSymlinks) {
   // Create a symlink temp -> BaseDir (only if filesystem allows it)
   std::string linkName = BaseDir + withext("/link_to_C");
   std::string target = lib("C");
-  ::symlink(target.c_str(), linkName.c_str());
+
+  if (::symlink(target.c_str(), linkName.c_str()) != 0) {
+    perror("symlink failed");
+    FAIL() << "Failed to create symlink: " << strerror(errno);
+  }
 
   auto resolved = PResolver->resolve(linkName, EC);
   ASSERT_TRUE(resolved.has_value());
   EXPECT_FALSE(EC);
   EXPECT_EQ(*resolved, target);
 
-  ::unlink(linkName.c_str()); // cleanup
+  if (::unlink(linkName.c_str()) != 0) {
+    perror("unlink failed");
+    FAIL() << "Failed to remove symlink: " << strerror(errno);
+  }
 }
 
 TEST_F(LibraryResolverIT, PathResolverCachesResults) {



More information about the llvm-commits mailing list