View Single Post
Posts: 3,074 | Thanked: 12,964 times | Joined on Mar 2010 @ Sofia,Bulgaria
#137
Originally Posted by AapoRantalainen View Post
I'm not sure is this anyhow related or what to do about it.

Error is:
Code:
/targets/FREMANTLE_ARMEL_GCC472/usr/include/QtCore/qstring.h:187:14: note: the mangling of 'va_list' has changed in GCC 4.4
tools/icheck/parser/src/libs/cplusplus/CppDocument.cpp:101: undefined reference to `QString::vsprintf(char const*, std::__va_list)'
(file /usr/include/QtCore/qstring.h comes from package libqt4-dev, which is version 1:4.7.4~git20110505+cssu10

Line in error:
Code:
/usr/include/QtCore/qstring.h:187
   QString    &vsprintf(const char *format, va_list ap)
Recursively grepping over qtm /CppDocument.cpp:101 is the only occurrence of vsprintf (which is currently just commented out).
That's exactly the same problem that commit (in CSSU Qt) workarounds, see http://www.emdebian.org/svn/current/...st_compat.diff for a better explanation

In short, gcc >= 4.4 changes the mangling of vararg functions, effectively breaking the ABI. The workaround is to alias the "new" function name with the "old" function name.

However, your problem is that you use gcc 4.7.2 to build against Qt which is build with gcc 4.2 - gcc tries to find a symbol with the new mangling but it (of course) is missing in the old gcc compiled lib.

So, you should either compile with gcc 4.2 or use Qt from cssu-thumb

Or maybe you could alias the new name with the old name, maybe something like:

Code:
#if defined(__ARM_EABI__) && defined(__GNUC__) && (__GNUC__ < 4 || __GNUC__ == 4 && __GNUC_MINOR__ < 4)
__asm__(".symver _ZN7QString8vsprintfEPKcPv@, _ZN7QString8vsprintfEPKcSt9__va_list@");
#endif
would do the job. I don't know how smart are gcc and ld.

EDIT:
it seems you could pass
Code:
--defsym=_ZN7QString8vsprintfEPKcSt9__va_list=_ZN7QString8vsprintfEPKcPv@
to the linker:
__________________
Never fear. I is here.

720p video support on N900,SmartReflex on N900,Keyboard and mouse support on N900
Nothing is impossible - Stable thumb2 on n900

Community SSU developer
kernel-power developer and maintainer


Last edited by freemangordon; 2013-11-05 at 17:09.
 

The Following 3 Users Say Thank You to freemangordon For This Useful Post: