Fix Solaris missing definition.
__printf__ is safer to not be replaced by preprocessor than printf

On some platforms it was being replaced by rpl_printf, and that string
was unknown to the GCC attribute.