Patchwork [08/19] bison: Fix for gets being removed from eglibc 2.16

login
register
mail settings
Submitter Khem Raj
Date July 8, 2012, 4:10 p.m.
Message ID <4d738395bf7cd05c924a9facf9677bab784cb1b6.1341763346.git.raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/31383/
State New
Headers show

Comments

Khem Raj - July 8, 2012, 4:10 p.m.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../recipes-devtools/bison/bison/remove-gets.patch |   20 ++++++++++++++++++++
 meta/recipes-devtools/bison/bison_2.5.bb           |    6 ++++--
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
ml@communistcode.co.uk - July 28, 2012, 10:40 a.m.
On 08/07/2012 17:10, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>   .../recipes-devtools/bison/bison/remove-gets.patch |   20 ++++++++++++++++++++
>   meta/recipes-devtools/bison/bison_2.5.bb           |    6 ++++--
>   2 files changed, 24 insertions(+), 2 deletions(-)
>   create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>
> diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch b/meta/recipes-devtools/bison/bison/remove-gets.patch
> new file mode 100644
> index 0000000..2dfa00f
> --- /dev/null
> +++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
> @@ -0,0 +1,20 @@
> +gets has been removed from eglibc 2.16
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +
> +Upstream-Status: Pending
> +Index: bison-2.5/lib/stdio.in.h
> +===================================================================
> +--- bison-2.5.orig/lib/stdio.in.h	2012-07-04 09:09:48.336532195 -0700
> ++++ bison-2.5/lib/stdio.in.h	2012-07-04 09:10:22.868533884 -0700
> +@@ -180,8 +180,10 @@
> + /* It is very rare that the developer ever has full control of stdin,
> +    so any use of gets warrants an unconditional warning.  Assume it is
> +    always declared, since it is required by C89.  */
> ++#if defined gets
> + #undef gets
> + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
> ++#endif
> +
> + #if @GNULIB_FOPEN@
> + # if @REPLACE_FOPEN@
> diff --git a/meta/recipes-devtools/bison/bison_2.5.bb b/meta/recipes-devtools/bison/bison_2.5.bb
> index fc3bb6d..687f06a 100644
> --- a/meta/recipes-devtools/bison/bison_2.5.bb
> +++ b/meta/recipes-devtools/bison/bison_2.5.bb
> @@ -9,14 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
>   SECTION = "devel"
>   DEPENDS = "bison-native flex-native"
>   
> -PR = "r1"
> +PR = "r2"
>   
>   BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
>   	   file://m4.patch \
>   	  "
>   
>   SRC_URI = "${BASE_SRC_URI} \
> -        file://fix_cross_manpage_building.patch "
> +           file://fix_cross_manpage_building.patch \
> +           file://remove-gets.patch \
> +          "
>   
>   SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
>   SRC_URI[sha256sum] = "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"

Hi Khem,

This patch doesn't fix the Bison gets issue for me, I had to create a 
patch that removed the line altogether to get it to compile 
successfully. Even though gets isn't present on my system it still 
matches the #if defined gets and tries to #undef gets which results in 
an error.

However, I don't think removing the line altogether is the correct fix 
for the global userbase...

Regards,
Jack.
Khem Raj - July 28, 2012, 6:45 p.m.
On Sat, Jul 28, 2012 at 3:40 AM, Jack Mitchell <ml@communistcode.co.uk> wrote:
> On 08/07/2012 17:10, Khem Raj wrote:
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>   .../recipes-devtools/bison/bison/remove-gets.patch |   20
>> ++++++++++++++++++++
>>   meta/recipes-devtools/bison/bison_2.5.bb           |    6 ++++--
>>   2 files changed, 24 insertions(+), 2 deletions(-)
>>   create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>>
>> diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch
>> b/meta/recipes-devtools/bison/bison/remove-gets.patch
>> new file mode 100644
>> index 0000000..2dfa00f
>> --- /dev/null
>> +++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
>> @@ -0,0 +1,20 @@
>> +gets has been removed from eglibc 2.16
>> +
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +
>> +Upstream-Status: Pending
>> +Index: bison-2.5/lib/stdio.in.h
>> +===================================================================
>> +--- bison-2.5.orig/lib/stdio.in.h      2012-07-04 09:09:48.336532195
>> -0700
>> ++++ bison-2.5/lib/stdio.in.h   2012-07-04 09:10:22.868533884 -0700
>> +@@ -180,8 +180,10 @@
>> + /* It is very rare that the developer ever has full control of stdin,
>> +    so any use of gets warrants an unconditional warning.  Assume it is
>> +    always declared, since it is required by C89.  */
>> ++#if defined gets
>> + #undef gets
>> + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
>> ++#endif
>> +
>> + #if @GNULIB_FOPEN@
>> + # if @REPLACE_FOPEN@
>> diff --git a/meta/recipes-devtools/bison/bison_2.5.bb
>> b/meta/recipes-devtools/bison/bison_2.5.bb
>> index fc3bb6d..687f06a 100644
>> --- a/meta/recipes-devtools/bison/bison_2.5.bb
>> +++ b/meta/recipes-devtools/bison/bison_2.5.bb
>> @@ -9,14 +9,16 @@ LIC_FILES_CHKSUM =
>> "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
>>   SECTION = "devel"
>>   DEPENDS = "bison-native flex-native"
>>   -PR = "r1"
>> +PR = "r2"
>>     BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
>>            file://m4.patch \
>>           "
>>     SRC_URI = "${BASE_SRC_URI} \
>> -        file://fix_cross_manpage_building.patch "
>> +           file://fix_cross_manpage_building.patch \
>> +           file://remove-gets.patch \
>> +          "
>>     SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
>>   SRC_URI[sha256sum] =
>> "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"
>
>
> Hi Khem,
>
> This patch doesn't fix the Bison gets issue for me, I had to create a patch
> that removed the line altogether to get it to compile successfully. Even
> though gets isn't present on my system it still matches the #if defined gets
> and tries to #undef gets which results in an error.
>
> However, I don't think removing the line altogether is the correct fix for
> the global userbase...
>

send me the preprocessed output.

> Regards,
> Jack.
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
ml@communistcode.co.uk - July 28, 2012, 7:49 p.m.
On 28/07/2012 19:45, Khem Raj wrote:
> On Sat, Jul 28, 2012 at 3:40 AM, Jack Mitchell <ml@communistcode.co.uk> wrote:
>> On 08/07/2012 17:10, Khem Raj wrote:
>>>
>>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> ---
>>>    .../recipes-devtools/bison/bison/remove-gets.patch |   20
>>> ++++++++++++++++++++
>>>    meta/recipes-devtools/bison/bison_2.5.bb           |    6 ++++--
>>>    2 files changed, 24 insertions(+), 2 deletions(-)
>>>    create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>>>
>>> diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch
>>> b/meta/recipes-devtools/bison/bison/remove-gets.patch
>>> new file mode 100644
>>> index 0000000..2dfa00f
>>> --- /dev/null
>>> +++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
>>> @@ -0,0 +1,20 @@
>>> +gets has been removed from eglibc 2.16
>>> +
>>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> +
>>> +Upstream-Status: Pending
>>> +Index: bison-2.5/lib/stdio.in.h
>>> +===================================================================
>>> +--- bison-2.5.orig/lib/stdio.in.h      2012-07-04 09:09:48.336532195
>>> -0700
>>> ++++ bison-2.5/lib/stdio.in.h   2012-07-04 09:10:22.868533884 -0700
>>> +@@ -180,8 +180,10 @@
>>> + /* It is very rare that the developer ever has full control of stdin,
>>> +    so any use of gets warrants an unconditional warning.  Assume it is
>>> +    always declared, since it is required by C89.  */
>>> ++#if defined gets
>>> + #undef gets
>>> + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
>>> ++#endif
>>> +
>>> + #if @GNULIB_FOPEN@
>>> + # if @REPLACE_FOPEN@
>>> diff --git a/meta/recipes-devtools/bison/bison_2.5.bb
>>> b/meta/recipes-devtools/bison/bison_2.5.bb
>>> index fc3bb6d..687f06a 100644
>>> --- a/meta/recipes-devtools/bison/bison_2.5.bb
>>> +++ b/meta/recipes-devtools/bison/bison_2.5.bb
>>> @@ -9,14 +9,16 @@ LIC_FILES_CHKSUM =
>>> "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
>>>    SECTION = "devel"
>>>    DEPENDS = "bison-native flex-native"
>>>    -PR = "r1"
>>> +PR = "r2"
>>>      BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
>>>             file://m4.patch \
>>>            "
>>>      SRC_URI = "${BASE_SRC_URI} \
>>> -        file://fix_cross_manpage_building.patch "
>>> +           file://fix_cross_manpage_building.patch \
>>> +           file://remove-gets.patch \
>>> +          "
>>>      SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
>>>    SRC_URI[sha256sum] =
>>> "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"
>>
>>
>> Hi Khem,
>>
>> This patch doesn't fix the Bison gets issue for me, I had to create a patch
>> that removed the line altogether to get it to compile successfully. Even
>> though gets isn't present on my system it still matches the #if defined gets
>> and tries to #undef gets which results in an error.
>>
>> However, I don't think removing the line altogether is the correct fix for
>> the global userbase...
>>
>
> send me the preprocessed output.

