http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54943



--- Comment #4 from Mikael Pettersson <mikpe at it dot uu.se> 2012-10-17 
13:30:09 UTC ---

Yes the EABI changes things, but I think the user error is that:



1. your sprintf uses homegrown varargs-parsing code, which won't work with

EABI; you should use <stdarg.h> as supplied by gcc itself, or



2. somehow you're linking together library code compiled for pre-EABI with

application code compiled for EABI, though I would have expected the linker to

detect and reject such invalid combinations.



BTW, the test case is invalid, it's missing a needed #include <stdio.h> (you

mustn't call variadic functions without proper declarations in scope), and the

call to sprintf should call snprintf (or drop the ", 32" actual parameter).



Either way the error isn't in gcc.

Reply via email to