Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions srcpkgs/imhex/patches/fix-lto-llvm-demangle.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
From 135448cacc2ddbdb00580565aba870cf6be76124 Mon Sep 17 00:00:00 2001
From: Roger Freitas Pereira <roger_freitas@live.com>
Date: Mon, 29 Dec 2025 05:16:04 -0300
Subject: [PATCH] fix: link LLVMDemangle when building with LTO and system LLVM

---
lib/libimhex/CMakeLists.txt | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/lib/libimhex/CMakeLists.txt b/lib/libimhex/CMakeLists.txt
index 1977cf8..1814bcb 100644
--- a/lib/libimhex/CMakeLists.txt
+++ b/lib/libimhex/CMakeLists.txt
@@ -137,6 +137,12 @@ generate_export_header(libimhex)

target_include_directories(libimhex ${LIBIMHEX_LIBRARY_TYPE} include ${XDGPP_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS})

+if (IMHEX_ENABLE_LTO AND USE_SYSTEM_LLVM)
+ target_link_options(libimhex PRIVATE
+ "-Wl,--whole-archive" "-l:libLLVMDemangle.a" "-Wl,--no-whole-archive"
+ )
+endif()
+
if (NOT IMHEX_EXTERNAL_PLUGIN_BUILD)
if (WIN32)
set_target_properties(libimhex PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
--
2.51.2

5 changes: 4 additions & 1 deletion srcpkgs/imhex/template
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ configure_args="-DIMHEX_OFFLINE_BUILD=ON -DIMHEX_STRIP_RELEASE=OFF
-DUSE_SYSTEM_FMT=ON -DUSE_SYSTEM_LLVM=ON -DUSE_SYSTEM_CAPSTONE=ON
-DUSE_SYSTEM_YARA=ON -DUSE_SYSTEM_NLOHMANN_JSON=ON
-DIMHEX_ENABLE_UNIT_TESTS=ON -DIMHEX_COMPRESS_DEBUG_INFO=OFF
-DIMHEX_STRICT_WARNINGS=OFF -DIMHEX_ENABLE_LTO=OFF"
-DIMHEX_STRICT_WARNINGS=OFF -DIMHEX_ENABLE_LTO=$(vopt_if lto ON OFF)"
hostmakedepends="pkg-config clang-tools-extra18"
makedepends="libcurl-devel fmt-devel llvm18-devel jansson-devel yara-devel json-c++
freetype-devel glfw-devel gtk+3-devel python3-devel file-devel mbedtls-devel
Expand All @@ -26,6 +26,9 @@ checksum="cd3531066a41dde1f0751e5d3146a936897df35ad5ba1fa49a9f3ace88e6901d
patch_args="-Np1 -d $build_wrksrc"
python_version=3

build_options="lto"
desc_option_lto="Enable LTO (Link Time Optimization)" # LTO requires system LLVM built with LTO

subpackages="imhex-plugin-sdk imhex-patterns"

if [ "$XBPS_TARGET_WORDSIZE" = 32 ]; then
Expand Down