I'm not sure quite what you mean by pre-processed output but here is my 
do_compile log which is where it fails.

Attached(1)

Regards,
Jack

>
>
>> Regards,
>> Jack.
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
DEBUG: Executing shell function do_compile
NOTE: make -j 4
echo 2.5 > .version-t && mv .version-t .version
make  all-recursive
make[1]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5'
Making all in build-aux
make[2]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/build-aux'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/build-aux'
Making all in po
make[2]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/po'
make[2]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/po'
Making all in runtime-po
make[2]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/runtime-po'
make[2]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/runtime-po'
Making all in lib
make[2]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
rm -f alloca.h-t alloca.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./alloca.in.h; \
} > alloca.h-t && \
mv -f alloca.h-t alloca.h
rm -f arg-nonnull.h-t arg-nonnull.h && \
sed -n -e '/GL_ARG_NONNULL/,$p' \
  < ../build-aux/arg-nonnull.h \
  > arg-nonnull.h-t && \
mv arg-nonnull.h-t arg-nonnull.h
rm -f c++defs.h-t c++defs.h && \
sed -n -e '/_GL_CXXDEFS/,$p' \
  < ../build-aux/c++defs.h \
  > c++defs.h-t && \
mv c++defs.h-t c++defs.h
rm -f configmake.h-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  echo '#define PREFIX "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr"'; \
  echo '#define EXEC_PREFIX "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr"'; \
  echo '#define BINDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/bin"'; \
  echo '#define SBINDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/sbin"'; \
  echo '#define LIBEXECDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/libexec"'; \
  echo '#define DATAROOTDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share"'; \
  echo '#define DATADIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share"'; \
  echo '#define SYSCONFDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/etc"'; \
  echo '#define SHAREDSTATEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/com"'; \
  echo '#define LOCALSTATEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/var"'; \
  echo '#define INCLUDEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include"'; \
  echo '#define OLDINCLUDEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include"'; \
  echo '#define DOCDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define INFODIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/info"'; \
  echo '#define HTMLDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define DVIDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define PDFDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define PSDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define LIBDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/lib"'; \
  echo '#define LISPDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/emacs/site-lisp"'; \
  echo '#define LOCALEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/locale"'; \
  echo '#define MANDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/man"'; \
  echo '#define MANEXT ""'; \
  echo '#define PKGDATADIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/bison"'; \
  echo '#define PKGINCLUDEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include/bison"'; \
  echo '#define PKGLIBDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/lib/bison"'; \
  echo '#define PKGLIBEXECDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/libexec/bison"'; \
} | sed '/""/d' > configmake.h-t && \
if test -f configmake.h && cmp configmake.h-t configmake.h > /dev/null; then \
  rm -f configmake.h-t; \
else \
  rm -f configmake.h; mv configmake.h-t configmake.h; \
fi
rm -f warn-on-use.h-t warn-on-use.h && \
sed -n -e '/^.ifndef/,$p' \
  < ../build-aux/warn-on-use.h \
  > warn-on-use.h-t && \
