diff --git a/lxqt-build-tools-symbolic.patch b/lxqt-build-tools-symbolic.patch new file mode 100644 index 0000000..4d7352d --- /dev/null +++ b/lxqt-build-tools-symbolic.patch @@ -0,0 +1,33 @@ +From fd449e28e30886522c32df610c77124fb7be4b37 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Mon, 29 Aug 2022 16:07:20 +0200 +Subject: [PATCH] LXQtCompilerSettings: Drop use of -Bsymbolic + +The use of "copy relocations" in ELF executables makes this rather dangerous, +as that moves the definition of the symbol from the library to the executable, +but the library still uses its own definition with -Bsymbolic. + +In particular, this led to pcmanfm-qt not saving settings properly +(https://bugzilla.opensuse.org/show_bug.cgi?id=1195421), but can also cause +worse issues like just crashing on startup. + +See https://bugreports.qt.io/browse/QTBUG-86173 and +https://bugzilla.opensuse.org/show_bug.cgi?id=1175278 for some details and +discussion about issues with -Bsymbolic. +--- + cmake/modules/LXQtCompilerSettings.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/modules/LXQtCompilerSettings.cmake b/cmake/modules/LXQtCompilerSettings.cmake +index dfb0eaa..a8cb16d 100644 +--- a/cmake/modules/LXQtCompilerSettings.cmake ++++ b/cmake/modules/LXQtCompilerSettings.cmake +@@ -164,7 +164,7 @@ if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX) + set(NO_UNDEFINED_FLAGS "-Wl,--no-undefined") + # -Bsymbolic-functions: replace dynamic symbols used internally in + # shared libs with direct addresses. +- set(SYMBOLIC_FLAGS "-Wl,-Bsymbolic-functions -Wl,-Bsymbolic") ++ set(SYMBOLIC_FLAGS "-Wl,-Bsymbolic-functions") + endif() + + set(CMAKE_SHARED_LINKER_FLAGS diff --git a/lxqt-build-tools.changes b/lxqt-build-tools.changes index db0c412..f90fe65 100644 --- a/lxqt-build-tools.changes +++ b/lxqt-build-tools.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Aug 29 14:23:55 UTC 2022 - Michael Vetter + +- bsc#1195421: Add lxqt-build-tools-symbolic.patch + Thanks to Fabian Vogt + ------------------------------------------------------------------- Wed Apr 20 19:09:51 UTC 2022 - Ferdinand Thiessen diff --git a/lxqt-build-tools.spec b/lxqt-build-tools.spec index f60a11c..2a54284 100644 --- a/lxqt-build-tools.spec +++ b/lxqt-build-tools.spec @@ -25,6 +25,8 @@ Group: Development/Libraries/C and C++ URL: http://www.lxqt.org Source: https://github.com/lxqt/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz Source1: https://github.com/lxqt/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz.asc +# PATCH-FIX-UPSTREAM lxqt-build-tools-symbolic.patch [bsc#1195421] +Patch0: lxqt-build-tools-symbolic.patch BuildRequires: cmake >= 3.1.0 BuildRequires: pkgconfig BuildRequires: pkgconfig(Qt5Core) >= 5.15 @@ -47,6 +49,7 @@ These tools used to be spread over the repositories of various other components %prep %setup -q +%patch0 -p1 %build %cmake -DPULL_TRANSLATIONS=No