File swiftshader-llvm21.patch of Package nodejs-electron

--- src/third_party/swiftshader/src/Reactor/LLVMJIT.cpp	2025-09-15 18:56:08.652126119 +0200
+++ /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/home/abuild/rpmbuild/BUILD/nodejs-electron-37.5.0-build/src/third_party/swiftshader/src/Reactor/LLVMJIT.cpp	2025-09-15 19:25:40.331977649 +0200
@@ -78,6 +78,10 @@ __pragma(warning(push))
 #include "llvm/ExecutionEngine/Orc/AbsoluteSymbols.h"
 #endif
 
+#if LLVM_VERSION_MAJOR >= 21 // https://github.com/llvm/llvm-project/commit/0faa181434cf959110651fe974bef31e7390eba8
+#include "llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h"
+#endif
+
 #ifdef _MSC_VER
     __pragma(warning(pop))
 #endif
@@ -820,7 +824,11 @@ public:
 	    , session(std::move(Unwrap(llvm::orc::SelfExecutorProcessControl::Create())))
 #endif
 #if USE_LEGACY_OBJECT_LINKING_LAYER
-	    , objectLayer(session, [this]() {
+	    , objectLayer(session, [this](
+#if LLVM_VERSION_MAJOR >= 21 // https://github.com/llvm/llvm-project/commit/cd585864c0bbbd74ed2a2b1ccc191eed4d1c8f90
+			const llvm::MemoryBuffer &
+#endif
+		) {
 		    return std::make_unique<llvm::SectionMemoryManager>(&memoryMapper);
 	    })
 #else
@@ -959,7 +967,15 @@ JITBuilder::JITBuilder()
     , module(new llvm::Module("", *context))
     , builder(new llvm::IRBuilder<>(*context))
 {
-	module->setTargetTriple(LLVM_DEFAULT_TARGET_TRIPLE);
+	module->setTargetTriple(
+#if LLVM_VERSION_MAJOR >= 21 // https://github.com/llvm/llvm-project/commit/979c275097a642e9b96c6b0a12f013c831af3a6e
+		llvm::Triple(
+#endif
+			LLVM_DEFAULT_TARGET_TRIPLE
+#if LLVM_VERSION_MAJOR >= 21
+		)
+#endif
+	);
 	module->setDataLayout(JITGlobals::get()->getDataLayout());
 
 	msanInstrumentation = getPragmaState(MemorySanitizerInstrumentation);
openSUSE Build Service is sponsored by