mv warn-on-use.h-t warn-on-use.h
rm -f unitypes.h-t unitypes.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./unitypes.in.h; \
} > unitypes.h-t && \
mv -f unitypes.h-t unitypes.h
rm -f uniwidth.h-t uniwidth.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./uniwidth.in.h; \
} > uniwidth.h-t && \
mv -f uniwidth.h-t uniwidth.h
rm -f fcntl.h-t fcntl.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_FCNTL_H''@|<fcntl.h>|g' \
      -e 's|@''GNULIB_FCNTL''@|1|g' \
      -e 's|@''GNULIB_NONBLOCKING''@|1|g' \
      -e 's|@''GNULIB_OPEN''@|1|g' \
      -e 's|@''GNULIB_OPENAT''@|0|g' \
      -e 's|@''HAVE_FCNTL''@|1|g' \
      -e 's|@''HAVE_OPENAT''@|1|g' \
      -e 's|@''REPLACE_FCNTL''@|1|g' \
      -e 's|@''REPLACE_OPEN''@|0|g' \
      -e 's|@''REPLACE_OPENAT''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./fcntl.in.h; \
} > fcntl.h-t && \
mv fcntl.h-t fcntl.h
rm -f inttypes.h-t inttypes.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's/@''HAVE_INTTYPES_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_INTTYPES_H''@|<inttypes.h>|g' \
      -e 's/@''PRI_MACROS_BROKEN''@/0/g' \
      -e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \
      -e 's/@''HAVE_LONG_LONG_INT''@/1/g' \
      -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/1/g' \
      -e 's/@''PRIPTR_PREFIX''@/"l"/g' \
      -e 's/@''GNULIB_IMAXABS''@/0/g' \
      -e 's/@''GNULIB_IMAXDIV''@/0/g' \
      -e 's/@''GNULIB_STRTOIMAX''@/0/g' \
      -e 's/@''GNULIB_STRTOUMAX''@/0/g' \
      -e 's/@''HAVE_DECL_IMAXABS''@/1/g' \
      -e 's/@''HAVE_DECL_IMAXDIV''@/1/g' \
      -e 's/@''HAVE_DECL_STRTOIMAX''@/1/g' \
      -e 's/@''HAVE_DECL_STRTOUMAX''@/1/g' \
      -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/1/g' \
      -e 's/@''INT64_MAX_EQ_LONG_MAX''@/1/g' \
      -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/1/g' \
      -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/1/g' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./inttypes.in.h; \
} > inttypes.h-t && \
mv inttypes.h-t inttypes.h
rm -f math.h-t math.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|<math.h>|g' \
      -e 's|@''GNULIB_ACOSL''@|0|g' \
      -e 's|@''GNULIB_ASINL''@|0|g' \
      -e 's|@''GNULIB_ATANL''@|0|g' \
      -e 's|@''GNULIB_CEIL''@|0|g' \
      -e 's|@''GNULIB_CEILF''@|0|g' \
      -e 's|@''GNULIB_CEILL''@|0|g' \
      -e 's|@''GNULIB_COSL''@|0|g' \
      -e 's|@''GNULIB_EXPL''@|0|g' \
      -e 's|@''GNULIB_FLOOR''@|0|g' \
      -e 's|@''GNULIB_FLOORF''@|0|g' \
      -e 's|@''GNULIB_FLOORL''@|0|g' \
      -e 's|@''GNULIB_FREXP''@|1|g' \
      -e 's|@''GNULIB_FREXPL''@|1|g' \
      -e 's|@''GNULIB_ISFINITE''@|0|g' \
      -e 's|@''GNULIB_ISINF''@|0|g' \
      -e 's|@''GNULIB_ISNAN''@|1|g' \
      -e 's|@''GNULIB_ISNANF''@|1|g' \
      -e 's|@''GNULIB_ISNAND''@|1|g' \
      -e 's|@''GNULIB_ISNANL''@|1|g' \
      -e 's|@''GNULIB_LDEXPL''@|1|g' \
      -e 's|@''GNULIB_LOGB''@|0|g' \
      -e 's|@''GNULIB_LOGL''@|0|g' \
      -e 's|@''GNULIB_ROUND''@|0|g' \
      -e 's|@''GNULIB_ROUNDF''@|0|g' \
      -e 's|@''GNULIB_ROUNDL''@|0|g' \
      -e 's|@''GNULIB_SIGNBIT''@|1|g' \
      -e 's|@''GNULIB_SINL''@|0|g' \
      -e 's|@''GNULIB_SQRTL''@|0|g' \
      -e 's|@''GNULIB_TANL''@|0|g' \
      -e 's|@''GNULIB_TRUNC''@|0|g' \
      -e 's|@''GNULIB_TRUNCF''@|0|g' \
      -e 's|@''GNULIB_TRUNCL''@|0|g' \
      < ./math.in.h | \
  sed -e 's|@''HAVE_ACOSL''@|1|g' \
      -e 's|@''HAVE_ASINL''@|1|g' \
      -e 's|@''HAVE_ATANL''@|1|g' \
      -e 's|@''HAVE_COSL''@|1|g' \
      -e 's|@''HAVE_EXPL''@|1|g' \
      -e 's|@''HAVE_ISNANF''@|1|g' \
      -e 's|@''HAVE_ISNAND''@|1|g' \
      -e 's|@''HAVE_ISNANL''@|0|g' \
      -e 's|@''HAVE_LOGL''@|1|g' \
      -e 's|@''HAVE_SINL''@|1|g' \
      -e 's|@''HAVE_SQRTL''@|1|g' \
      -e 's|@''HAVE_TANL''@|1|g' \
      -e 's|@''HAVE_DECL_ACOSL''@|1|g' \
      -e 's|@''HAVE_DECL_ASINL''@|1|g' \
      -e 's|@''HAVE_DECL_ATANL''@|1|g' \
      -e 's|@''HAVE_DECL_CEILF''@|1|g' \
      -e 's|@''HAVE_DECL_CEILL''@|1|g' \
      -e 's|@''HAVE_DECL_COSL''@|1|g' \
      -e 's|@''HAVE_DECL_EXPL''@|1|g' \
      -e 's|@''HAVE_DECL_FLOORF''@|1|g' \
      -e 's|@''HAVE_DECL_FLOORL''@|1|g' \
      -e 's|@''HAVE_DECL_FREXPL''@|1|g' \
      -e 's|@''HAVE_DECL_LDEXPL''@|1|g' \
      -e 's|@''HAVE_DECL_LOGB''@|1|g' \
      -e 's|@''HAVE_DECL_LOGL''@|1|g' \
      -e 's|@''HAVE_DECL_ROUND''@|1|g' \
      -e 's|@''HAVE_DECL_ROUNDF''@|1|g' \
      -e 's|@''HAVE_DECL_ROUNDL''@|1|g' \
      -e 's|@''HAVE_DECL_SINL''@|1|g' \
      -e 's|@''HAVE_DECL_SQRTL''@|1|g' \
      -e 's|@''HAVE_DECL_TANL''@|1|g' \
      -e 's|@''HAVE_DECL_TRUNC''@|1|g' \
      -e 's|@''HAVE_DECL_TRUNCF''@|1|g' \
      -e 's|@''HAVE_DECL_TRUNCL''@|1|g' \
  | \
  sed -e 's|@''REPLACE_CEIL''@|0|g' \
      -e 's|@''REPLACE_CEILF''@|0|g' \
      -e 's|@''REPLACE_CEILL''@|0|g' \
      -e 's|@''REPLACE_FLOOR''@|0|g' \
      -e 's|@''REPLACE_FLOORF''@|0|g' \
      -e 's|@''REPLACE_FLOORL''@|0|g' \
      -e 's|@''REPLACE_FREXP''@|0|g' \
      -e 's|@''REPLACE_FREXPL''@|0|g' \
      -e 's|@''REPLACE_HUGE_VAL''@|0|g' \
      -e 's|@''REPLACE_ISFINITE''@|0|g' \
      -e 's|@''REPLACE_ISINF''@|0|g' \
      -e 's|@''REPLACE_ISNAN''@|1|g' \
      -e 's|@''REPLACE_LDEXPL''@|0|g' \
      -e 's|@''REPLACE_NAN''@|0|g' \
      -e 's|@''REPLACE_ROUND''@|0|g' \
      -e 's|@''REPLACE_ROUNDF''@|0|g' \
      -e 's|@''REPLACE_ROUNDL''@|0|g' \
      -e 's|@''REPLACE_SIGNBIT''@|0|g' \
      -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|1|g' \
      -e 's|@''REPLACE_TRUNC''@|0|g' \
      -e 's|@''REPLACE_TRUNCF''@|0|g' \
      -e 's|@''REPLACE_TRUNCL''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > math.h-t && \
mv math.h-t math.h
rm -f signal.h-t signal.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SIGNAL_H''@|<signal.h>|g' \
      -e 's|@''GNULIB_SIGNAL_H_SIGPIPE''@|0|g' \
      -e 's|@''GNULIB_SIGPROCMASK''@|1|g' \
      -e 's|@''GNULIB_SIGACTION''@|1|g' \
      -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|1|g' \
      -e 's|@''HAVE_SIGSET_T''@|1|g' \
      -e 's|@''HAVE_SIGINFO_T''@|1|g' \
      -e 's|@''HAVE_SIGACTION''@|1|g' \
      -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|1|g' \
      -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./signal.in.h; \
} > signal.h-t && \
mv signal.h-t signal.h
rm -f spawn.h-t spawn.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''HAVE_SPAWN_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SPAWN_H''@|<spawn.h>|g' \
      -e 's|@''GNULIB_POSIX_SPAWN''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNP''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_INIT''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETFLAGS''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETFLAGS''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETPGROUP''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETPGROUP''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETSIGMASK''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETSIGMASK''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_DESTROY''@|1|g' \
      -e 's|@''HAVE_POSIX_SPAWN''@|1|g' \
      -e 's|@''HAVE_POSIX_SPAWNATTR_T''@|1|g' \
      -e 's|@''HAVE_POSIX_SPAWN_FILE_ACTIONS_T''@|1|g' \
      -e 's|@''REPLACE_POSIX_SPAWN''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./spawn.in.h; \
} > spawn.h-t && \
mv spawn.h-t spawn.h
rm -f stdio.h-t stdio.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STDIO_H''@|<stdio.h>|g' \
      -e 's|@''GNULIB_DPRINTF''@|0|g' \
      -e 's|@''GNULIB_FCLOSE''@|1|g' \
      -e 's|@''GNULIB_FFLUSH''@|0|g' \
      -e 's|@''GNULIB_FOPEN''@|1|g' \
      -e 's|@''GNULIB_FPRINTF''@|1|g' \
      -e 's|@''GNULIB_FPRINTF_POSIX''@|1|g' \
      -e 's|@''GNULIB_FPURGE''@|0|g' \
      -e 's|@''GNULIB_FPUTC''@|1|g' \
      -e 's|@''GNULIB_FPUTS''@|1|g' \
      -e 's|@''GNULIB_FREOPEN''@|0|g' \
      -e 's|@''GNULIB_FSEEK''@|0|g' \
      -e 's|@''GNULIB_FSEEKO''@|0|g' \
      -e 's|@''GNULIB_FTELL''@|0|g' \
      -e 's|@''GNULIB_FTELLO''@|0|g' \
      -e 's|@''GNULIB_FWRITE''@|1|g' \
      -e 's|@''GNULIB_GETDELIM''@|0|g' \
      -e 's|@''GNULIB_GETLINE''@|0|g' \
      -e 's|@''GNULIB_OBSTACK_PRINTF''@|0|g' \
      -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|0|g' \
      -e 's|@''GNULIB_PERROR''@|1|g' \
      -e 's|@''GNULIB_POPEN''@|0|g' \
      -e 's|@''GNULIB_PRINTF''@|1|g' \
      -e 's|@''GNULIB_PRINTF_POSIX''@|1|g' \
      -e 's|@''GNULIB_PUTC''@|1|g' \
      -e 's|@''GNULIB_PUTCHAR''@|1|g' \
      -e 's|@''GNULIB_PUTS''@|1|g' \
      -e 's|@''GNULIB_REMOVE''@|0|g' \
      -e 's|@''GNULIB_RENAME''@|0|g' \
      -e 's|@''GNULIB_RENAMEAT''@|0|g' \
      -e 's|@''GNULIB_SNPRINTF''@|1|g' \
      -e 's|@''GNULIB_SPRINTF_POSIX''@|1|g' \
      -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|0|g' \
      -e 's|@''GNULIB_TMPFILE''@|0|g' \
      -e 's|@''GNULIB_VASPRINTF''@|0|g' \
      -e 's|@''GNULIB_VDPRINTF''@|0|g' \
      -e 's|@''GNULIB_VFPRINTF''@|1|g' \
      -e 's|@''GNULIB_VFPRINTF_POSIX''@|1|g' \
      -e 's|@''GNULIB_VPRINTF''@|1|g' \
      -e 's|@''GNULIB_VPRINTF_POSIX''@|0|g' \
      -e 's|@''GNULIB_VSNPRINTF''@|1|g' \
      -e 's|@''GNULIB_VSPRINTF_POSIX''@|1|g' \
      < ./stdio.in.h | \
  sed -e 's|@''HAVE_DECL_FPURGE''@|1|g' \
      -e 's|@''HAVE_DECL_FSEEKO''@|1|g' \
      -e 's|@''HAVE_DECL_FTELLO''@|1|g' \
      -e 's|@''HAVE_DECL_GETDELIM''@|1|g' \
      -e 's|@''HAVE_DECL_GETLINE''@|1|g' \
      -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|1|g' \
      -e 's|@''HAVE_DECL_SNPRINTF''@|1|g' \
      -e 's|@''HAVE_DECL_VSNPRINTF''@|1|g' \
      -e 's|@''HAVE_DPRINTF''@|1|g' \
      -e 's|@''HAVE_FSEEKO''@|1|g' \
      -e 's|@''HAVE_FTELLO''@|1|g' \
      -e 's|@''HAVE_RENAMEAT''@|1|g' \
      -e 's|@''HAVE_VASPRINTF''@|1|g' \
      -e 's|@''HAVE_VDPRINTF''@|1|g' \
      -e 's|@''REPLACE_DPRINTF''@|0|g' \
      -e 's|@''REPLACE_FCLOSE''@|0|g' \
      -e 's|@''REPLACE_FFLUSH''@|0|g' \
      -e 's|@''REPLACE_FOPEN''@|0|g' \
      -e 's|@''REPLACE_FPRINTF''@|1|g' \
      -e 's|@''REPLACE_FPURGE''@|0|g' \
      -e 's|@''REPLACE_FREOPEN''@|0|g' \
      -e 's|@''REPLACE_FSEEK''@|0|g' \
      -e 's|@''REPLACE_FSEEKO''@|0|g' \
      -e 's|@''REPLACE_FTELL''@|0|g' \
      -e 's|@''REPLACE_FTELLO''@|0|g' \
      -e 's|@''REPLACE_GETDELIM''@|0|g' \
      -e 's|@''REPLACE_GETLINE''@|0|g' \
      -e 's|@''REPLACE_OBSTACK_PRINTF''@|0|g' \
      -e 's|@''REPLACE_PERROR''@|0|g' \
      -e 's|@''REPLACE_POPEN''@|0|g' \
      -e 's|@''REPLACE_PRINTF''@|1|g' \
      -e 's|@''REPLACE_REMOVE''@|0|g' \
      -e 's|@''REPLACE_RENAME''@|0|g' \
      -e 's|@''REPLACE_RENAMEAT''@|0|g' \
      -e 's|@''REPLACE_SNPRINTF''@|1|g' \
      -e 's|@''REPLACE_SPRINTF''@|1|g' \
      -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|0|g' \
      -e 's|@''REPLACE_TMPFILE''@|0|g' \
      -e 's|@''REPLACE_VASPRINTF''@|0|g' \
      -e 's|@''REPLACE_VDPRINTF''@|0|g' \
      -e 's|@''REPLACE_VFPRINTF''@|1|g' \
      -e 's|@''REPLACE_VPRINTF''@|0|g' \
      -e 's|@''REPLACE_VSNPRINTF''@|1|g' \
      -e 's|@''REPLACE_VSPRINTF''@|1|g' \
      -e 's|@''ASM_SYMBOL_PREFIX''@|""|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > stdio.h-t && \
