There's a bug in either GCC 2.95.2 or glibc that causes rts/rts-va.c to fail to compile with GCC 2.95.2 on GNU/Linux/sparc. The complaint is that va_start is being used with the wrong number of arguments. The problem is that some glibc header previously included stdarg.h, and then, including varargs.h doesn't have the desired effect. This patch introduces an ugly, but functional work-around.
--- gcc/p/rts/rts-va.c~ Sun Jun 4 06:02:57 2000 +++ gcc/p/rts/rts-va.c Mon Jan 15 05:07:57 2001 @@ -32,6 +32,9 @@ */
#include "rts.h" +#if defined __linux__ && defined __sparc__ && __GNUC__ == 2 && __GNUC_MINOR__ == 95 +#undef _STDARG_H +#endif #include "varargs.h"
int