Restore QtCore ABI compatibility with binaries built with g++ 4.3 on armel Once Qt...
authorModestas Vainius <modax@debian.org>
Fri, 1 May 2015 19:35:39 +0000 (19:35 +0000)
committerLisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
Fri, 1 May 2015 19:35:39 +0000 (19:35 +0000)
Gbp-Pq: Name 92_armel_gcc43_valist_compat.diff

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

index 051b95c4197d3c16ee85702d1cf182dcda1bacd0..dede4c9d246e2c6f1ee6838e7ed181ea806a8051 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 914037eaae8393d8c8b07b1f9b514185aa518ed6..e3012519850f48c0b6535de82260e01c1d81fbc4 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