mv stdio.h-t stdio.h
rm -f stdlib.h-t stdlib.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STDLIB_H''@|<stdlib.h>|g' \
      -e 's|@''GNULIB__EXIT''@|0|g' \
      -e 's|@''GNULIB_ATOLL''@|0|g' \
      -e 's|@''GNULIB_CALLOC_POSIX''@|1|g' \
      -e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|0|g' \
      -e 's|@''GNULIB_GETLOADAVG''@|0|g' \
      -e 's|@''GNULIB_GETSUBOPT''@|0|g' \
      -e 's|@''GNULIB_GRANTPT''@|0|g' \
      -e 's|@''GNULIB_MALLOC_POSIX''@|1|g' \
      -e 's|@''GNULIB_MBTOWC''@|0|g' \
      -e 's|@''GNULIB_MKDTEMP''@|0|g' \
      -e 's|@''GNULIB_MKOSTEMP''@|0|g' \
      -e 's|@''GNULIB_MKOSTEMPS''@|0|g' \
      -e 's|@''GNULIB_MKSTEMP''@|0|g' \
      -e 's|@''GNULIB_MKSTEMPS''@|0|g' \
      -e 's|@''GNULIB_PTSNAME''@|0|g' \
      -e 's|@''GNULIB_PUTENV''@|0|g' \
      -e 's|@''GNULIB_RANDOM_R''@|0|g' \
      -e 's|@''GNULIB_REALLOC_POSIX''@|1|g' \
      -e 's|@''GNULIB_REALPATH''@|0|g' \
      -e 's|@''GNULIB_RPMATCH''@|0|g' \
      -e 's|@''GNULIB_SETENV''@|0|g' \
      -e 's|@''GNULIB_STRTOD''@|0|g' \
      -e 's|@''GNULIB_STRTOLL''@|0|g' \
      -e 's|@''GNULIB_STRTOULL''@|0|g' \
      -e 's|@''GNULIB_SYSTEM_POSIX''@|0|g' \
      -e 's|@''GNULIB_UNLOCKPT''@|0|g' \
      -e 's|@''GNULIB_UNSETENV''@|1|g' \
      -e 's|@''GNULIB_WCTOMB''@|0|g' \
      < ./stdlib.in.h | \
  sed -e 's|@''HAVE__EXIT''@|1|g' \
      -e 's|@''HAVE_ATOLL''@|1|g' \
      -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \
      -e 's|@''HAVE_GETSUBOPT''@|1|g' \
      -e 's|@''HAVE_GRANTPT''@|1|g' \
      -e 's|@''HAVE_MKDTEMP''@|1|g' \
      -e 's|@''HAVE_MKOSTEMP''@|1|g' \
      -e 's|@''HAVE_MKOSTEMPS''@|1|g' \
      -e 's|@''HAVE_MKSTEMP''@|1|g' \
      -e 's|@''HAVE_MKSTEMPS''@|1|g' \
      -e 's|@''HAVE_PTSNAME''@|1|g' \
      -e 's|@''HAVE_RANDOM_H''@|1|g' \
      -e 's|@''HAVE_RANDOM_R''@|1|g' \
      -e 's|@''HAVE_REALPATH''@|1|g' \
      -e 's|@''HAVE_RPMATCH''@|1|g' \
      -e 's|@''HAVE_DECL_SETENV''@|1|g' \
      -e 's|@''HAVE_STRTOD''@|1|g' \
      -e 's|@''HAVE_STRTOLL''@|1|g' \
      -e 's|@''HAVE_STRTOULL''@|1|g' \
      -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|1|g' \
      -e 's|@''HAVE_SYS_LOADAVG_H''@|0|g' \
      -e 's|@''HAVE_UNLOCKPT''@|1|g' \
      -e 's|@''HAVE_DECL_UNSETENV''@|1|g' \
      -e 's|@''REPLACE_CALLOC''@|0|g' \
      -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|0|g' \
      -e 's|@''REPLACE_MALLOC''@|0|g' \
      -e 's|@''REPLACE_MBTOWC''@|0|g' \
      -e 's|@''REPLACE_MKSTEMP''@|0|g' \
      -e 's|@''REPLACE_PUTENV''@|0|g' \
      -e 's|@''REPLACE_REALLOC''@|0|g' \
      -e 's|@''REPLACE_REALPATH''@|0|g' \
      -e 's|@''REPLACE_SETENV''@|0|g' \
      -e 's|@''REPLACE_STRTOD''@|0|g' \
      -e 's|@''REPLACE_UNSETENV''@|0|g' \
      -e 's|@''REPLACE_WCTOMB''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > stdlib.h-t && \
mv stdlib.h-t stdlib.h
rm -f string.h-t string.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STRING_H''@|<string.h>|g' \
      -e 's|@''GNULIB_MBSLEN''@|0|g' \
      -e 's|@''GNULIB_MBSNLEN''@|0|g' \
      -e 's|@''GNULIB_MBSCHR''@|1|g' \
      -e 's|@''GNULIB_MBSRCHR''@|1|g' \
      -e 's|@''GNULIB_MBSSTR''@|0|g' \
      -e 's|@''GNULIB_MBSCASECMP''@|0|g' \
      -e 's|@''GNULIB_MBSNCASECMP''@|0|g' \
      -e 's|@''GNULIB_MBSPCASECMP''@|0|g' \
      -e 's|@''GNULIB_MBSCASESTR''@|0|g' \
      -e 's|@''GNULIB_MBSCSPN''@|0|g' \
      -e 's|@''GNULIB_MBSPBRK''@|0|g' \
      -e 's|@''GNULIB_MBSSPN''@|0|g' \
      -e 's|@''GNULIB_MBSSEP''@|0|g' \
      -e 's|@''GNULIB_MBSTOK_R''@|0|g' \
      -e 's|@''GNULIB_MEMCHR''@|1|g' \
      -e 's|@''GNULIB_MEMMEM''@|0|g' \
      -e 's|@''GNULIB_MEMPCPY''@|0|g' \
      -e 's|@''GNULIB_MEMRCHR''@|0|g' \
      -e 's|@''GNULIB_RAWMEMCHR''@|1|g' \
      -e 's|@''GNULIB_STPCPY''@|1|g' \
      -e 's|@''GNULIB_STPNCPY''@|0|g' \
      -e 's|@''GNULIB_STRCHRNUL''@|1|g' \
      -e 's|@''GNULIB_STRDUP''@|1|g' \
      -e 's|@''GNULIB_STRNCAT''@|0|g' \
      -e 's|@''GNULIB_STRNDUP''@|1|g' \
      -e 's|@''GNULIB_STRNLEN''@|1|g' \
      -e 's|@''GNULIB_STRPBRK''@|0|g' \
      -e 's|@''GNULIB_STRSEP''@|0|g' \
      -e 's|@''GNULIB_STRSTR''@|0|g' \
      -e 's|@''GNULIB_STRCASESTR''@|0|g' \
      -e 's|@''GNULIB_STRTOK_R''@|0|g' \
      -e 's|@''GNULIB_STRERROR''@|1|g' \
      -e 's|@''GNULIB_STRERROR_R''@|0|g' \
      -e 's|@''GNULIB_STRSIGNAL''@|0|g' \
      -e 's|@''GNULIB_STRVERSCMP''@|1|g' \
      < ./string.in.h | \
  sed -e 's|@''HAVE_MBSLEN''@|0|g' \
      -e 's|@''HAVE_MEMCHR''@|1|g' \
      -e 's|@''HAVE_DECL_MEMMEM''@|1|g' \
      -e 's|@''HAVE_MEMPCPY''@|1|g' \
      -e 's|@''HAVE_DECL_MEMRCHR''@|1|g' \
      -e 's|@''HAVE_RAWMEMCHR''@|1|g' \
      -e 's|@''HAVE_STPCPY''@|1|g' \
      -e 's|@''HAVE_STPNCPY''@|1|g' \
      -e 's|@''HAVE_STRCHRNUL''@|1|g' \
      -e 's|@''HAVE_DECL_STRDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNLEN''@|1|g' \
      -e 's|@''HAVE_STRPBRK''@|1|g' \
      -e 's|@''HAVE_STRSEP''@|1|g' \
      -e 's|@''HAVE_STRCASESTR''@|1|g' \
      -e 's|@''HAVE_DECL_STRTOK_R''@|1|g' \
      -e 's|@''HAVE_DECL_STRERROR_R''@|1|g' \
      -e 's|@''HAVE_DECL_STRSIGNAL''@|1|g' \
      -e 's|@''HAVE_STRVERSCMP''@|1|g' \
      -e 's|@''REPLACE_STPNCPY''@|0|g' \
      -e 's|@''REPLACE_MEMCHR''@|0|g' \
      -e 's|@''REPLACE_MEMMEM''@|0|g' \
      -e 's|@''REPLACE_STRCASESTR''@|0|g' \
      -e 's|@''REPLACE_STRDUP''@|0|g' \
      -e 's|@''REPLACE_STRSTR''@|0|g' \
      -e 's|@''REPLACE_STRERROR''@|0|g' \
      -e 's|@''REPLACE_STRERROR_R''@|0|g' \
      -e 's|@''REPLACE_STRNCAT''@|0|g' \
      -e 's|@''REPLACE_STRNDUP''@|0|g' \
      -e 's|@''REPLACE_STRNLEN''@|0|g' \
      -e 's|@''REPLACE_STRSIGNAL''@|0|g' \
      -e 's|@''REPLACE_STRTOK_R''@|0|g' \
      -e 's|@''UNDEFINE_STRTOK_R''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
      < ./string.in.h; \
} > string.h-t && \
mv string.h-t string.h
/bin/mkdir -p sys
rm -f sys/ioctl.h-t sys/ioctl.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''HAVE_SYS_IOCTL_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_IOCTL_H''@|<sys/ioctl.h>|g' \
      -e 's|@''GNULIB_IOCTL''@|1|g' \
      -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|0|g' \
      -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \
      -e 's|@''REPLACE_IOCTL''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./sys_ioctl.in.h; \
} > sys/ioctl.h-t && \
mv sys/ioctl.h-t sys/ioctl.h
/bin/mkdir -p sys
rm -f sys/socket.h-t sys/socket.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_SOCKET_H''@|<sys/socket.h>|g' \
      -e 's|@''HAVE_SYS_SOCKET_H''@|1|g' \
      -e 's|@''GNULIB_CLOSE''@|1|g' \
      -e 's|@''GNULIB_SOCKET''@|0|g' \
      -e 's|@''GNULIB_CONNECT''@|0|g' \
      -e 's|@''GNULIB_ACCEPT''@|0|g' \
      -e 's|@''GNULIB_BIND''@|0|g' \
      -e 's|@''GNULIB_GETPEERNAME''@|0|g' \
      -e 's|@''GNULIB_GETSOCKNAME''@|0|g' \
      -e 's|@''GNULIB_GETSOCKOPT''@|0|g' \
      -e 's|@''GNULIB_LISTEN''@|0|g' \
      -e 's|@''GNULIB_RECV''@|0|g' \
      -e 's|@''GNULIB_SEND''@|0|g' \
      -e 's|@''GNULIB_RECVFROM''@|0|g' \
      -e 's|@''GNULIB_SENDTO''@|0|g' \
      -e 's|@''GNULIB_SETSOCKOPT''@|0|g' \
      -e 's|@''GNULIB_SHUTDOWN''@|0|g' \
      -e 's|@''GNULIB_ACCEPT4''@|0|g' \
      -e 's|@''HAVE_WINSOCK2_H''@|0|g' \
      -e 's|@''HAVE_WS2TCPIP_H''@|0|g' \
      -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|1|g' \
      -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY''@|1|g' \
      -e 's|@''HAVE_SA_FAMILY_T''@|1|g' \
      -e 's|@''HAVE_ACCEPT4''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./sys_socket.in.h; \
} > sys/socket.h-t && \
mv -f sys/socket.h-t sys/socket.h
/bin/mkdir -p sys
rm -f sys/stat.h-t sys/stat.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_STAT_H''@|<sys/stat.h>|g' \
      -e 's|@''GNULIB_FCHMODAT''@|0|g' \
      -e 's|@''GNULIB_FSTATAT''@|0|g' \
      -e 's|@''GNULIB_FUTIMENS''@|0|g' \
      -e 's|@''GNULIB_LCHMOD''@|0|g' \
      -e 's|@''GNULIB_LSTAT''@|0|g' \
      -e 's|@''GNULIB_MKDIRAT''@|0|g' \
      -e 's|@''GNULIB_MKFIFO''@|0|g' \
      -e 's|@''GNULIB_MKFIFOAT''@|0|g' \
      -e 's|@''GNULIB_MKNOD''@|0|g' \
      -e 's|@''GNULIB_MKNODAT''@|0|g' \
      -e 's|@''GNULIB_STAT''@|1|g' \
      -e 's|@''GNULIB_UTIMENSAT''@|0|g' \
      -e 's|@''HAVE_FCHMODAT''@|1|g' \
      -e 's|@''HAVE_FSTATAT''@|1|g' \
      -e 's|@''HAVE_FUTIMENS''@|1|g' \
      -e 's|@''HAVE_LCHMOD''@|1|g' \
      -e 's|@''HAVE_LSTAT''@|1|g' \
      -e 's|@''HAVE_MKDIRAT''@|1|g' \
      -e 's|@''HAVE_MKFIFO''@|1|g' \
      -e 's|@''HAVE_MKFIFOAT''@|1|g' \
      -e 's|@''HAVE_MKNOD''@|1|g' \
      -e 's|@''HAVE_MKNODAT''@|1|g' \
      -e 's|@''HAVE_UTIMENSAT''@|1|g' \
      -e 's|@''REPLACE_FSTAT''@|0|g' \
      -e 's|@''REPLACE_FSTATAT''@|0|g' \
      -e 's|@''REPLACE_FUTIMENS''@|0|g' \
      -e 's|@''REPLACE_LSTAT''@|0|g' \
      -e 's|@''REPLACE_MKDIR''@|0|g' \
      -e 's|@''REPLACE_MKFIFO''@|0|g' \
      -e 's|@''REPLACE_MKNOD''@|0|g' \
      -e 's|@''REPLACE_STAT''@|0|g' \
      -e 's|@''REPLACE_UTIMENSAT''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./sys_stat.in.h; \
} > sys/stat.h-t && \
mv sys/stat.h-t sys/stat.h
/bin/mkdir -p sys
rm -f sys/wait.h-t sys/wait.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_WAIT_H''@|<sys/wait.h>|g' \
      -e 's|@''GNULIB_WAITPID''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./sys_wait.in.h; \
} > sys/wait.h-t && \
mv sys/wait.h-t sys/wait.h
rm -f time.h-t time.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_TIME_H''@|<time.h>|g' \
      -e 's|@''GNULIB_MKTIME''@|0|g' \
      -e 's|@''GNULIB_NANOSLEEP''@|0|g' \
      -e 's|@''GNULIB_STRPTIME''@|0|g' \
      -e 's|@''GNULIB_TIMEGM''@|0|g' \
      -e 's|@''GNULIB_TIME_R''@|0|g' \
      -e 's|@''HAVE_DECL_LOCALTIME_R''@|1|g' \
      -e 's|@''HAVE_NANOSLEEP''@|1|g' \
      -e 's|@''HAVE_STRPTIME''@|1|g' \
      -e 's|@''HAVE_TIMEGM''@|1|g' \
      -e 's|@''REPLACE_LOCALTIME_R''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_MKTIME''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_NANOSLEEP''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_TIMEGM''@|GNULIB_PORTCHECK|g' \
      -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./time.in.h; \
} > time.h-t && \
mv time.h-t time.h
rm -f unistd.h-t unistd.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''HAVE_UNISTD_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_UNISTD_H''@|<unistd.h>|g' \
      -e 's|@''GNULIB_CHOWN''@|0|g' \
      -e 's|@''GNULIB_CLOSE''@|1|g' \
      -e 's|@''GNULIB_DUP2''@|1|g' \
      -e 's|@''GNULIB_DUP3''@|0|g' \
      -e 's|@''GNULIB_ENVIRON''@|1|g' \
      -e 's|@''GNULIB_EUIDACCESS''@|0|g' \
      -e 's|@''GNULIB_FACCESSAT''@|0|g' \
      -e 's|@''GNULIB_FCHDIR''@|0|g' \
      -e 's|@''GNULIB_FCHOWNAT''@|0|g' \
      -e 's|@''GNULIB_FSYNC''@|0|g' \
      -e 's|@''GNULIB_FTRUNCATE''@|0|g' \
      -e 's|@''GNULIB_GETCWD''@|0|g' \
      -e 's|@''GNULIB_GETDOMAINNAME''@|0|g' \
      -e 's|@''GNULIB_GETDTABLESIZE''@|1|g' \
      -e 's|@''GNULIB_GETGROUPS''@|0|g' \
      -e 's|@''GNULIB_GETHOSTNAME''@|0|g' \
      -e 's|@''GNULIB_GETLOGIN''@|0|g' \
      -e 's|@''GNULIB_GETLOGIN_R''@|0|g' \
      -e 's|@''GNULIB_GETPAGESIZE''@|0|g' \
      -e 's|@''GNULIB_GETUSERSHELL''@|0|g' \
      -e 's|@''GNULIB_LCHOWN''@|0|g' \
      -e 's|@''GNULIB_LINK''@|0|g' \
      -e 's|@''GNULIB_LINKAT''@|0|g' \
      -e 's|@''GNULIB_LSEEK''@|0|g' \
      -e 's|@''GNULIB_PIPE''@|1|g' \
      -e 's|@''GNULIB_PIPE2''@|1|g' \
      -e 's|@''GNULIB_PREAD''@|0|g' \
      -e 's|@''GNULIB_PWRITE''@|0|g' \
      -e 's|@''GNULIB_READLINK''@|0|g' \
      -e 's|@''GNULIB_READLINKAT''@|0|g' \
      -e 's|@''GNULIB_RMDIR''@|0|g' \
      -e 's|@''GNULIB_SLEEP''@|0|g' \
      -e 's|@''GNULIB_SYMLINK''@|0|g' \
      -e 's|@''GNULIB_SYMLINKAT''@|0|g' \
      -e 's|@''GNULIB_TTYNAME_R''@|0|g' \
      -e 's|@''GNULIB_UNISTD_H_GETOPT''@|0|g' \
      -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|0|g' \
      -e 's|@''GNULIB_UNLINK''@|0|g' \
      -e 's|@''GNULIB_UNLINKAT''@|0|g' \
      -e 's|@''GNULIB_USLEEP''@|0|g' \
      -e 's|@''GNULIB_WRITE''@|0|g' \
      < ./unistd.in.h | \
  sed -e 's|@''HAVE_CHOWN''@|1|g' \
      -e 's|@''HAVE_DUP2''@|1|g' \
      -e 's|@''HAVE_DUP3''@|1|g' \
      -e 's|@''HAVE_EUIDACCESS''@|1|g' \
      -e 's|@''HAVE_FACCESSAT''@|1|g' \
      -e 's|@''HAVE_FCHDIR''@|1|g' \
      -e 's|@''HAVE_FCHOWNAT''@|1|g' \
      -e 's|@''HAVE_FSYNC''@|1|g' \
      -e 's|@''HAVE_FTRUNCATE''@|1|g' \
      -e 's|@''HAVE_GETDTABLESIZE''@|1|g' \
      -e 's|@''HAVE_GETGROUPS''@|1|g' \
      -e 's|@''HAVE_GETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_GETLOGIN''@|1|g' \
      -e 's|@''HAVE_GETPAGESIZE''@|1|g' \
      -e 's|@''HAVE_LCHOWN''@|1|g' \
      -e 's|@''HAVE_LINK''@|1|g' \
      -e 's|@''HAVE_LINKAT''@|1|g' \
      -e 's|@''HAVE_PIPE''@|1|g' \
      -e 's|@''HAVE_PIPE2''@|1|g' \
      -e 's|@''HAVE_PREAD''@|1|g' \
      -e 's|@''HAVE_PWRITE''@|1|g' \
      -e 's|@''HAVE_READLINK''@|1|g' \
      -e 's|@''HAVE_READLINKAT''@|1|g' \
      -e 's|@''HAVE_SLEEP''@|1|g' \
      -e 's|@''HAVE_SYMLINK''@|1|g' \
      -e 's|@''HAVE_SYMLINKAT''@|1|g' \
      -e 's|@''HAVE_UNLINKAT''@|1|g' \
      -e 's|@''HAVE_USLEEP''@|1|g' \
      -e 's|@''HAVE_DECL_ENVIRON''@|1|g' \
      -e 's|@''HAVE_DECL_FCHDIR''@|1|g' \
      -e 's|@''HAVE_DECL_GETDOMAINNAME''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \
      -e 's|@''HAVE_DECL_GETPAGESIZE''@|1|g' \
      -e 's|@''HAVE_DECL_GETUSERSHELL''@|1|g' \
      -e 's|@''HAVE_DECL_TTYNAME_R''@|1|g' \
      -e 's|@''HAVE_OS_H''@|0|g' \
      -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \
  | \
  sed -e 's|@''REPLACE_CHOWN''@|0|g' \
      -e 's|@''REPLACE_CLOSE''@|0|g' \
      -e 's|@''REPLACE_DUP''@|0|g' \
      -e 's|@''REPLACE_DUP2''@|0|g' \
      -e 's|@''REPLACE_FCHOWNAT''@|0|g' \
      -e 's|@''REPLACE_GETCWD''@|0|g' \
      -e 's|@''REPLACE_GETDOMAINNAME''@|0|g' \
      -e 's|@''REPLACE_GETLOGIN_R''@|0|g' \
      -e 's|@''REPLACE_GETGROUPS''@|0|g' \
      -e 's|@''REPLACE_GETPAGESIZE''@|0|g' \
      -e 's|@''REPLACE_LCHOWN''@|0|g' \
      -e 's|@''REPLACE_LINK''@|0|g' \
      -e 's|@''REPLACE_LINKAT''@|0|g' \
      -e 's|@''REPLACE_LSEEK''@|0|g' \
      -e 's|@''REPLACE_PREAD''@|0|g' \
      -e 's|@''REPLACE_PWRITE''@|0|g' \
      -e 's|@''REPLACE_READLINK''@|0|g' \
      -e 's|@''REPLACE_RMDIR''@|0|g' \
      -e 's|@''REPLACE_SLEEP''@|0|g' \
      -e 's|@''REPLACE_SYMLINK''@|0|g' \
      -e 's|@''REPLACE_TTYNAME_R''@|0|g' \
      -e 's|@''REPLACE_UNLINK''@|0|g' \
      -e 's|@''REPLACE_UNLINKAT''@|0|g' \
      -e 's|@''REPLACE_USLEEP''@|0|g' \
      -e 's|@''REPLACE_WRITE''@|0|g' \
      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \
      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > unistd.h-t && \
mv unistd.h-t unistd.h
rm -f wchar.h-t wchar.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''HAVE_FEATURES_H''@|1|g' \
      -e 's|@''NEXT_WCHAR_H''@|<wchar.h>|g' \
      -e 's|@''HAVE_WCHAR_H''@|1|g' \
      -e 's|@''GNULIB_BTOWC''@|0|g' \
      -e 's|@''GNULIB_WCTOB''@|0|g' \
      -e 's|@''GNULIB_MBSINIT''@|1|g' \
      -e 's|@''GNULIB_MBRTOWC''@|1|g' \
      -e 's|@''GNULIB_MBRLEN''@|0|g' \
      -e 's|@''GNULIB_MBSRTOWCS''@|0|g' \
      -e 's|@''GNULIB_MBSNRTOWCS''@|0|g' \
      -e 's|@''GNULIB_WCRTOMB''@|0|g' \
      -e 's|@''GNULIB_WCSRTOMBS''@|0|g' \
      -e 's|@''GNULIB_WCSNRTOMBS''@|0|g' \
      -e 's|@''GNULIB_WCWIDTH''@|1|g' \
      -e 's|@''GNULIB_WMEMCHR''@|0|g' \
      -e 's|@''GNULIB_WMEMCMP''@|0|g' \
      -e 's|@''GNULIB_WMEMCPY''@|0|g' \
      -e 's|@''GNULIB_WMEMMOVE''@|0|g' \
      -e 's|@''GNULIB_WMEMSET''@|0|g' \
      -e 's|@''GNULIB_WCSLEN''@|0|g' \
      -e 's|@''GNULIB_WCSNLEN''@|0|g' \
      -e 's|@''GNULIB_WCSCPY''@|0|g' \
      -e 's|@''GNULIB_WCPCPY''@|0|g' \
      -e 's|@''GNULIB_WCSNCPY''@|0|g' \
      -e 's|@''GNULIB_WCPNCPY''@|0|g' \
      -e 's|@''GNULIB_WCSCAT''@|0|g' \
      -e 's|@''GNULIB_WCSNCAT''@|0|g' \
      -e 's|@''GNULIB_WCSCMP''@|0|g' \
      -e 's|@''GNULIB_WCSNCMP''@|0|g' \
      -e 's|@''GNULIB_WCSCASECMP''@|0|g' \
      -e 's|@''GNULIB_WCSNCASECMP''@|0|g' \
      -e 's|@''GNULIB_WCSCOLL''@|0|g' \
      -e 's|@''GNULIB_WCSXFRM''@|0|g' \
      -e 's|@''GNULIB_WCSDUP''@|0|g' \
      -e 's|@''GNULIB_WCSCHR''@|0|g' \
      -e 's|@''GNULIB_WCSRCHR''@|0|g' \
      -e 's|@''GNULIB_WCSCSPN''@|0|g' \
      -e 's|@''GNULIB_WCSSPN''@|0|g' \
      -e 's|@''GNULIB_WCSPBRK''@|0|g' \
      -e 's|@''GNULIB_WCSSTR''@|0|g' \
      -e 's|@''GNULIB_WCSTOK''@|0|g' \
      -e 's|@''GNULIB_WCSWIDTH''@|0|g' \
      < ./wchar.in.h | \
  sed -e 's|@''HAVE_WINT_T''@|1|g' \
      -e 's|@''HAVE_BTOWC''@|1|g' \
      -e 's|@''HAVE_MBSINIT''@|1|g' \
      -e 's|@''HAVE_MBRTOWC''@|1|g' \
      -e 's|@''HAVE_MBRLEN''@|1|g' \
      -e 's|@''HAVE_MBSRTOWCS''@|1|g' \
      -e 's|@''HAVE_MBSNRTOWCS''@|1|g' \
      -e 's|@''HAVE_WCRTOMB''@|1|g' \
      -e 's|@''HAVE_WCSRTOMBS''@|1|g' \
      -e 's|@''HAVE_WCSNRTOMBS''@|1|g' \
      -e 's|@''HAVE_WMEMCHR''@|1|g' \
      -e 's|@''HAVE_WMEMCMP''@|1|g' \
      -e 's|@''HAVE_WMEMCPY''@|1|g' \
      -e 's|@''HAVE_WMEMMOVE''@|1|g' \
      -e 's|@''HAVE_WMEMSET''@|1|g' \
      -e 's|@''HAVE_WCSLEN''@|1|g' \
      -e 's|@''HAVE_WCSNLEN''@|1|g' \
      -e 's|@''HAVE_WCSCPY''@|1|g' \
      -e 's|@''HAVE_WCPCPY''@|1|g' \
      -e 's|@''HAVE_WCSNCPY''@|1|g' \
      -e 's|@''HAVE_WCPNCPY''@|1|g' \
      -e 's|@''HAVE_WCSCAT''@|1|g' \
      -e 's|@''HAVE_WCSNCAT''@|1|g' \
      -e 's|@''HAVE_WCSCMP''@|1|g' \
      -e 's|@''HAVE_WCSNCMP''@|1|g' \
      -e 's|@''HAVE_WCSCASECMP''@|1|g' \
      -e 's|@''HAVE_WCSNCASECMP''@|1|g' \
      -e 's|@''HAVE_WCSCOLL''@|1|g' \
      -e 's|@''HAVE_WCSXFRM''@|1|g' \
      -e 's|@''HAVE_WCSDUP''@|1|g' \
      -e 's|@''HAVE_WCSCHR''@|1|g' \
      -e 's|@''HAVE_WCSRCHR''@|1|g' \
      -e 's|@''HAVE_WCSCSPN''@|1|g' \
      -e 's|@''HAVE_WCSSPN''@|1|g' \
      -e 's|@''HAVE_WCSPBRK''@|1|g' \
      -e 's|@''HAVE_WCSSTR''@|1|g' \
      -e 's|@''HAVE_WCSTOK''@|1|g' \
      -e 's|@''HAVE_WCSWIDTH''@|1|g' \
      -e 's|@''HAVE_DECL_WCTOB''@|1|g' \
      -e 's|@''HAVE_DECL_WCWIDTH''@|1|g' \
  | \
  sed -e 's|@''REPLACE_MBSTATE_T''@|0|g' \
      -e 's|@''REPLACE_BTOWC''@|0|g' \
      -e 's|@''REPLACE_WCTOB''@|0|g' \
      -e 's|@''REPLACE_MBSINIT''@|0|g' \
      -e 's|@''REPLACE_MBRTOWC''@|0|g' \
      -e 's|@''REPLACE_MBRLEN''@|0|g' \
      -e 's|@''REPLACE_MBSRTOWCS''@|0|g' \
      -e 's|@''REPLACE_MBSNRTOWCS''@|0|g' \
      -e 's|@''REPLACE_WCRTOMB''@|0|g' \
      -e 's|@''REPLACE_WCSRTOMBS''@|0|g' \
      -e 's|@''REPLACE_WCSNRTOMBS''@|0|g' \
      -e 's|@''REPLACE_WCWIDTH''@|0|g' \
      -e 's|@''REPLACE_WCSWIDTH''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > wchar.h-t && \
