Patchwork eglibc: Fix to egrep 'yes$' instead 'yes' at configure

login
register
mail settings
Submitter Benjamin Esquivel
Date Aug. 25, 2014, 2:58 a.m.
Message ID <1408935491-79054-1-git-send-email-benjamin.esquivel@linux.intel.com>
Download mbox | patch
Permalink /patch/78907/
State New
Headers show

Comments

Benjamin Esquivel - Aug. 25, 2014, 2:58 a.m.
The pre-processed output of conftest.c contains an include dir
and if the path of it contains a 'yes' it will cause some variables
to be wrongly set to yes because of the way it greps for it.
Fix is to egrep for yes$ instead.
This has to be done at the configure and the configure.ac files given
the configure file comes straight out of the source tarball.

[YOCTO #6614]

Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
---
 .../eglibc-2.19/fix-yesdir-falsepositive.patch     | 136 +++++++++++++++++++++
 meta/recipes-core/eglibc/eglibc_2.19.bb            |   1 +
 2 files changed, 137 insertions(+)
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
Khem Raj - Aug. 25, 2014, 4:04 p.m.
On 14-08-24 21:58:11, Benjamin Esquivel wrote:
> The pre-processed output of conftest.c contains an include dir
> and if the path of it contains a 'yes' it will cause some variables
> to be wrongly set to yes because of the way it greps for it.
> Fix is to egrep for yes$ instead.
> This has to be done at the configure and the configure.ac files given
> the configure file comes straight out of the source tarball.

May be its better to use a different string then 'yes' which is more
unique and less likely to conflict in tests somthing
like

[AC_EGREP_CPP(we_have_that_sysconf_val,[#ifdef __ARM_PCS_VFP
                       we_have_that_sysconf_val
                      #endif
                     .....


> 
> [YOCTO #6614]
> 
> Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
> ---
>  .../eglibc-2.19/fix-yesdir-falsepositive.patch     | 136 +++++++++++++++++++++
>  meta/recipes-core/eglibc/eglibc_2.19.bb            |   1 +
>  2 files changed, 137 insertions(+)
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
> 
> diff --git a/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch b/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
> new file mode 100644
> index 0000000..962203e
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
> @@ -0,0 +1,136 @@
> +The pre-processed output of conftest.c contains an include directory and if
> +the path of it contains a 'yes' it will cause some variables to be wrongly set
> +to yes because of the way it greps for it. Fix is to egrep for yes$ instead.
> +
> +Upstream-status: Pending
> +Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com> 
> +Index: libc/ports/sysdeps/aarch64/configure
> +===================================================================
> +--- libc.orig/ports/sysdeps/aarch64/configure
> ++++ libc/ports/sysdeps/aarch64/configure
> +@@ -153,7 +153,7 @@ else
> + 
> + _ACEOF
> + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> +-  $EGREP "yes" >/dev/null 2>&1; then :
> ++  $EGREP "yes$" >/dev/null 2>&1; then :
> +   libc_cv_aarch64_be=yes
> + else
> +   libc_cv_aarch64_be=no
> +Index: libc/ports/sysdeps/arm/configure
> +===================================================================
> +--- libc.orig/ports/sysdeps/arm/configure
> ++++ libc/ports/sysdeps/arm/configure
> +@@ -184,7 +184,7 @@ else
> + 
> + _ACEOF
> + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> +-  $EGREP "yes" >/dev/null 2>&1; then :
> ++  $EGREP "yes$" >/dev/null 2>&1; then :
> +   libc_cv_arm_pcs_vfp=yes
> + else
> +   libc_cv_arm_pcs_vfp=no
> +Index: libc/ports/sysdeps/mips/configure
> +===================================================================
> +--- libc.orig/ports/sysdeps/mips/configure
> ++++ libc/ports/sysdeps/mips/configure
> +@@ -147,7 +147,7 @@ yes
> + #endif
> + _ACEOF
> + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> +-  $EGREP "yes" >/dev/null 2>&1; then :
> ++  $EGREP "yes$" >/dev/null 2>&1; then :
> +   libc_cv_mips_nan2008=yes
> + else
> +   libc_cv_mips_nan2008=no
> +Index: libc/ports/sysdeps/aarch64/configure.ac
> +===================================================================
> +--- libc.orig/ports/sysdeps/aarch64/configure.ac
> ++++ libc/ports/sysdeps/aarch64/configure.ac
> +@@ -10,7 +10,7 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the
> + # the dynamic linker via %ifdef.
> + AC_CACHE_CHECK([for big endian],
> +   [libc_cv_aarch64_be],
> +-  [AC_EGREP_CPP(yes,[#ifdef __AARCH64EB__
> ++  [AC_EGREP_CPP(yes$$,[#ifdef __AARCH64EB__
> +                       yes
> +                      #endif
> +   ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)])
> +Index: libc/ports/sysdeps/arm/configure.ac
> +===================================================================
> +--- libc.orig/ports/sysdeps/arm/configure.ac
> ++++ libc/ports/sysdeps/arm/configure.ac
> +@@ -34,7 +34,7 @@ fi
> + # the dynamic linker via %ifdef.
> + AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI],
> +   [libc_cv_arm_pcs_vfp],
> +-  [AC_EGREP_CPP(yes,[#ifdef __ARM_PCS_VFP
> ++  [AC_EGREP_CPP(yes$$,[#ifdef __ARM_PCS_VFP
> +                       yes
> +                      #endif
> +   ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)])
> +Index: libc/ports/sysdeps/mips/configure.ac
> +===================================================================
> +--- libc.orig/ports/sysdeps/mips/configure.ac
> ++++ libc/ports/sysdeps/mips/configure.ac
> +@@ -6,7 +6,7 @@ dnl position independent way.
> + dnl AC_DEFINE(PI_STATIC_AND_HIDDEN)
> + 
> + AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
> +-  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
> ++  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes$$, [dnl
> + #ifdef __mips_nan2008
> + yes
> + #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
> +Index: libc/ports/sysdeps/unix/sysv/linux/mips/configure
> +===================================================================
> +--- libc.orig/ports/sysdeps/unix/sysv/linux/mips/configure
> ++++ libc/ports/sysdeps/unix/sysv/linux/mips/configure
> +@@ -249,7 +249,7 @@ yes
> + #endif
> + _ACEOF
> + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> +-  $EGREP "yes" >/dev/null 2>&1; then :
> ++  $EGREP "yes$" >/dev/null 2>&1; then :
> +   libc_cv_mips_nan2008=yes
> + else
> +   libc_cv_mips_nan2008=no
> +Index: libc/ports/sysdeps/unix/sysv/linux/mips/configure.ac
> +===================================================================
> +--- libc.orig/ports/sysdeps/unix/sysv/linux/mips/configure.ac
> ++++ libc/ports/sysdeps/unix/sysv/linux/mips/configure.ac
> +@@ -45,7 +45,7 @@ if test -z "$libc_mips_float"; then
> + fi
> + 
> + AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
> +-  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
> ++  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes$$, [dnl
> + #ifdef __mips_nan2008
> + yes
> + #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
> +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
> +===================================================================
> +--- libc.orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
> ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
> +@@ -147,7 +147,7 @@ else
> + 
> + _ACEOF
> + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> +-  $EGREP "yes" >/dev/null 2>&1; then :
> ++  $EGREP "yes$" >/dev/null 2>&1; then :
> +   libc_cv_ppc64_elfv2_abi=yes
> + else
> +   libc_cv_ppc64_elfv2_abi=no
> +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
> +===================================================================
> +--- libc.orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
> ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
> +@@ -4,7 +4,7 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the
> + # Define default-abi according to compiler flags.
> + AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI],
> +   [libc_cv_ppc64_elfv2_abi],
> +-  [AC_EGREP_CPP(yes,[#if _CALL_ELF == 2
> ++  [AC_EGREP_CPP(yes$$,[#if _CALL_ELF == 2
> +                       yes
> +                      #endif
> +   ], libc_cv_ppc64_elfv2_abi=yes, libc_cv_ppc64_elfv2_abi=no)])
> diff --git a/meta/recipes-core/eglibc/eglibc_2.19.bb b/meta/recipes-core/eglibc/eglibc_2.19.bb
> index 19bd52d..a97e1cf 100644
> --- a/meta/recipes-core/eglibc/eglibc_2.19.bb
> +++ b/meta/recipes-core/eglibc/eglibc_2.19.bb
> @@ -28,6 +28,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr25
>             file://grok_gold.patch \
>             file://fix_am_rootsbindir.patch;striplevel=2 \
>             file://timezone-re-written-tzselect-as-posix-sh.patch \
> +           file://fix-yesdir-falsepositive.patch \
>            "
>  SRC_URI[md5sum] = "197836c2ba42fb146e971222647198dd"
>  SRC_URI[sha256sum] = "baaa030531fc308f7820c46acdf8e1b2f8e3c1f40bcd28b6e440d1c95d170d4c"
> -- 
> 1.8.5.5
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Benjamin Esquivel - Aug. 25, 2014, 10:57 p.m.
To Khem and Andreas, 

I would say that the proposed patch is based on the existing design, a
corner case was found and it deserves a fix but not so sure about
redesigning it

By redesign I mean to modify also the part where the string is thrown
into the conftest.c

Please let me know your thoughts

Benjamin 

On Mon, 2014-08-25 at 09:04 -0700, Khem Raj wrote:
> On 14-08-24 21:58:11, Benjamin Esquivel wrote:
> > The pre-processed output of conftest.c contains an include dir
> > and if the path of it contains a 'yes' it will cause some variables
> > to be wrongly set to yes because of the way it greps for it.
> > Fix is to egrep for yes$ instead.
> > This has to be done at the configure and the configure.ac files given
> > the configure file comes straight out of the source tarball.
> 
> May be its better to use a different string then 'yes' which is more
> unique and less likely to conflict in tests somthing
> like
> 
> [AC_EGREP_CPP(we_have_that_sysconf_val,[#ifdef __ARM_PCS_VFP
>                        we_have_that_sysconf_val
>                       #endif
>                      .....
> 
> 
> > 
> > [YOCTO #6614]
> > 
> > Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
> > ---
> >  .../eglibc-2.19/fix-yesdir-falsepositive.patch     | 136 +++++++++++++++++++++
> >  meta/recipes-core/eglibc/eglibc_2.19.bb            |   1 +
> >  2 files changed, 137 insertions(+)
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
> > 
> > diff --git a/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch b/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
> > new file mode 100644
> > index 0000000..962203e
> > --- /dev/null
> > +++ b/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
> > @@ -0,0 +1,136 @@
> > +The pre-processed output of conftest.c contains an include directory and if
> > +the path of it contains a 'yes' it will cause some variables to be wrongly set
> > +to yes because of the way it greps for it. Fix is to egrep for yes$ instead.
> > +
> > +Upstream-status: Pending
> > +Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com> 
> > +Index: libc/ports/sysdeps/aarch64/configure
> > +===================================================================
> > +--- libc.orig/ports/sysdeps/aarch64/configure
> > ++++ libc/ports/sysdeps/aarch64/configure
> > +@@ -153,7 +153,7 @@ else
> > + 
> > + _ACEOF
> > + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> > +-  $EGREP "yes" >/dev/null 2>&1; then :
> > ++  $EGREP "yes$" >/dev/null 2>&1; then :
> > +   libc_cv_aarch64_be=yes
> > + else
> > +   libc_cv_aarch64_be=no
> > +Index: libc/ports/sysdeps/arm/configure
> > +===================================================================
> > +--- libc.orig/ports/sysdeps/arm/configure
> > ++++ libc/ports/sysdeps/arm/configure
> > +@@ -184,7 +184,7 @@ else
> > + 
> > + _ACEOF
> > + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> > +-  $EGREP "yes" >/dev/null 2>&1; then :
> > ++  $EGREP "yes$" >/dev/null 2>&1; then :
> > +   libc_cv_arm_pcs_vfp=yes
> > + else
> > +   libc_cv_arm_pcs_vfp=no
> > +Index: libc/ports/sysdeps/mips/configure
> > +===================================================================
> > +--- libc.orig/ports/sysdeps/mips/configure
> > ++++ libc/ports/sysdeps/mips/configure
> > +@@ -147,7 +147,7 @@ yes
> > + #endif
> > + _ACEOF
> > + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> > +-  $EGREP "yes" >/dev/null 2>&1; then :
> > ++  $EGREP "yes$" >/dev/null 2>&1; then :
> > +   libc_cv_mips_nan2008=yes
> > + else
> > +   libc_cv_mips_nan2008=no
> > +Index: libc/ports/sysdeps/aarch64/configure.ac
> > +===================================================================
> > +--- libc.orig/ports/sysdeps/aarch64/configure.ac
> > ++++ libc/ports/sysdeps/aarch64/configure.ac
> > +@@ -10,7 +10,7 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the
> > + # the dynamic linker via %ifdef.
> > + AC_CACHE_CHECK([for big endian],
> > +   [libc_cv_aarch64_be],
> > +-  [AC_EGREP_CPP(yes,[#ifdef __AARCH64EB__
> > ++  [AC_EGREP_CPP(yes$$,[#ifdef __AARCH64EB__
> > +                       yes
> > +                      #endif
> > +   ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)])
> > +Index: libc/ports/sysdeps/arm/configure.ac
> > +===================================================================
> > +--- libc.orig/ports/sysdeps/arm/configure.ac
> > ++++ libc/ports/sysdeps/arm/configure.ac
> > +@@ -34,7 +34,7 @@ fi
> > + # the dynamic linker via %ifdef.
> > + AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI],
> > +   [libc_cv_arm_pcs_vfp],
> > +-  [AC_EGREP_CPP(yes,[#ifdef __ARM_PCS_VFP
> > ++  [AC_EGREP_CPP(yes$$,[#ifdef __ARM_PCS_VFP
> > +                       yes
> > +                      #endif
> > +   ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)])
> > +Index: libc/ports/sysdeps/mips/configure.ac
> > +===================================================================
> > +--- libc.orig/ports/sysdeps/mips/configure.ac
> > ++++ libc/ports/sysdeps/mips/configure.ac
> > +@@ -6,7 +6,7 @@ dnl position independent way.
> > + dnl AC_DEFINE(PI_STATIC_AND_HIDDEN)
> > + 
> > + AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
> > +-  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
> > ++  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes$$, [dnl
> > + #ifdef __mips_nan2008
> > + yes
> > + #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
> > +Index: libc/ports/sysdeps/unix/sysv/linux/mips/configure
> > +===================================================================
> > +--- libc.orig/ports/sysdeps/unix/sysv/linux/mips/configure
> > ++++ libc/ports/sysdeps/unix/sysv/linux/mips/configure
> > +@@ -249,7 +249,7 @@ yes
> > + #endif
> > + _ACEOF
> > + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> > +-  $EGREP "yes" >/dev/null 2>&1; then :
> > ++  $EGREP "yes$" >/dev/null 2>&1; then :
> > +   libc_cv_mips_nan2008=yes
> > + else
> > +   libc_cv_mips_nan2008=no
> > +Index: libc/ports/sysdeps/unix/sysv/linux/mips/configure.ac
> > +===================================================================
> > +--- libc.orig/ports/sysdeps/unix/sysv/linux/mips/configure.ac
> > ++++ libc/ports/sysdeps/unix/sysv/linux/mips/configure.ac
> > +@@ -45,7 +45,7 @@ if test -z "$libc_mips_float"; then
> > + fi
> > + 
> > + AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
> > +-  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
> > ++  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes$$, [dnl
> > + #ifdef __mips_nan2008
> > + yes
> > + #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
> > +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
> > +===================================================================
> > +--- libc.orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
> > ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
> > +@@ -147,7 +147,7 @@ else
> > + 
> > + _ACEOF
> > + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
> > +-  $EGREP "yes" >/dev/null 2>&1; then :
> > ++  $EGREP "yes$" >/dev/null 2>&1; then :
> > +   libc_cv_ppc64_elfv2_abi=yes
> > + else
> > +   libc_cv_ppc64_elfv2_abi=no
> > +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
> > +===================================================================
> > +--- libc.orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
> > ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
> > +@@ -4,7 +4,7 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the
> > + # Define default-abi according to compiler flags.
> > + AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI],
> > +   [libc_cv_ppc64_elfv2_abi],
> > +-  [AC_EGREP_CPP(yes,[#if _CALL_ELF == 2
> > ++  [AC_EGREP_CPP(yes$$,[#if _CALL_ELF == 2
> > +                       yes
> > +                      #endif
> > +   ], libc_cv_ppc64_elfv2_abi=yes, libc_cv_ppc64_elfv2_abi=no)])
> > diff --git a/meta/recipes-core/eglibc/eglibc_2.19.bb b/meta/recipes-core/eglibc/eglibc_2.19.bb
> > index 19bd52d..a97e1cf 100644
> > --- a/meta/recipes-core/eglibc/eglibc_2.19.bb
> > +++ b/meta/recipes-core/eglibc/eglibc_2.19.bb
> > @@ -28,6 +28,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr25
> >             file://grok_gold.patch \
> >             file://fix_am_rootsbindir.patch;striplevel=2 \
> >             file://timezone-re-written-tzselect-as-posix-sh.patch \
> > +           file://fix-yesdir-falsepositive.patch \
> >            "
> >  SRC_URI[md5sum] = "197836c2ba42fb146e971222647198dd"
> >  SRC_URI[sha256sum] = "baaa030531fc308f7820c46acdf8e1b2f8e3c1f40bcd28b6e440d1c95d170d4c"
> > -- 
> > 1.8.5.5
> > 
> > -- 
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
Khem Raj - Aug. 25, 2014, 11:31 p.m.
On 14-08-25 17:57:47, Benjamin Esquivel wrote:
> To Khem and Andreas, 
> 
> I would say that the proposed patch is based on the existing design, a
> corner case was found and it deserves a fix but not so sure about
> redesigning it
> 
> By redesign I mean to modify also the part where the string is thrown
> into the conftest.c
> 
> Please let me know your thoughts

there is nothing wrong in redoing it. It would fix the issue and make it
more readable too.
Benjamin Esquivel - Aug. 27, 2014, 2:39 p.m.
Ok, I will re-do the patch and send it over

On Mon, 2014-08-25 at 16:31 -0700, Khem Raj wrote:
> On 14-08-25 17:57:47, Benjamin Esquivel wrote:
> > To Khem and Andreas, 
> > 
> > I would say that the proposed patch is based on the existing design, a
> > corner case was found and it deserves a fix but not so sure about
> > redesigning it
> > 
> > By redesign I mean to modify also the part where the string is thrown
> > into the conftest.c
> > 
> > Please let me know your thoughts
> 
> there is nothing wrong in redoing it. It would fix the issue and make it
> more readable too.

Patch

diff --git a/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch b/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
new file mode 100644
index 0000000..962203e
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.19/fix-yesdir-falsepositive.patch
@@ -0,0 +1,136 @@ 
+The pre-processed output of conftest.c contains an include directory and if
+the path of it contains a 'yes' it will cause some variables to be wrongly set
+to yes because of the way it greps for it. Fix is to egrep for yes$ instead.
+
+Upstream-status: Pending
+Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com> 
+Index: libc/ports/sysdeps/aarch64/configure
+===================================================================
+--- libc.orig/ports/sysdeps/aarch64/configure
++++ libc/ports/sysdeps/aarch64/configure
+@@ -153,7 +153,7 @@ else
+ 
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+-  $EGREP "yes" >/dev/null 2>&1; then :
++  $EGREP "yes$" >/dev/null 2>&1; then :
+   libc_cv_aarch64_be=yes
+ else
+   libc_cv_aarch64_be=no
+Index: libc/ports/sysdeps/arm/configure
+===================================================================
+--- libc.orig/ports/sysdeps/arm/configure
++++ libc/ports/sysdeps/arm/configure
+@@ -184,7 +184,7 @@ else
+ 
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+-  $EGREP "yes" >/dev/null 2>&1; then :
++  $EGREP "yes$" >/dev/null 2>&1; then :
+   libc_cv_arm_pcs_vfp=yes
+ else
+   libc_cv_arm_pcs_vfp=no
+Index: libc/ports/sysdeps/mips/configure
+===================================================================
+--- libc.orig/ports/sysdeps/mips/configure
++++ libc/ports/sysdeps/mips/configure
+@@ -147,7 +147,7 @@ yes
+ #endif
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+-  $EGREP "yes" >/dev/null 2>&1; then :
++  $EGREP "yes$" >/dev/null 2>&1; then :
+   libc_cv_mips_nan2008=yes
+ else
+   libc_cv_mips_nan2008=no
+Index: libc/ports/sysdeps/aarch64/configure.ac
+===================================================================
+--- libc.orig/ports/sysdeps/aarch64/configure.ac
++++ libc/ports/sysdeps/aarch64/configure.ac
+@@ -10,7 +10,7 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the
+ # the dynamic linker via %ifdef.
+ AC_CACHE_CHECK([for big endian],
+   [libc_cv_aarch64_be],
+-  [AC_EGREP_CPP(yes,[#ifdef __AARCH64EB__
++  [AC_EGREP_CPP(yes$$,[#ifdef __AARCH64EB__
+                       yes
+                      #endif
+   ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)])
+Index: libc/ports/sysdeps/arm/configure.ac
+===================================================================
+--- libc.orig/ports/sysdeps/arm/configure.ac
++++ libc/ports/sysdeps/arm/configure.ac
+@@ -34,7 +34,7 @@ fi
+ # the dynamic linker via %ifdef.
+ AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI],
+   [libc_cv_arm_pcs_vfp],
+-  [AC_EGREP_CPP(yes,[#ifdef __ARM_PCS_VFP
++  [AC_EGREP_CPP(yes$$,[#ifdef __ARM_PCS_VFP
+                       yes
+                      #endif
+   ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)])
+Index: libc/ports/sysdeps/mips/configure.ac
+===================================================================
+--- libc.orig/ports/sysdeps/mips/configure.ac
++++ libc/ports/sysdeps/mips/configure.ac
+@@ -6,7 +6,7 @@ dnl position independent way.
+ dnl AC_DEFINE(PI_STATIC_AND_HIDDEN)
+ 
+ AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
+-  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
++  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes$$, [dnl
+ #ifdef __mips_nan2008
+ yes
+ #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
+Index: libc/ports/sysdeps/unix/sysv/linux/mips/configure
+===================================================================
+--- libc.orig/ports/sysdeps/unix/sysv/linux/mips/configure
++++ libc/ports/sysdeps/unix/sysv/linux/mips/configure
+@@ -249,7 +249,7 @@ yes
+ #endif
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+-  $EGREP "yes" >/dev/null 2>&1; then :
++  $EGREP "yes$" >/dev/null 2>&1; then :
+   libc_cv_mips_nan2008=yes
+ else
+   libc_cv_mips_nan2008=no
+Index: libc/ports/sysdeps/unix/sysv/linux/mips/configure.ac
+===================================================================
+--- libc.orig/ports/sysdeps/unix/sysv/linux/mips/configure.ac
++++ libc/ports/sysdeps/unix/sysv/linux/mips/configure.ac
+@@ -45,7 +45,7 @@ if test -z "$libc_mips_float"; then
+ fi
+ 
+ AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
+-  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
++  libc_cv_mips_nan2008, [AC_EGREP_CPP(yes$$, [dnl
+ #ifdef __mips_nan2008
+ yes
+ #endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
+Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
+===================================================================
+--- libc.orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
+@@ -147,7 +147,7 @@ else
+ 
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+-  $EGREP "yes" >/dev/null 2>&1; then :
++  $EGREP "yes$" >/dev/null 2>&1; then :
+   libc_cv_ppc64_elfv2_abi=yes
+ else
+   libc_cv_ppc64_elfv2_abi=no
+Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
+===================================================================
+--- libc.orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
+@@ -4,7 +4,7 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the
+ # Define default-abi according to compiler flags.
+ AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI],
+   [libc_cv_ppc64_elfv2_abi],
+-  [AC_EGREP_CPP(yes,[#if _CALL_ELF == 2
++  [AC_EGREP_CPP(yes$$,[#if _CALL_ELF == 2
+                       yes
+                      #endif
+   ], libc_cv_ppc64_elfv2_abi=yes, libc_cv_ppc64_elfv2_abi=no)])
diff --git a/meta/recipes-core/eglibc/eglibc_2.19.bb b/meta/recipes-core/eglibc/eglibc_2.19.bb
index 19bd52d..a97e1cf 100644
--- a/meta/recipes-core/eglibc/eglibc_2.19.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.19.bb
@@ -28,6 +28,7 @@  SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr25
            file://grok_gold.patch \
            file://fix_am_rootsbindir.patch;striplevel=2 \
            file://timezone-re-written-tzselect-as-posix-sh.patch \
+           file://fix-yesdir-falsepositive.patch \
           "
 SRC_URI[md5sum] = "197836c2ba42fb146e971222647198dd"
 SRC_URI[sha256sum] = "baaa030531fc308f7820c46acdf8e1b2f8e3c1f40bcd28b6e440d1c95d170d4c"