From 6046c1c93a5c0d67ac7260cee671e75aa7a200cd Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Sat, 23 Apr 2016 22:40:57 +0200 Subject: [PATCH] qt5base: fix sparc glibc libatomic link problem Fixes [1]: undefined reference to `__atomic_fetch_add_4' Upstream patch from QTBUG-51621 ([2], [3]). [1] http://autobuild.buildroot.net/results/8e7/8e7ff74abdd6274c257a928113e50f534a142650 [2] https://bugreports.qt.io/browse/QTBUG-51621 [3] https://codereview.qt-project.org/#/c/151273/3 Signed-off-by: Peter Seiderer Signed-off-by: Thomas Petazzoni --- ...007-build-with-explicitlib-after-all.patch | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 package/qt5/qt5base/0007-build-with-explicitlib-after-all.patch diff --git a/package/qt5/qt5base/0007-build-with-explicitlib-after-all.patch b/package/qt5/qt5base/0007-build-with-explicitlib-after-all.patch new file mode 100644 index 0000000000..a878ba6451 --- /dev/null +++ b/package/qt5/qt5base/0007-build-with-explicitlib-after-all.patch @@ -0,0 +1,51 @@ +From 523c7e3fd55c853dd424d57f28e225d57439cf89 Mon Sep 17 00:00:00 2001 +From: Oswald Buddenhagen +Date: Thu, 3 Mar 2016 14:12:16 +0100 +Subject: [PATCH] build with explicitlib after all + +unlike speculated in 2fe363514, this is not a workaround at all: it +causes that libraries' public link interfaces (LIBS) are exported in the +first place. unlike with staticlib, this does not export LIBS_PRIVATE, +so it wouldn't even be a particularly effective workaround for rpath +brokenness anyway. + +the problem was pretty well hidden by the qt module system, which at the +level of libraries is pretty redundant with the .prl file handling, +which shows just how stupid the whole "design" is. + +unlike before, we now enable explicitlib for all libraries, not just qt +modules - we enable create_prl for all of them as well, after all. + +an immediate effect of this change is that it fixes linking on RaspPI: +the qtcore headers make the user code require linking libatomic, so we +must add it to our public link interface. + +Task-number: QTBUG-51621 +Change-Id: I5742c88694db8e8a9b79d17222dc6df2b38e5ab2 +Reviewed-by: Joerg Bornemann +Reviewed-by: Allan Sandfeld Jensen + +Upstream: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commit;h=523c7e3fd55c853dd424d57f28e225d57439cf89 +Signed-off: Peter Seiderer +--- + mkspecs/features/qt_build_config.prf | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf +index 518fd93..b3081b9 100644 +--- a/mkspecs/features/qt_build_config.prf ++++ b/mkspecs/features/qt_build_config.prf +@@ -72,6 +72,10 @@ CONFIG += \ + # However, testcases should be still built with exceptions. + exceptions_off testcase_exceptions + ++# Under Windows, this is neither necessary (transitive deps are automatically ++# resolved), nor functional (.res files end up in .prl files and break things). ++unix: CONFIG += explicitlib ++ + + defineTest(qtBuildPart) { + bp = $$eval($$upper($$section(_QMAKE_CONF_, /, -2, -2))_BUILD_PARTS) +-- +2.7.4 + -- 2.30.2