mv wchar.h-t wchar.h
rm -f wctype.h-t wctype.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's/@''HAVE_WCTYPE_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_WCTYPE_H''@|<wctype.h>|g' \
      -e 's/@''GNULIB_ISWBLANK''@/1/g' \
      -e 's/@''GNULIB_WCTYPE''@/0/g' \
      -e 's/@''GNULIB_ISWCTYPE''@/0/g' \
      -e 's/@''GNULIB_WCTRANS''@/0/g' \
      -e 's/@''GNULIB_TOWCTRANS''@/0/g' \
      -e 's/@''HAVE_ISWBLANK''@/1/g' \
      -e 's/@''HAVE_ISWCNTRL''@/1/g' \
      -e 's/@''HAVE_WCTYPE_T''@/1/g' \
      -e 's/@''HAVE_WCTRANS_T''@/1/g' \
      -e 's/@''HAVE_WINT_T''@/1/g' \
      -e 's/@''REPLACE_ISWBLANK''@/0/g' \
      -e 's/@''REPLACE_ISWCNTRL''@/0/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./wctype.in.h; \
} > wctype.h-t && \
mv wctype.h-t wctype.h
make  all-recursive
make[3]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
make[4]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o main.o main.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o yyerror.o yyerror.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o c-ctype.o c-ctype.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o c-strcasecmp.o c-strcasecmp.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o c-strncasecmp.o c-strncasecmp.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o close-hook.o close-hook.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o exitfail.o exitfail.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o fatal-signal.o fatal-signal.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o fd-safer-flag.o fd-safer-flag.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o dup-safer-flag.o dup-safer-flag.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o fseterr.o fseterr.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o localcharset.o localcharset.c
In file included from fseterr.h:20:0,
                 from fseterr.c:20:
