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. [EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> 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) {
signature.asc
Description: Digital signature