Restore QtCore ABI compatibility with binaries built with g++ 4.3 on armel Once Qt...
authorModestas Vainius <modax@debian.org>
Tue, 5 Feb 2013 21:52:29 +0000 (21:52 +0000)
committerLisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
Tue, 5 Feb 2013 21:52:29 +0000 (21:52 +0000)
Gbp-Pq: Name 92_armel_gcc43_valist_compat.diff

src/corelib/tools/qstring.cpp
src/corelib/tools/qvsnprintf.cpp

index 06e45089a858bdb50967dd857c84abaef8be3759..4c4ddc77debc6da73681b7ebd706314e3ace547d 100644 (file)
@@ -5560,6 +5560,11 @@ QString &QString::vsprintf(const char* cformat, va_list ap)
     return *this;
 }
 
+// va_list mangling has been changed in g++ 4.4
+// Add ABI compatibility hack for g++ 4.3 and below.
+#if defined __ARM_EABI__ && defined __GNUC__ && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+__asm__(".symver _ZN7QString8vsprintfEPKcSt9__va_list, _ZN7QString8vsprintfEPKcPv@@");
+#endif
 /*!
     Returns the string converted to a \c{long long} using base \a
     base, which is 10 by default and must be between 2 and 36, or 0.
index 85f8270ffde107d878421ab83c7ce9beb85c2d9f..a2c9807cfdab6d9bba46e8b19fd8a5cd829e4464 100644 (file)
@@ -104,6 +104,12 @@ int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap)
 
 #endif
 
+// va_list mangling has been changed in g++ 4.4
+// Add ABI compatibility hack for g++ 4.3 and below.
+#if defined __ARM_EABI__ && defined __GNUC__ && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+__asm__(".symver _Z10qvsnprintfPcjPKcSt9__va_list, _Z10qvsnprintfPcjPKcPv@@");
+#endif
+
 /*!
     \relates QByteArray