./stdio.h:496:1: error: 'gets' undeclared here (not in a function)
make[4]: *** [fseterr.o] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from localcharset.c:30:0:
./stdio.h:496:1: error: 'gets' undeclared here (not in a function)
make[4]: *** [localcharset.o] Error 1
make[4]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5'
make: *** [all] Error 2
ERROR: oe_runmake failed
ERROR: Function failed: do_compile (see /mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp/log.do_compile.12733 for further information)
Martin Jansa - July 28, 2012, 8:24 p.m.
On Sat, Jul 28, 2012 at 08:49:48PM +0100, Jack Mitchell wrote:
> I'm not sure quite what you mean by pre-processed output but here is my 
> do_compile log which is where it fails.

He meant C source code after processing by preprocessor (-E option for
gcc), but it's not needed, see following patch.

The problem was that patch was applied only for target recipe not
-native which is failing for you (I guess you have (e)glibc-2.16 on host
like I do)

Cheers,
ml@communistcode.co.uk - July 28, 2012, 8:39 p.m.
On 28/07/2012 21:24, Martin Jansa wrote:
> On Sat, Jul 28, 2012 at 08:49:48PM +0100, Jack Mitchell wrote:
>> I'm not sure quite what you mean by pre-processed output but here is my
>> do_compile log which is where it fails.
>
> He meant C source code after processing by preprocessor (-E option for
> gcc), but it's not needed, see following patch.
>
> The problem was that patch was applied only for target recipe not
> -native which is failing for you (I guess you have (e)glibc-2.16 on host
> like I do)
>
> Cheers,

