| From 7bbde67cb2dc52c04bd7020689a1227bddfa1b06 Mon Sep 17 00:00:00 2001 |
| From: Damien George <damien.p.george@gmail.com> |
| Date: Wed, 6 Feb 2019 01:12:51 +1100 |
| Subject: [PATCH] lib/utils/printf: Exclude __GI_vsnprintf alias for gcc 9 and |
| above. |
| |
| See issue #4457. |
| |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| [Retrieved from: |
| https://github.com/micropython/micropython/commit/7bbde67cb2dc52c04bd7020689a1227bddfa1b06] |
| --- |
| lib/utils/printf.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/lib/utils/printf.c b/lib/utils/printf.c |
| index 1ceeea39ff..0c21fc4c0a 100644 |
| --- a/lib/utils/printf.c |
| +++ b/lib/utils/printf.c |
| @@ -99,9 +99,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 |
| |