Hi.
I found a bug in gdb/libiberty/vasprintf.c. Well, actually a
SIGSEGV found it for me. One of the kernel developers here at
QNX provided me with the explanation for the fix, which I have
appended.
Here is the change I made to fix it for me. In vasprintf() I
have added 2 lines before the return, and changed the va_list
parameter being passed to int_vasprintf():
int
vasprintf (result, format, args)
char **result;
const char *format;
#if defined (_BSD_VA_LIST_) && defined (__FreeBSD__)
_BSD_VA_LIST_ args;
#else
va_list args;
#endif
{
/* Handle both array and non-array va_list types. */
va_list temp;
va_copy(temp, args);
return int_vasprintf (result, format, &temp);
}
Thanks.
Graeme Peterson
QNX Tools Group