Do you know what, I should have seen this as I applied my patch to the 
BASE_SRC_URI. My patch failed with the same message again in the SRC_URI 
and I thought I had just deleted Khems patch line and then re-added my 
patch line in the wrong function.

I'll put it down to it being the weekend

I do have glibc-2.16 on my host and it's causing me no end of trouble - 
but someone has be the lab rat eh and I'm not under commercial pressure 
quite yet ;) I'll have another eglibc do_install issue coming along soon 
as I can't seem to fix it.

What would be the process to get the preprocessed output?

Cheers,
Jack.
Martin Jansa - July 28, 2012, 8:52 p.m.
On Sat, Jul 28, 2012 at 09:39:25PM +0100, Jack Mitchell wrote:
> On 28/07/2012 21:24, Martin Jansa wrote:
> > On Sat, Jul 28, 2012 at 08:49:48PM +0100, Jack Mitchell wrote:
> >> I'm not sure quite what you mean by pre-processed output but here is my
> >> do_compile log which is where it fails.
> >
> > He meant C source code after processing by preprocessor (-E option for
> > gcc), but it's not needed, see following patch.
> >
> > The problem was that patch was applied only for target recipe not
> > -native which is failing for you (I guess you have (e)glibc-2.16 on host
> > like I do)
> >
> > Cheers,
> 
> Do you know what, I should have seen this as I applied my patch to the 
> BASE_SRC_URI. My patch failed with the same message again in the SRC_URI 
> and I thought I had just deleted Khems patch line and then re-added my 
> patch line in the wrong function.
> 
> I'll put it down to it being the weekend
> 
> I do have glibc-2.16 on my host and it's causing me no end of trouble - 
> but someone has be the lab rat eh and I'm not under commercial pressure 
> quite yet ;) I'll have another eglibc do_install issue coming along soon 
> as I can't seem to fix it.
> 
> What would be the process to get the preprocessed output?

