tags 368883 patch thanks So, having diagnosed that this is an interaction between -fvisibility-inlines-hidden and referencing inlined methods (bug #369642), the obvious workaround is to keep the problematic methods from getting inlined. The attached patch should do this; unfortunately, I haven't tested it completely because qt4-x11 is also missing a build-conflict with unixodbc-dev, and I don't have the patience to try to build it a second time on alpha. Please consider applying the patch, I don't believe it has negative side-effects for other archs. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. vorlon@debian.org http://www.debian.org/
diff -u qt4-x11-4.1.2/debian/changelog qt4-x11-4.1.2/debian/changelog
--- qt4-x11-4.1.2/debian/changelog
+++ qt4-x11-4.1.2/debian/changelog
@@ -1,3 +1,11 @@
+qt4-x11 (4.1.2-2.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Workaround for -fvisibility-inlines-hidden on alpha: break out the
+ static methods so they're not inlined. Closes: #368883.
+
+ -- Steve Langasek <vorlon@debian.org> Tue, 30 May 2006 19:56:44 -0700
+
qt4-x11 (4.1.2-2) unstable; urgency=low
* debian/libqt4-debug-dev.install, debian/libqt4-dev.install: added
only in patch2:
unchanged:
--- qt4-x11-4.1.2.orig/src/corelib/global/qlibraryinfo.cpp
+++ qt4-x11-4.1.2/src/corelib/global/qlibraryinfo.cpp
@@ -47,14 +47,7 @@
{
public:
static QSettings *findConfiguration();
- static void cleanup()
- {
- QLibrarySettings *ls = qt_library_settings();
- if (ls) {
- delete static_cast<QSettings *>(ls->settings);
- ls->settings = 0;
- }
- }
+ static void cleanup();
static QSettings *configuration()
{
QLibrarySettings *ls = qt_library_settings();
@@ -64,6 +57,15 @@
Q_GLOBAL_STATIC(QLibrarySettings, qt_library_settings)
};
+void QLibraryInfoPrivate::cleanup()
+{
+ QLibrarySettings *ls = qt_library_settings();
+ if (ls) {
+ delete static_cast<QSettings *>(ls->settings);
+ ls->settings = 0;
+ }
+}
+
QLibrarySettings::QLibrarySettings()
{
settings = QLibraryInfoPrivate::findConfiguration();
only in patch2:
unchanged:
--- qt4-x11-4.1.2.orig/src/corelib/tools/qhash.h
+++ qt4-x11-4.1.2/src/corelib/tools/qhash.h
@@ -396,7 +396,7 @@
}
template <class Key, class T>
-Q_INLINE_TEMPLATE void QHash<Key, T>::duplicateNode(QHashData::Node *node, void *newNode)
+void QHash<Key, T>::duplicateNode(QHashData::Node *node, void *newNode)
{
Node *concreteNode = concrete(node);
if (QTypeInfo<T>::isDummy) {
Attachment:
signature.asc
Description: Digital signature