Restore QtCore ABI compatibility with binaries built with g++ 4.3 on armel Once Qt...
authorModestas Vainius <modax@debian.org>
Mon, 24 Jan 2022 10:55:59 +0000 (10:55 +0000)
committerUtkarsh Gupta <utkarsh@debian.org>
Mon, 24 Jan 2022 10:55:59 +0000 (10:55 +0000)
Forward: not-needed

Gbp-Pq: Name 92_armel_gcc43_valist_compat.diff

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

index 3b046edbb3366af23c1a45570ec57115a142dfa2..6f5db649f612ebb4969a43b3d129ece6933ef000 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 8ac6433f5848811b75086f2abb6aee15bc9d2b85..aa0ab14692dd27f3c5959ea68abc5dba3fe623c1 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