cd to dir where the build is failing, copy last gcc call which was
failing with gets, replace -c with -E and rename -o param to foo.E,
execute and then send foo.E

Cheers,

Patch

diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch b/meta/recipes-devtools/bison/bison/remove-gets.patch
new file mode 100644
index 0000000..2dfa00f
--- /dev/null
+++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
@@ -0,0 +1,20 @@ 
+gets has been removed from eglibc 2.16
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: bison-2.5/lib/stdio.in.h
+===================================================================
+--- bison-2.5.orig/lib/stdio.in.h	2012-07-04 09:09:48.336532195 -0700
++++ bison-2.5/lib/stdio.in.h	2012-07-04 09:10:22.868533884 -0700
+@@ -180,8 +180,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/meta/recipes-devtools/bison/bison_2.5.bb b/meta/recipes-devtools/bison/bison_2.5.bb
index fc3bb6d..687f06a 100644
--- a/meta/recipes-devtools/bison/bison_2.5.bb
+++ b/meta/recipes-devtools/bison/bison_2.5.bb
@@ -9,14 +9,16 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 SECTION = "devel"
 DEPENDS = "bison-native flex-native"
 
-PR = "r1"
+PR = "r2"
 
 BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
 	   file://m4.patch \
 	  "
 
 SRC_URI = "${BASE_SRC_URI} \
-        file://fix_cross_manpage_building.patch "
+           file://fix_cross_manpage_building.patch \
+           file://remove-gets.patch \
+          "
 
 SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
 SRC_URI[sha256sum] = "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"