Skip to content

Commit 1f0aaec

Browse files
committed
lib/utils/printf: Apply workaround for static linking with uclibc.
uclibc objects call __GI_vsnprintf().
1 parent 645045a commit 1f0aaec

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

lib/utils/printf.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@ STATIC void strn_print_strn(void *data, const char *str, size_t len) {
102102
strn_print_env->remain -= len;
103103
}
104104

105+
#ifdef __GNUC__
106+
// uClibc requires this alias to be defined, or there may be link errors
107+
// when linkings against it statically.
108+
int __GI_vsnprintf(char *str, size_t size, const char *fmt, va_list ap) __attribute__((weak, alias ("vsnprintf")));
109+
#endif
110+
105111
int vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
106112
strn_print_env_t strn_print_env = {str, size};
107113
mp_print_t print = {&strn_print_env, strn_print_strn};

0 commit comments

Comments
 (0)