I believe this is the same problem as https://gcc.gnu.org/ml/gcc-patches/2008-07/msg00292.html
The asprinf declaration is messed up when using clang to build gdb. diff --git a/include/libiberty.h b/include/libiberty.h index b33dd65..a294903 100644 --- a/include/libiberty.h +++ b/include/libiberty.h @@ -625,8 +625,10 @@ extern int pwait (int, int *, int); /* Like sprintf but provides a pointer to malloc'd storage, which must be freed by the caller. */ +#ifndef asprintf extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2; #endif +#endif /* Like asprintf but allocates memory without fail. This works like xmalloc. */