note: the mangling of 'va_list' has changed in GCC 4.4

7,607 views
Skip to first unread message

Ralf Schneider

unread,
Mar 9, 2010, 3:27:00 PM3/9/10
to andro...@googlegroups.com
Hello,

I switched succesfully to the new version of the NDK.

During compilation I get the following message: "note: the mangling of 'va_list' has changed in GCC 4.4"

I tried to find some info about this topic without much success.
Because my game runs without problem with the new NDK I guess I'm doing everything OK.

Is there a way to disable this note?


David Turner

unread,
Mar 10, 2010, 7:21:13 AM3/10/10
to andro...@googlegroups.com
Your game should do absolutely ok, and there is no simple way to get rid of the warning that I know of (trust me I tried).
The warning message comes from historical reasons. I believe it has been completely removed from the GCC 4.5 sources, but we're not using this yet.

For the record, the issue is that the mangling of 'va_list' has changed between gcc 4.2.1 and 4.4.0 (due to a late corrigenda to the ARM spec, previous versions of the toolchain mangled va_list the same a void*, which was wrong).
This however does *not* affect NDK-generated code because, very fortunately, none of the stable ABIs exposed by the NDK depend on this mangling (this has been checked carefully), so whichever toolchain you use, your code will run on all Android systems. This is very fortunate because GCC 4.4.0 does *not* provide a way to implement the old mangling (shrug). I guess ABI stability was not exactly their focus when they did the change.

However, please update your code if it doesn't build with 4.4.0, because we're really going to get rid of 4.2.1 in the future :-)

Hope this helps






--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.

Ralf Schneider

unread,
Mar 10, 2010, 10:55:46 AM3/10/10
to andro...@googlegroups.com
Ok, thanks for the info.

Unfortunately in my project each cpp file pulls in a header file with contains a va_list, so I see the note on each file being compiled.
I will try to patch gcc with an hex editor and overwrite the string in question with '\0'.

Regards,
Ralf

2010/3/10 David Turner <di...@android.com>

Julien Mercay

unread,
Mar 10, 2010, 11:45:19 AM3/10/10
to andro...@googlegroups.com
Try adding -Wno-psabi to your CFLAGS. It works for me with gcc 4.4.0.

Julien

--
Julien

Ralf Schneider

unread,
Mar 10, 2010, 12:37:07 PM3/10/10
to andro...@googlegroups.com
Yes, this works!
Thanks Julien!

2010/3/10 Julien Mercay <jul...@mercay.org>
Reply all
Reply to author
Forward
0 new messages