[LEDE-DEV] [PATCH] fix uClibc-ng scanf check

Alexey Brodkin Alexey.Brodkin at synopsys.com
Fri Jun 3 02:58:19 PDT 2016


Hi Waldemar,

On Fri, 2016-06-03 at 04:23 +0200, Waldemar Brodkorb wrote:
> uClibc-ng tries to be compatible with GNU libc and defines
> __GLIBC__ and pretend to be version 2.2.
> We once changed it to 2.10, but then some hard to fix problems
> in different software packages (gcc) occured.
> It would be better if we disable the special GNU libc checks
> for uClibc-ng here. uClibc-ng implements the required scanf
> functionality.
> 
> Signed-off-by: Waldemar Brodkorb <wbx at uclibc-ng.org>
> ---
>  configure.ac | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configure.ac b/configure.ac
> index f36b18c..4661c0d 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -581,7 +581,7 @@ AC_CACHE_VAL([scanf_cv_alloc_modifier],
>       #include <stdio.h>
>       #include <unistd.h>
>  
> -     #ifdef __GLIBC__
> +     #if defined(__GLIBC__) && !defined(__UCLIBC__)
>  
>       #if !(__GLIBC_PREREQ(2, 7))
>       #error %m is not available

Even though this is a very minor and clean change I don't like this
approach. We're again implicitly assume something.

IMHO much better approach would be to include a compile test for
small source that uses scanf() with "%as"/"%ms".

That way we may remove all dependencies on either GLIBC/UCLIBC/MUSL etc.

-Alexey


More information about the Lede-dev mailing list