Re: [PATCH v2] kconfig/kbuild: define _POSIX_C_SOURCE

From: Arnaud Lacombe
Date: Sat Apr 09 2011 - 23:34:30 EST


Hi,

On Sat, Apr 9, 2011 at 10:09 PM, Valentin Ochs <a@xxxxxx> wrote:
> The three patched files use PATH_MAX without defining the required
> _POSIX_C_SOURCE feature test macro.  This prevents compilation with the
> musl libc.  The patch applies to 2.6.38.2.
>
> Changes since v1:
>  - fix scripts/kconfig/lex.zconf.c_shipped
this file is autogenerated from zconf.l, which should be updated as
well. I'm not sure how you searched for PATH_MAX, but you're still
missing `confdata.c' and `nconf.c'.

I had a quick look to different libc implementation, glibc and uClibc
default to _POSIX_C_SOURCE == 200112L, FreeBSD >8.0 defaults to
200809L for >8.0, FreeBSD 7.x to 200112L. None of these seems to
requires _POSIX_C_SOURCE to define PATH_MAX, so I'm not certain of the
requirement of the change. Moreover, musl libc seems to be really
young (first public version less than two month old), and still marked
"alpha", not sure if its the best time to start fixing things.

- Arnaud

>  - fix scripts/kconfig/mconf.c
>
> Sorry about the incomplete patch I sent a few hours ago, it won't happen
> again. :)
>
> Best regards,
> Valentin
>
> Signed-off-by: Valentin Ochs <a@xxxxxx>
> ---
> --- a/scripts/basic/fixdep.c
> +++ b/scripts/basic/fixdep.c
> @@ -102,7 +102,7 @@
>  * through arch/um/include/uml-config.h; this fixdep "bug" makes sure that
>  * those files will have correct dependencies.
>  */
>
> +#define _POSIX_C_SOURCE 200809L
>  #include <sys/types.h>
>  #include <sys/stat.h>
>  #include <sys/mman.h>
> --- a/scripts/kconfig/lex.zconf.c_shipped
> +++ b/scripts/kconfig/lex.zconf.c_shipped
> @@ -35,6 +35,7 @@
>  /* First, we deal with  platform-specific or compiler-specific issues. */
>
>  /* begin standard C headers. */
> +#define _POSIX_C_SOURCE 200809L
>  #include <stdio.h>
>  #include <string.h>
>  #include <errno.h>
> --- a/scripts/kconfig/mconf.c
> +++ b/scripts/kconfig/mconf.c
> @@ -7,7 +7,7 @@
>  *
>  * i18n, 2005, Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
>  */
>
> +#define _POSIX_C_SOURCE 200809L
>  #include <ctype.h>
>  #include <errno.h>
>  #include <fcntl.h>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/