@@ -0,0 +1,63 @@
|
||||
From c2133b18cb48b9bb9c47897b16d64c5f0547cde6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
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 <mgorny@gentoo.org>
|
||||
---
|
||||
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@"
|
||||
@@ -0,0 +1,73 @@
|
||||
From 98fadafeae0204defedd89f015f7fb88f2888b2f Mon Sep 17 00:00:00 2001
|
||||
From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
|
||||
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
|
||||
@@ -27,12 +27,10 @@
|
||||
<Dependency>spirv-headers</Dependency>
|
||||
<Dependency>spirv-tools-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<!--
|
||||
<Patches>
|
||||
<Patch>spirv-llvm.patch</Patch>
|
||||
<Patch level="1">spirv-llvm.patch</Patch>
|
||||
<Patch level="1">spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch</Patch>
|
||||
<Patch level="1">spirv-llvm-translator-16.0.0-ld_library_path.patch</Patch>
|
||||
</Patches>
|
||||
-->
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
|
||||
Reference in New Issue
Block a user