[PATCH] Use the _unlocked stdio macros only when they're all available

Tanguy Pruvot tanguy.pruvot at gmail.com
Thu Jun 30 02:35:18 UTC 2011


> On Wednesday 29 June 2011 21:19, Daniel Fandrich wrote:
>> #if defined(__GLIBC__) && (__GLIBC__ < 2 || __GLIBC_MINOR__ < 1)
>> # undef HAVE_NET_ETHERNET_H
>> +# undef HAVE_UNLOCKED_STDIO
>> #endif
> 
> Do you use such an old glibc?
> 
>> #if defined(__UCLIBC_MAJOR__)
>> @@ -386,6 +388,7 @@ typedef unsigned smalluint;
>> # undef HAVE_STRSEP
>> # undef HAVE_STRSIGNAL
>> # undef HAVE_STRVERSCMP
>> +# undef HAVE_UNLOCKED_STDIO
>> # undef HAVE_VASPRINTF
>> # undef HAVE_NET_ETHERNET_H
>> #endif
> 
> Is it __WATCOMC__ block? Watcom doesn't have unlocked stuff?
> All of it? At least unlocked getc/putc should be available...
> 
>> @@ -424,6 +427,7 @@ typedef unsigned smalluint;
>> # undef HAVE_STPCPY
>> # undef HAVE_STRCHRNUL
>> # undef HAVE_STRVERSCMP
>> +# undef HAVE_UNLOCKED_STDIO
>> # undef HAVE_NET_ETHERNET_H
>> #endif
> 
> Same questions for Android...
> 
> -- 
> vda
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox



Ok, in fact build is working fine with STDIO unlocked functions...

./prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-arm/usr/include/stdio.h:322:int   getc_unlocked(FILE *);
./prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-arm/usr/include/stdio.h:422:#define      getc_unlocked(fp)       __sgetc(fp)
./prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-arm/usr/include/stdio.h:437:#define getchar_unlocked()   getc_unlocked(stdin)
./bionic/libc/stdio/getc.c:37: * A subroutine version of the macro getc_unlocked.
./bionic/libc/stdio/getc.c:39:#undef getc_unlocked
./bionic/libc/stdio/getc.c:42:getc_unlocked(FILE *fp)
./bionic/libc/stdio/getchar.c:44:       return (getc_unlocked(stdin));
./bionic/libc/include/stdio.h:324:int    getc_unlocked(FILE *);
./bionic/libc/include/stdio.h:424:#define       getc_unlocked(fp)       __sgetc(fp)
./bionic/libc/include/stdio.h:439:#define getchar_unlocked()    getc_unlocked(stdin)




More information about the busybox mailing list