use fputws_unlocked
MirkoVogt
lists at nanl.de
Tue May 24 12:34:01 UTC 2011
Hello,
while working with libuClibc-0.9.30.1.so I came along freezes in stdio
which led to stack dumps as follows:
#0 0x4115458c in nanosleep () from /lib/libc.so.0
#1 0x41051e5c in nanosleep () from /lib/libpthread.so.0
#2 0x410514f8 in __pthread_acquire () from /lib/libpthread.so.0
#3 0x4104f360 in pthread_mutex_lock () from /lib/libpthread.so.0
#4 0x4118d900 in pthread_mutex_lock () from /lib/libc.so.0
#5 0x41170b20 in fputws () from /lib/libc.so.0
#6 0x4116f668 in _vfwprintf_internal () from /lib/libc.so.0
#7 0x4116ecfc in vswprintf () from /lib/libc.so.0
While browsing through the code I found the following:
erdgeist at ubuntu:~/base-wrt.git/branches/backfire/build_dir/toolchain-arm_v5te_gcc-4.3.3+cs_uClibc-0.9.30.1_eabi/uClibc-0.9.30.1/libc/stdio$
grep OUTPUT _vfprintf.c
1215:#define OUTPUT(F,S) fputs_unlocked(S,F)
1248:#define OUTPUT(F,S) fputws(S,F)
So the second macro should read fputws_unlocked, too. I've verified
that the freezes don't appear anymore after applying the following
simple patch: http://pastebin.com/MiC6X0VX
Regards,
erdgeist
More information about the uClibc
mailing list