as noted by qboosh in
https://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2021-September/026364.html
the root cause is essentially a mismatch between address of
QMapData::shared_null as seen in library and application. since
`shared_null` acts basically as '\0' in strings -- stop point, only
compared by address -- just make sure application always receives same
address as library. still to be determined why that happens exactly
(all of my attempts at reduced reproducer failed) and proper fix should
be delivered.
--- /dev/null
+--- qt-everywhere-opensource-src-4.8.7.orig/src/corelib/tools/qmap.h 2015-05-07 14:14:48.000000000 +0000
++++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/qmap.h 2021-09-22 13:03:35.852354885 +0000
+@@ -179,7 +179,7 @@
+ }
+
+ public:
+- inline QMap() : d(&QMapData::shared_null) { d->ref.ref(); }
++ inline QMap() : d(QMapData::shared_null.backward) { d->ref.ref(); }
+ inline QMap(const QMap<Key, T> &other) : d(other.d)
+ { d->ref.ref(); if (!d->sharable) detach(); }
+ inline ~QMap() { if (!d) return; if (!d->ref.deref()) freeData(d); }
Patch52: gcc9-qforeach.patch
Patch53: cxx11.patch
Patch54: gcc11.patch
+Patch55: qmap_inf_loop.patch
URL: http://qt-project.org/
%{?with_ibase:BuildRequires: Firebird-devel}
%{?with_openvg:BuildRequires: Mesa-libOpenVG-devel}
%patch52 -p1
%patch53 -p1
%patch54 -p1
+%patch55 -p1
%{__sed} -i -e 's,usr/X11R6/,usr/g,' mkspecs/linux-g++-64/qmake.conf \
mkspecs/common/linux.conf