diff --git a/srcpkgs/imhex/patches/fix-lto-llvm-demangle.patch b/srcpkgs/imhex/patches/fix-lto-llvm-demangle.patch new file mode 100644 index 00000000000000..9951d21e702091 --- /dev/null +++ b/srcpkgs/imhex/patches/fix-lto-llvm-demangle.patch @@ -0,0 +1,29 @@ +From 135448cacc2ddbdb00580565aba870cf6be76124 Mon Sep 17 00:00:00 2001 +From: Roger Freitas Pereira +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 + diff --git a/srcpkgs/imhex/template b/srcpkgs/imhex/template index 371aca75fcf427..17a9792f165504 100644 --- a/srcpkgs/imhex/template +++ b/srcpkgs/imhex/template @@ -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 @@ -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