More missing symbols.
Tobias Poschwatta
tp at fonz.de
Sat Nov 29 20:51:50 UTC 2008
On Sat, Nov 29, 2008 at 09:42:53PM +0100, Denys Vlasenko wrote:
> This one carries this comment:
>
> /* exposing these would be fundamentally *wrong*! fix you, instead! */
> /* libc_hidden_proto(fputc_unlocked) */
> strong_alias(__fputc_unlocked,fputc_unlocked)
> /* exposing these would be fundamentally *wrong*! fix you, instead! */
> /* libc_hidden_def(fputc_unlocked) */
I've seen these comments, too. But since recently, gcc-4.3 compilation
failes with "undefined reference to `fputc_unlocked'" messages.
Also, in include/stdio.h, there's:
#ifdef __USE_MISC
/* Faster version when locking is not necessary.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fputc_unlocked (int __c, FILE *__stream);
libc_hidden_proto(fputc_unlocked)
#endif /* Use MISC. */
Afaict, __USE_MISC is defined if __BSD_SOURCE or __SVID_SOURCE is.
So, if there's no exported 'fputc_unlocked' symbol in libc.so, is an
extern declaration correct here?
T.
More information about the uClibc
mailing list