From 7cd54d4c9b18ded7f5ae50e944f7f795de9de38c Mon Sep 17 00:00:00 2001 From: Rmys Date: Sun, 22 Oct 2023 00:07:25 +0300 Subject: [PATCH] spirv-llvm ver. bump --- ...vm-translator-16.0.0-ld_library_path.patch | 63 ++++++++++++++++ ...anslator-16.0.0-llvm-link-llvm-dylib.patch | 73 +++++++++++++++++++ x11/vulkan/spirv-llvm/pspec.xml | 6 +- 3 files changed, 138 insertions(+), 4 deletions(-) create mode 100644 x11/vulkan/spirv-llvm/files/spirv-llvm-translator-16.0.0-ld_library_path.patch create mode 100644 x11/vulkan/spirv-llvm/files/spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch diff --git a/x11/vulkan/spirv-llvm/files/spirv-llvm-translator-16.0.0-ld_library_path.patch b/x11/vulkan/spirv-llvm/files/spirv-llvm-translator-16.0.0-ld_library_path.patch new file mode 100644 index 0000000000..3068cd5350 --- /dev/null +++ b/x11/vulkan/spirv-llvm/files/spirv-llvm-translator-16.0.0-ld_library_path.patch @@ -0,0 +1,63 @@ +From c2133b18cb48b9bb9c47897b16d64c5f0547cde6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Thu, 4 May 2023 08:44:25 +0200 +Subject: [PATCH] [test] Use LD_LIBRARY_PATH to ensure that a new lib is used + (#1989) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add the library `BINARY_DIR` to `LD_LIBRARY_PATH` to ensure that +the freshly built `libLLVMSPIRVLib.so` is tested. Otherwise, llvm-spirv +spawned by the test suite may use the previously installed +`libLLVMSPIRVLib.so`. + +I have noticed the problem after rebuilding LLVM with +`-DLLVM_ENABLE_ASSSERTIONS=ON`. This meant that the previous version +of `libLLVMSPIRVLib.so` now crashed, effectively causing the test suite +to fail incorrectly. + +Signed-off-by: Michał Górny +--- + test/CMakeLists.txt | 1 + + test/lit.cfg.py | 3 ++- + test/lit.site.cfg.py.in | 1 + + 3 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 235f6d0a0..355baffb8 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -3,6 +3,7 @@ llvm_canonicalize_cmake_booleans(SPIRV_SKIP_DEBUG_INFO_TESTS) + + # required by lit.site.cfg.py.in + get_target_property(LLVM_SPIRV_DIR llvm-spirv BINARY_DIR) ++get_target_property(LLVM_SPIRV_LIB_DIR LLVMSPIRVLib BINARY_DIR) + set(LLVM_SPIRV_TEST_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + + if(SPIRV_TOOLS_FOUND AND NOT SPIRV-Tools-tools_FOUND) +diff --git a/test/lit.cfg.py b/test/lit.cfg.py +index 4b66412c3..fd8d3f94c 100644 +--- a/test/lit.cfg.py ++++ b/test/lit.cfg.py +@@ -76,6 +76,7 @@ + else: + config.substitutions.append(('spirv-val', ':')) + ++llvm_config.with_system_environment('LD_LIBRARY_PATH') + if using_spirv_tools: +- llvm_config.with_system_environment('LD_LIBRARY_PATH') + llvm_config.with_environment('LD_LIBRARY_PATH', config.spirv_tools_lib_dir, append_path=True) ++llvm_config.with_environment('LD_LIBRARY_PATH', config.llvm_spirv_lib_dir, append_path=True) +diff --git a/test/lit.site.cfg.py.in b/test/lit.site.cfg.py.in +index a01f2bb34..fdc4f4319 100644 +--- a/test/lit.site.cfg.py.in ++++ b/test/lit.site.cfg.py.in +@@ -6,6 +6,7 @@ config.llvm_src_root = "@LLVM_SOURCE_DIR@" + config.llvm_obj_root = "@LLVM_BINARY_DIR@" + config.llvm_tools_dir = "@LLVM_TOOLS_DIR@" + config.llvm_spirv_dir = "@LLVM_SPIRV_DIR@" ++config.llvm_spirv_lib_dir = "@LLVM_SPIRV_LIB_DIR@" + config.llvm_libs_dir = "@LLVM_LIBS_DIR@" + config.llvm_shlib_dir = "@SHLIBDIR@" + config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@" diff --git a/x11/vulkan/spirv-llvm/files/spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch b/x11/vulkan/spirv-llvm/files/spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch new file mode 100644 index 0000000000..5cd90086f1 --- /dev/null +++ b/x11/vulkan/spirv-llvm/files/spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch @@ -0,0 +1,73 @@ +From 98fadafeae0204defedd89f015f7fb88f2888b2f Mon Sep 17 00:00:00 2001 +From: Tulio Magno Quites Machado Filho +Date: Fri, 17 Mar 2023 14:27:10 -0300 +Subject: [PATCH] Fix standalone builds with LLVM_LINK_LLVM_DYLIB=ON + +Move the LLVM components to LINK_COMPONENTS because the DEPENDS list has +the same semantics as add_dependencies(). In this +case it doesn't include the LLVM components when calling the linker. +--- + lib/SPIRV/CMakeLists.txt | 47 ++++++++++++---------------------------- + 1 file changed, 14 insertions(+), 33 deletions(-) + +diff --git a/lib/SPIRV/CMakeLists.txt b/lib/SPIRV/CMakeLists.txt +index bbef00528..2810c6b2c 100644 +--- a/lib/SPIRV/CMakeLists.txt ++++ b/lib/SPIRV/CMakeLists.txt +@@ -38,42 +38,23 @@ set(SRC_LIST + libSPIRV/SPIRVType.cpp + libSPIRV/SPIRVValue.cpp + ) +-if(LLVM_LINK_LLVM_DYLIB) +- add_llvm_library(LLVMSPIRVLib STATIC DISABLE_LLVM_LINK_LLVM_DYLIB +- ${SRC_LIST} +- DEPENDS +- intrinsics_gen +- LLVMAnalysis +- LLVMBitWriter +- LLVMCodeGen +- LLVMCore +- LLVMDemangle +- LLVMIRReader +- LLVMLinker +- LLVMPasses +- LLVMSupport +- LLVMTargetParser +- LLVMTransformUtils +- ) +-else() +- add_llvm_library(LLVMSPIRVLib +- ${SRC_LIST} +- LINK_COMPONENTS +- Analysis +- BitWriter +- CodeGen +- Core +- Demangle +- IRReader +- Linker +- Passes +- Support +- TargetParser +- TransformUtils ++add_llvm_library(LLVMSPIRVLib ++ ${SRC_LIST} ++ LINK_COMPONENTS ++ Analysis ++ BitWriter ++ CodeGen ++ Core ++ Demangle ++ IRReader ++ Linker ++ Passes ++ Support ++ TargetParser ++ TransformUtils + DEPENDS + intrinsics_gen + ) +-endif() + + target_include_directories(LLVMSPIRVLib + PRIVATE diff --git a/x11/vulkan/spirv-llvm/pspec.xml b/x11/vulkan/spirv-llvm/pspec.xml index 30e5af98c8..b70abcc240 100644 --- a/x11/vulkan/spirv-llvm/pspec.xml +++ b/x11/vulkan/spirv-llvm/pspec.xml @@ -27,12 +27,10 @@ spirv-headers spirv-tools-devel -