Restore QtCore ABI compatibility with binaries built with g++ 4.3 on armel Once Qt...
authorModestas Vainius <modax@debian.org>
Wed, 18 Apr 2018 20:45:31 +0000 (21:45 +0100)
committerLisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
Wed, 18 Apr 2018 20:45:31 +0000 (21:45 +0100)
commit8f2c79c8a7d08323e2b2a5f8788d65bf041819f4
tree6e96d25c2d76eb4d3f3a6cd12531346974f7f6f9
parentd3605f8eab7d7e7d5491021cdbbce76c00e402f4
Restore QtCore ABI compatibility with binaries built with g++ 4.3 on armel Once Qt is rebuilt with g++ 4.4, it becomes ABI incompatible with binaries built with g++ 4.3 on armel. That's because g++ 4.4 mangles va_list differently on armel. As a result, affected symbols are those which have va_list type in their argument list. Qt exports 2 such symbols: . qvsnprintf(char *str, size_t n, const char *fmt, va_list ap); QString &QString::vsprintf(const char* cformat, va_list ap); . The patch uses .symver assembler directive to add aliases for the symbols above. Those aliases are mangled in the same way as g++ 4.3 would mangle original symbols.

Gbp-Pq: Name 92_armel_gcc43_valist_compat.diff
src/corelib/tools/qstring.cpp
src/corelib/tools/qvsnprintf.cpp