nano printf + powerpc gcc
Alexander Fedotov
alfedotov@gmail.com
Mon Dec 25 22:44:00 GMT 2017
Hi
I'm experienced a strange printf() for float variables behaviour with
Nano version while regular is fine. It just prins out a garbage (even
with enabled -u _printf_float). After some digging I've managed to
track down issue until this line:
n = _printf_float (data, &prt_data, fp, pfunc, &ap);
Moreover there are number of warnings also in build log:
src_newlib/newlib/libc/stdio/nano-vfprintf.c -o lib_a-nano-svfprintf.o
../../../../../../src_newlib/newlib/libc/stdio/nano-vfprintf.c: In
function '_svfprintf_r':
../../../../../../src_newlib/newlib/libc/stdio/nano-vfprintf.c:645:55:
warning: passing argument 5 of '_printf_float' from incompatible
pointer type
n = _printf_float (data, &prt_data, fp, pfunc, &ap);
^
In file included from
../../../../../../src_newlib/newlib/libc/stdio/nano-vfprintf.c:169:0:
../../../../../../src_newlib/newlib/libc/stdio/nano-vfprintf_local.h:228:1:
note: expected 'struct __va_list_tag (*)[1]' but argument is of type
'struct __va_list_tag **'
_printf_float (struct _reent *data,
^
../../../../../../src_newlib/newlib/libc/stdio/nano-vfprintf.c:650:45:
warning: passing argument 5 of '_printf_i' from incompatible pointer
type
n = _printf_i (data, &prt_data, fp, pfunc, &ap);
^
In file included from
../../../../../../src_newlib/newlib/libc/stdio/nano-vfprintf.c:169:0:
../../../../../../src_newlib/newlib/libc/stdio/nano-vfprintf_local.h:221:1:
note: expected 'struct __va_list_tag (*)[1]' but argument is of type
'struct __va_list_tag **'
_printf_i (struct _reent *data, struct _prt_data_t *pdata, FILE *fp,
It looks like nano written without taking in mind such targets. Here I
found workaround https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14557
that's working.
I'm attaching a patch.
Alex
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-fix-incompatible-pointer-type-for-va_list-in-nano-ve.patch
Type: text/x-patch
Size: 3119 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20171225/7ab0526d/attachment.bin>
More information about the Newlib
mailing list