lib/utils/printf: Exclude __GI_vsnprintf alias for gcc 9 and above.

See issue #4457.
This commit is contained in:
Damien George 2019-02-06 01:12:51 +11:00 committed by Craig Forbes
parent 36e2faf8d2
commit b3939e2513

View File

@ -103,9 +103,11 @@ STATIC void strn_print_strn(void *data, const char *str, size_t len) {
strn_print_env->remain -= len;
}
#if defined(__GNUC__) && !defined(__clang__)
#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 9
// uClibc requires this alias to be defined, or there may be link errors
// when linkings against it statically.
// GCC 9 gives a warning about missing attributes so it's excluded until
// uClibc+GCC9 support is needed.
int __GI_vsnprintf(char *str, size_t size, const char *fmt, va_list ap) __attribute__((weak, alias ("vsnprintf")));
#endif