All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] glibc: refresh patch to also fix qemuppc
@ 2018-09-29  2:58 Chen Qi
  2018-09-29  2:58 ` [PATCH 1/1] " Chen Qi
  0 siblings, 1 reply; 7+ messages in thread
From: Chen Qi @ 2018-09-29  2:58 UTC (permalink / raw)
  To: openembedded-core

*** BLURB HERE ***
The following changes since commit 3bbbe25ae74e120f7d3452685f0cae2245d7b14d:

  glibc-package.inc: correct intention for deleting /usr/lib as needed (2018-09-27 23:41:41 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib ChenQi/glibc-qemuppc
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/glibc-qemuppc

Chen Qi (1):
  glibc: refresh patch to also fix qemuppc

 ...eee754-prevent-maybe-uninitialized-errors.patch | 41 +++++++++++++++++-----
 1 file changed, 32 insertions(+), 9 deletions(-)

-- 
1.9.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/1] glibc: refresh patch to also fix qemuppc
  2018-09-29  2:58 [PATCH 0/1] glibc: refresh patch to also fix qemuppc Chen Qi
@ 2018-09-29  2:58 ` Chen Qi
  2018-09-29 12:26   ` Richard Purdie
  0 siblings, 1 reply; 7+ messages in thread
From: Chen Qi @ 2018-09-29  2:58 UTC (permalink / raw)
  To: openembedded-core

The patch 0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
did not take into consideration of qemuppc. Refresh it to also fix
building for qemuppc.

The related error message is like below:

  ../sysdeps/ieee754/ldbl-128ibm/e_jnl.c:153:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 ...eee754-prevent-maybe-uninitialized-errors.patch | 41 +++++++++++++++++-----
 1 file changed, 32 insertions(+), 9 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
index b02c4ec..1c5b254 100644
--- a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
+++ b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
@@ -1,4 +1,4 @@
-From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00 2001
+From 113241a738662854256c5e2e415397721b842862 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Fri, 14 Sep 2018 23:23:03 +0000
 Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
@@ -21,13 +21,14 @@ Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
 ---
- sysdeps/ieee754/dbl-64/e_jn.c    | 2 ++
- sysdeps/ieee754/ldbl-128/e_jnl.c | 4 ++++
- sysdeps/ieee754/ldbl-96/e_jnl.c  | 4 ++++
- 3 files changed, 10 insertions(+)
+ sysdeps/ieee754/dbl-64/e_jn.c       | 2 ++
+ sysdeps/ieee754/ldbl-128/e_jnl.c    | 4 ++++
+ sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 4 ++++
+ sysdeps/ieee754/ldbl-96/e_jnl.c     | 4 ++++
+ 4 files changed, 14 insertions(+)
 
 diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
-index 9181b22bb8..74a6b5f149 100644
+index 9181b22..74a6b5f 100644
 --- a/sysdeps/ieee754/dbl-64/e_jn.c
 +++ b/sysdeps/ieee754/dbl-64/e_jn.c
 @@ -108,6 +108,7 @@ __ieee754_jn (int n, double x)
@@ -47,7 +48,7 @@ index 9181b22bb8..74a6b5f149 100644
  	b = invsqrtpi * temp / sqrt (x);
        }
 diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
-index 7739eec291..b6a1275464 100644
+index 7739eec..b6a1275 100644
 --- a/sysdeps/ieee754/ldbl-128/e_jnl.c
 +++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
 @@ -149,6 +149,8 @@ __ieee754_jnl (int n, _Float128 x)
@@ -68,8 +69,30 @@ index 7739eec291..b6a1275464 100644
  	  }
  	b = invsqrtpi * temp / sqrtl (x);
        }
+diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
+index 71b3add..46c45db 100644
+--- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
++++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
+@@ -149,6 +149,8 @@ __ieee754_jnl (int n, long double x)
+ 	      case 3:
+ 		temp = c - s;
+ 		break;
++	      default:
++		temp = 0;
+ 	      }
+ 	    b = invsqrtpi * temp / sqrtl (x);
+ 	  }
+@@ -385,6 +387,8 @@ __ieee754_ynl (int n, long double x)
+ 	  case 3:
+ 	    temp = s + c;
+ 	    break;
++	  default:
++	    temp = 0;
+ 	  }
+ 	b = invsqrtpi * temp / sqrtl (x);
+       }
 diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
-index 394921f564..2263b02203 100644
+index 394921f..2263b02 100644
 --- a/sysdeps/ieee754/ldbl-96/e_jnl.c
 +++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
 @@ -142,6 +142,8 @@ __ieee754_jnl (int n, long double x)
@@ -91,5 +114,5 @@ index 394921f564..2263b02203 100644
  	b = invsqrtpi * temp / sqrtl (x);
        }
 -- 
-2.17.1
+2.7.4
 
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] glibc: refresh patch to also fix qemuppc
  2018-09-29  2:58 ` [PATCH 1/1] " Chen Qi
@ 2018-09-29 12:26   ` Richard Purdie
  2018-09-29 12:55     ` Martin Jansa
  0 siblings, 1 reply; 7+ messages in thread
From: Richard Purdie @ 2018-09-29 12:26 UTC (permalink / raw)
  To: Chen Qi, openembedded-core

On Sat, 2018-09-29 at 10:58 +0800, Chen Qi wrote:
> The patch 0031-sysdeps-ieee754-prevent-maybe-uninitialized-
> errors.patch
> did not take into consideration of qemuppc. Refresh it to also fix
> building for qemuppc.
> 
> The related error message is like below:
> 
>   ../sysdeps/ieee754/ldbl-128ibm/e_jnl.c:153:20: error: 'temp' may be
> used uninitialized in this function [-Werror=maybe-uninitialized]
> 
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
>  ...eee754-prevent-maybe-uninitialized-errors.patch | 41
> +++++++++++++++++-----
>  1 file changed, 32 insertions(+), 9 deletions(-)
> 
> diff --git a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-
> prevent-maybe-uninitialized-errors.patch b/meta/recipes-
> core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-
> errors.patch
> index b02c4ec..1c5b254 100644
> --- a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-
> maybe-uninitialized-errors.patch
> +++ b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-
> maybe-uninitialized-errors.patch
> @@ -1,4 +1,4 @@
> -From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00
> 2001
> +From 113241a738662854256c5e2e415397721b842862 Mon Sep 17 00:00:00
> 2001
>  From: Martin Jansa <Martin.Jansa@gmail.com>
>  Date: Fri, 14 Sep 2018 23:23:03 +0000
>  Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
> @@ -21,13 +21,14 @@ Upstream-Status: Submitted [https://www.sourcewar
> e.org/ml/libc-alpha/2018-09/msg

I get nervous when we modify a patch submitted upstream. Was the patch
submitted accepted? Do we need to send this other piece upstream?

Cheers,

Richard



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] glibc: refresh patch to also fix qemuppc
  2018-09-29 12:26   ` Richard Purdie
@ 2018-09-29 12:55     ` Martin Jansa
  2018-09-30 16:27       ` [PATCH] glibc: bump SRCREV to latest 2.28 Martin Jansa
  2018-10-09  2:01       ` [PATCH 1/1] glibc: refresh patch to also fix qemuppc ChenQi
  0 siblings, 2 replies; 7+ messages in thread
From: Martin Jansa @ 2018-09-29 12:55 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 2179 bytes --]

I'm refreshing the patch based on feedback from upstream, I'll integrate
the changes for ppc as well.

On Sat, Sep 29, 2018 at 2:26 PM Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Sat, 2018-09-29 at 10:58 +0800, Chen Qi wrote:
> > The patch 0031-sysdeps-ieee754-prevent-maybe-uninitialized-
> > errors.patch
> > did not take into consideration of qemuppc. Refresh it to also fix
> > building for qemuppc.
> >
> > The related error message is like below:
> >
> >   ../sysdeps/ieee754/ldbl-128ibm/e_jnl.c:153:20: error: 'temp' may be
> > used uninitialized in this function [-Werror=maybe-uninitialized]
> >
> > Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > ---
> >  ...eee754-prevent-maybe-uninitialized-errors.patch | 41
> > +++++++++++++++++-----
> >  1 file changed, 32 insertions(+), 9 deletions(-)
> >
> > diff --git a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-
> > prevent-maybe-uninitialized-errors.patch b/meta/recipes-
> > core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-
> > errors.patch
> > index b02c4ec..1c5b254 100644
> > --- a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-
> > maybe-uninitialized-errors.patch
> > +++ b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-
> > maybe-uninitialized-errors.patch
> > @@ -1,4 +1,4 @@
> > -From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00
> > 2001
> > +From 113241a738662854256c5e2e415397721b842862 Mon Sep 17 00:00:00
> > 2001
> >  From: Martin Jansa <Martin.Jansa@gmail.com>
> >  Date: Fri, 14 Sep 2018 23:23:03 +0000
> >  Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
> > @@ -21,13 +21,14 @@ Upstream-Status: Submitted [https://www.sourcewar
> > e.org/ml/libc-alpha/2018-09/msg
>
> I get nervous when we modify a patch submitted upstream. Was the patch
> submitted accepted? Do we need to send this other piece upstream?
>
> Cheers,
>
> Richard
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 3136 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] glibc: bump SRCREV to latest 2.28
  2018-09-29 12:55     ` Martin Jansa
@ 2018-09-30 16:27       ` Martin Jansa
  2018-09-30 16:36         ` Khem Raj
  2018-10-09  2:01       ` [PATCH 1/1] glibc: refresh patch to also fix qemuppc ChenQi
  1 sibling, 1 reply; 7+ messages in thread
From: Martin Jansa @ 2018-09-30 16:27 UTC (permalink / raw)
  To: openembedded-core

* drop one patch already applied in upstream

* this is still only partial fix for issues with -O0 and the bigger
  issue might be detected in runtime as described in:
  https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
  https://sourceware.org/bugzilla/show_bug.cgi?id=19444
  and tested in glibc build:
  https://sourceware.org/git/?p=glibc.git;a=blob;f=include/libc-symbols.h;h=8b9273c13a19f2658105c7997267d9086adae716;hb=HEAD#l74

* restore the anonymous python to trigger fatal error when -O0 is
  used (but don't restore the notes for -O, -O1, -Os

* git log --oneline 3c03baca37fdcb52c3881e653ca392bba7a99c2b..044c96f0d5595aeb0bb4e79355081c5a7f4faca5 | tee
044c96f0d5 Fix misreported errno on preadv2/pwritev2 (BZ#23579)
3a67c72c15 Fix stack overflow in tst-setcontext9 (bug 23717)
2339d6a55e i386: Use ENTRY and END in start.S [BZ #23606]
0ef2f4400c Fix strstr bug with huge needles (bug 23637)
a55e109709 Fix tst-setcontext9 for optimized small stacks.
307d04334d misc: New test misc/tst-gethostid
e7d22db29c Linux gethostid: Check for NULL value from gethostbyname_r [BZ #23679]
1fe2b9ca8a Fix segfault in maybe_script_execute.
0b79004569 regex: Add test tst-regcomp-truncated [BZ #23578]
58559f1443 regex: fix uninitialized memory access
aa8a3e4cde pthread_cond_broadcast: Fix waiters-after-spinning case [BZ #23538]
c87b5bab24 Improve ChangeLog message.
66fdfd57fe Regen RISC-V rvd ULPs
b0aa03dfff RISC-V: Fix rounding save/restore bug.
2f498f3d14 nss_files: Fix file stream leak in aliases lookup [BZ #23521]
bfcfa22589 nscd: Deallocate existing user names in file parser
d05b05d157 error, error_at_line: Add missing va_end calls
4b25485f03 Linux: Rewrite __old_getdents64 [BZ #23497]
726e1554ce hurd: Avoid PLTs for __pthread_get/setspecific
7f11842e74 hurd: Add missing symbols for proper libc_get/setspecific

* update 0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
  based on review comments in upstream and extend it to cover PPC based
  on:
  http://lists.openembedded.org/pipermail/openembedded-core/2018-September/156258.html

* update 0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
  based on review comments in upstream

* add 0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
  with a fix for aarch64 build with -Os

* build tested with qemuarm, qemuarm64, qemux86, qemux86-64, qemuppc,
  qemumips, qemumips64 with -O, -O1, -Os.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-core/glibc/glibc.inc             |   9 +
 ...Check-for-NULL-value-from-gethostbyn.patch |  38 ---
 ...Look-for-host-system-ld.so.cache-as-.patch |   8 +-
 ...Fix-buffer-overrun-with-a-relocated-.patch |   8 +-
 ...Raise-the-size-of-arrays-containing-.patch |   8 +-
 ...k-glibc-Allow-64-bit-atomics-for-x86.patch |   7 +-
 ...Make-relocatable-install-for-locales.patch |   7 +-
 ...5500-e6500-603e-fsqrt-implementation.patch |   7 +-
 ...RE_KNOWN_INTERPRETER_NAMES-to-known-.patch |   8 +-
 ...undefined-reference-to-__sqrt_finite.patch |   7 +-
 ...-are-now-inline-functions-and-call-o.patch |   9 +-
 ...443-which-explains-what-the-patch-do.patch |   8 +-
 ...m-err-tab.pl-with-specific-dirs-in-S.patch |   7 +-
 ...-are-now-inline-functions-and-call-o.patch |   9 +-
 ...igure.ac-handle-correctly-libc_cv_ro.patch |   7 +-
 .../glibc/0014-Add-unused-attribute.patch     |   7 +-
 ...the-path-sets-wrong-config-variables.patch |   7 +-
 ...zone-re-written-tzselect-as-posix-sh.patch |   7 +-
 ...bash-dependency-for-nscd-init-script.patch |   7 +-
 ...ss-building-and-testing-instructions.patch |   7 +-
 ...glibc-Help-bootstrap-cross-toolchain.patch |   7 +-
 ...0-eglibc-Clear-cache-lines-on-ppc8xx.patch |   7 +-
 ...eglibc-Resolve-__fpscr_values-on-SH4.patch |   7 +-
 ...port-cross-locale-generation-support.patch |   7 +-
 ...Define-DUMMY_LOCALE_T-if-not-defined.patch |   7 +-
 ...ke-_dl_build_local_scope-breadth-fir.patch |   7 +-
 ...le-fix-hard-coded-reference-to-gcc-E.patch |   7 +-
 ...set-dl_load_write_lock-after-forking.patch |   7 +-
 ...ck-before-switching-to-malloc_atfork.patch |   7 +-
 ...sts.h-enum-definition-for-TRAP_HWBKP.patch |   9 +-
 ...-archive-uses-a-hard-coded-locale-pa.patch |  25 +-
 ...it-no-lines-in-bison-generated-files.patch |   7 +-
 ...prevent-maybe-uninitialized-errors-w.patch | 258 ++++++++++++++++++
 ...4-prevent-maybe-uninitialized-errors.patch |  95 -------
 ...2-soft-fp-ignore-maybe-uninitialized.patch |  72 -----
 ...soft-fp-ignore-maybe-uninitialized-w.patch | 100 +++++++
 ...aybe-uninitialized-errors-with-Os-BZ.patch |  68 +++++
 meta/recipes-core/glibc/glibc_2.28.bb         |   8 +-
 38 files changed, 512 insertions(+), 375 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch
 create mode 100644 meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
 delete mode 100644 meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
 delete mode 100644 meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch
 create mode 100644 meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
 create mode 100644 meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch

diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index e673707369..ddf0c6b80e 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -6,6 +6,15 @@ STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
 STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
 PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
 
+python () {
+    opt_effective = "-O"
+    for opt in d.getVar('SELECTED_OPTIMIZATION').split():
+        if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
+            opt_effective = opt
+    if opt_effective == "-O0":
+        bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective))
+}
+
 # siteconfig.bbclass runs configure which needs a working compiler
 # For the compiler to work we need a working libc yet libc isn't
 # in the sysroots directory at this point. This means the libc.so
diff --git a/meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch b/meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch
deleted file mode 100644
index 3cf3266ba1..0000000000
--- a/meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e7d22db29cfdd2f1fb97a70a76fa53d151569945 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Thu, 20 Sep 2018 12:41:13 +0200
-Subject: [PATCH] Linux gethostid: Check for NULL value from gethostbyname_r [BZ #23679]
-
-A NULL value can happen with certain gethostbyname_r failures.
-
-(cherry picked from commit 1214ba06e6771acb953a190091b0f6055c64fd25)
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=1214ba06e6771acb953a190091b0f6055c64fd25]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- sysdeps/unix/sysv/linux/gethostid.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sysdeps/unix/sysv/linux/gethostid.c b/sysdeps/unix/sysv/linux/gethostid.c
-index 2e20f034dc..ee0190e7f9 100644
---- a/sysdeps/unix/sysv/linux/gethostid.c
-+++ b/sysdeps/unix/sysv/linux/gethostid.c
-@@ -102,12 +102,12 @@ gethostid (void)
-     {
-       int ret = __gethostbyname_r (hostname, &hostbuf,
- 				   tmpbuf.data, tmpbuf.length, &hp, &herr);
--      if (ret == 0)
-+      if (ret == 0 && hp != NULL)
- 	break;
-       else
- 	{
- 	  /* Enlarge the buffer on ERANGE.  */
--	  if (herr == NETDB_INTERNAL && errno == ERANGE)
-+	  if (ret != 0 && herr == NETDB_INTERNAL && errno == ERANGE)
- 	    {
- 	      if (!scratch_buffer_grow (&tmpbuf))
- 		return 0;
--- 
-2.17.1
-
diff --git a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
index 14089350d9..5df26a8545 100644
--- a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
+++ b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
@@ -1,8 +1,7 @@
-From 70fd60e2a8f40a160736cb9b268dfa6508aa55a7 Mon Sep 17 00:00:00 2001
+From bd51b3add89a5cb2d8f44029a1027c780b2afff5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:48:24 +0000
-Subject: [PATCH 01/30] nativesdk-glibc: Look for host system ld.so.cache as
- well
+Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
 
 Upstream-Status: Inappropriate [embedded specific]
 
@@ -64,6 +63,3 @@ index c51e4b3718..44bbb69dc4 100644
        /* Add another newline when we are tracing the library loading.  */
        if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
  	_dl_debug_printf ("\n");
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
index 382915e840..daadec76c7 100644
--- a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
+++ b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -1,8 +1,7 @@
-From f0dd22dfdbf822afc674724c35cc462cfafbc186 Mon Sep 17 00:00:00 2001
+From fdc8a33ac2c81a0237b8a6d8b1aac7f1cdbb46af Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:50:00 +0000
-Subject: [PATCH 02/30] nativesdk-glibc: Fix buffer overrun with a relocated
- SDK
+Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
 
 When ld-linux-*.so.2 is relocated to a path that is longer than the
 original fixed location, the dynamic loader will crash in open_path
@@ -45,6 +44,3 @@ index 44bbb69dc4..74e2e5e962 100644
    do
      {
        struct r_search_path_elem *this_dir = *dirs;
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index f83e8192e2..e082540303 100644
--- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,8 +1,7 @@
-From 5962ca897efe965745e193c12041693c9e07dd24 Mon Sep 17 00:00:00 2001
+From 055dd46b793168fb08e44913153010b088011ba2 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:51:38 +0000
-Subject: [PATCH 03/30] nativesdk-glibc: Raise the size of arrays containing dl
- paths
+Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
 
 This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
 and lengths as well as ld.so.cache path in the dynamic loader to specific
@@ -135,6 +134,3 @@ index cf43f1cf3b..7f07adde53 100644
  #ifndef add_system_dir
  # define add_system_dir(dir) add_dir (dir)
  #endif
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
index a0957e6a7b..1ae2e33b4f 100644
--- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
+++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
@@ -1,7 +1,7 @@
-From ee17ca0a6b122466c484301ea9fe029dc7e5498f Mon Sep 17 00:00:00 2001
+From a237553ccd15276462be2023057a017fa8ee5d7c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 14:35:35 -0800
-Subject: [PATCH 04/30] nativesdk-glibc: Allow 64 bit atomics for x86
+Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
 
 The fix consist of allowing 64bit atomic ops for x86.
 This should be safe for i586 and newer CPUs.
@@ -29,6 +29,3 @@ index 272da5dd8f..409c759f14 100644
  #define USE_ATOMIC_COMPILER_BUILTINS 0
  #define ATOMIC_EXCHANGE_USES_CAS 0
  
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
index 56ff398753..b53f2ef2e2 100644
--- a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
+++ b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
@@ -1,7 +1,7 @@
-From 7195d203c6986ccdb39053933b703391ccc6854a Mon Sep 17 00:00:00 2001
+From e1dc85af1800afa4fbf4eb5a59cc41025495af57 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 3 Aug 2018 09:55:12 -0700
-Subject: [PATCH 05/30] nativesdk-glibc: Make relocatable install for locales
+Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
 
 The glibc locale path is hard-coded to the install prefix, but in SDKs we need
 to be able to relocate the binaries.  Expand the strings to 4K and put them in a
@@ -65,6 +65,3 @@ index 68822a6319..537bc35149 100644
  
  /* Load the locale data for CATEGORY from the file specified by *NAME.
     If *NAME is "", use environment variables as specified by POSIX, and
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
index 1e712d5eba..971700a6df 100644
--- a/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
+++ b/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
@@ -1,7 +1,7 @@
-From b28e06d87a43e6aacff5624aaec75106599edec8 Mon Sep 17 00:00:00 2001
+From d23c577b0b70b34335971abaf3f50e617dda615e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:01:50 +0000
-Subject: [PATCH 06/30] fsl e500/e5500/e6500/603e fsqrt implementation
+Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation
 
 Upstream-Status: Pending
 Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
@@ -1579,6 +1579,3 @@ index 0000000000..04ff8cc181
 +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies
 @@ -0,0 +1 @@
 +powerpc/powerpc64/e6500/fpu
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
index 251e9dd4b1..4871346838 100644
--- a/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
+++ b/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
@@ -1,8 +1,7 @@
-From fd2bd3037ef49f67f12659b6aaba02f76e131a24 Mon Sep 17 00:00:00 2001
+From d65f6ee214d7d91445fceabc6a5d6bf55b0e8d4b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:11:22 +0000
-Subject: [PATCH 07/30] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
- names
+Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
 
 This bolts in a hook for OE to pass its own version of interpreter
 names into glibc especially for multilib case, where it differs from any
@@ -28,6 +27,3 @@ index 573c01476c..d8c7412287 100644
  };
  
  static struct known_names known_libs[] =
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
index 67439c4b87..c0d96eb1f5 100644
--- a/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
+++ b/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
@@ -1,7 +1,7 @@
-From b696fe0c6147afc375ae573063a92a53857248eb Mon Sep 17 00:00:00 2001
+From ee3aa1464f40c916c62cf326bf4c18f8b71a229b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:15:07 +0000
-Subject: [PATCH 08/30] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
+Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
 
 on ppc fixes the errors like below
 | ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
@@ -203,6 +203,3 @@ index 26fa067abf..9d175122a8 100644
    return f_washf (b);
  }
 +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index 1d27a56c79..d0b47cd67b 100644
--- a/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,8 +1,8 @@
-From 324aa1ffbf85ebd06b54f228604d6651895c1eea Mon Sep 17 00:00:00 2001
+From 17e82d594b2d8d3a6998face953382f9d14fb046 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:16:38 +0000
-Subject: [PATCH 09/30] __ieee754_sqrt{,f} are now inline functions and call
- out __slow versions
+Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
+ __slow versions
 
 Upstream-Status: Pending
 
@@ -382,6 +382,3 @@ index 9d175122a8..10de1f0cc3 100644
 +}
 +
  strong_alias (__ieee754_sqrtf, __sqrtf_finite)
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
index 6b2bf65cac..86ef3a1059 100644
--- a/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
+++ b/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
@@ -1,8 +1,7 @@
-From f6581da98bef982c888061fa06092c03f3c6c708 Mon Sep 17 00:00:00 2001
+From fe8d9b76e7c881cc0a0b728ea2bd637fafca0978 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:20:09 +0000
-Subject: [PATCH 10/30] Quote from bug 1443 which explains what the patch does
- :
+Subject: [PATCH] Quote from bug 1443 which explains what the patch does :
 
   We build some random program and link it with -lust.  When we run it,
   it dies with a SIGSEGV before reaching main().
@@ -57,6 +56,3 @@ index 1a4fd3f17b..a02c47571a 100644
  	  break;
  
  	case R_ARM_TLS_TPOFF32:
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
index dfe2fe4b83..32aae5cd53 100644
--- a/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
+++ b/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
@@ -1,7 +1,7 @@
-From 635d4a48c331b5ccc9165a6f622091845a5245b0 Mon Sep 17 00:00:00 2001
+From 3012cb839a64e7d5c621efa79b643d169290e6e9 Mon Sep 17 00:00:00 2001
 From: Ting Liu <b28495@freescale.com>
 Date: Wed, 19 Dec 2012 04:39:57 -0600
-Subject: [PATCH 11/30] eglibc: run libm-err-tab.pl with specific dirs in ${S}
+Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S}
 
 libm-err-tab.pl will parse all the files named "libm-test-ulps"
 in the given dir recursively. To avoid parsing the one in
@@ -31,6 +31,3 @@ index c2756640a7..1b5bb16a96 100644
  	$(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
  	touch $@
  
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index 3fcaedd8ef..93395c389f 100644
--- a/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,8 +1,8 @@
-From 11991e14957063b0e5fa366d836f42dd6d3e10cd Mon Sep 17 00:00:00 2001
+From 93ab69ae4c98303929ba9492130a021fa4a215be Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:24:46 +0000
-Subject: [PATCH 12/30] __ieee754_sqrt{,f} are now inline functions and call
- out __slow versions
+Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
+ __slow versions
 
 Upstream-Status: Pending
 
@@ -56,6 +56,3 @@ index 812653558f..10de1f0cc3 100644
       float b;
  #endif
  {
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
index 32796354a0..9998691fa4 100644
--- a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
+++ b/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
@@ -1,7 +1,7 @@
-From 36b0c04436f6ec7dc270d387cb036b5361544618 Mon Sep 17 00:00:00 2001
+From a7bd8aa65f3f2755d6dbd0d5adbfd269c1fb0094 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:27:10 +0000
-Subject: [PATCH 13/30] sysdeps/gnu/configure.ac: handle correctly
+Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly
  $libc_cv_rootsbindir
 
 Upstream-Status:Pending
@@ -37,6 +37,3 @@ index 634fe4de2a..3db1697f4f 100644
 +  test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin
    ;;
  esac
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
index cfc044506b..9d6ab30e2c 100644
--- a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
+++ b/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
@@ -1,7 +1,7 @@
-From f1969e4c95e810280edf5e11c8a6f32b3a56e2fb Mon Sep 17 00:00:00 2001
+From 2ce5bc6da23dcb402afdeb967fa44c39eecf6d37 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:28:41 +0000
-Subject: [PATCH 14/30] Add unused attribute
+Subject: [PATCH] Add unused attribute
 
 Helps in avoiding gcc warning when header is is included in
 a source file which does not use both functions
@@ -29,6 +29,3 @@ index 123e2a62ce..63cc83ec84 100644
  strip (char *wp, const char *s)
  {
    int slash_count = 0;
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
index 217a3f6088..0267e7a4ec 100644
--- a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
+++ b/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
@@ -1,7 +1,7 @@
-From be9965d0e53db1d7fe9419710a84c75526a18cc0 Mon Sep 17 00:00:00 2001
+From b382138c41ccf6079b44592f1e74f183ca8281bb Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:31:06 +0000
-Subject: [PATCH 15/30] 'yes' within the path sets wrong config variables
+Subject: [PATCH] 'yes' within the path sets wrong config variables
 
 It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
 but being such a short word to grep it is likely to produce
@@ -258,6 +258,3 @@ index f9cba6e15d..b21f72f1e4 100644
                         #endif
      ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
    if test $libc_cv_ppc64_def_call_elf = no; then
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
index 719193cbf9..15453ec6ff 100644
--- a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
+++ b/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
@@ -1,7 +1,7 @@
-From 60694f7ed69c8b711ffe37ce157032e85f60347b Mon Sep 17 00:00:00 2001
+From 04fb7b93dc40c1f96ebc05d29a2f02f9e4f0d572 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:33:03 +0000
-Subject: [PATCH 16/30] timezone: re-written tzselect as posix sh
+Subject: [PATCH] timezone: re-written tzselect as posix sh
 
 To avoid the bash dependency.
 
@@ -40,6 +40,3 @@ index d2c3a6d1dd..089679f306 100755
  
  # Output one argument as-is to standard output.
  # Safer than 'echo', which can mishandle '\' or leading '-'.
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
index e1a0d4918a..06d2cd1d25 100644
--- a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
+++ b/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
@@ -1,7 +1,7 @@
-From 0d6e36d38569ec716331c48a2187b391f5680363 Mon Sep 17 00:00:00 2001
+From 7a2f244c0980a54ed74f9544ab44a7269ef12bce Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 14:33:02 -0800
-Subject: [PATCH 17/30] Remove bash dependency for nscd init script
+Subject: [PATCH] Remove bash dependency for nscd init script
 
 The nscd init script uses #! /bin/bash but only really uses one bashism
 (translated strings), so remove them and switch the shell to #!/bin/sh.
@@ -70,6 +70,3 @@ index a882da7d8b..b02986ec15 100644
  	RETVAL=1
  	;;
  esac
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
index fa8d127f7a..29109a26ea 100644
--- a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
+++ b/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
@@ -1,7 +1,7 @@
-From 448222134c9a0b147c4598f288ccc9d045b873c4 Mon Sep 17 00:00:00 2001
+From 44a5c79efea09f5b990e524ec42abdeef444056a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:42:58 +0000
-Subject: [PATCH 18/30] eglibc: Cross building and testing instructions
+Subject: [PATCH] eglibc: Cross building and testing instructions
 
 Ported from eglibc
 Upstream-Status: Pending
@@ -614,6 +614,3 @@ index 0000000000..b67b468466
 +- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we
 +  simply place copies of these libraries in the top GLIBC build
 +  directory.
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
index c7e8bd2ee9..71c2ab9180 100644
--- a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
+++ b/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
@@ -1,7 +1,7 @@
-From 6b8ee1ae86f8b9a49f751ab211002c83744356a6 Mon Sep 17 00:00:00 2001
+From f4ec5527d562d38523abb8587a6c7532e9d21f8a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:49:28 +0000
-Subject: [PATCH 19/30] eglibc: Help bootstrap cross toolchain
+Subject: [PATCH] eglibc: Help bootstrap cross toolchain
 
 Taken from EGLIBC, r1484 + r1525
 
@@ -95,6 +95,3 @@ index 0000000000..1d2b669aff
 +   difficult headers.  The <gnu/stubs.h> header depends, via the
 +   EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
 +   an empty stubs.h like this will do fine for GCC.  */
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch b/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
index d3f4b6a319..6e475a711e 100644
--- a/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
+++ b/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
@@ -1,7 +1,7 @@
-From 617ca176291df82c29d8c78e92ba8edcb38a2fe2 Mon Sep 17 00:00:00 2001
+From 6c23660d035e71de0e20b40460ad3050bd057665 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 15:15:09 -0800
-Subject: [PATCH 20/30] eglibc: Clear cache lines on ppc8xx
+Subject: [PATCH] eglibc: Clear cache lines on ppc8xx
 
 2007-06-13  Nathan Sidwell  <nathan@codesourcery.com>
             Mark Shinwell  <shinwell@codesourcery.com>
@@ -78,6 +78,3 @@ index f2ad0c355d..3e6773795e 100644
  	__cache_line_size = av->a_un.a_val;
  	break;
  #ifndef SHARED
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
index 881bd911fc..8aecf2624c 100644
--- a/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
+++ b/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
@@ -1,7 +1,7 @@
-From 78e379d65f4fc810fb095a97c4f36f0b79bb5e01 Mon Sep 17 00:00:00 2001
+From 55531ef57d04006c5a1e3b32a8e0410372f86007 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:55:53 +0000
-Subject: [PATCH 21/30] eglibc: Resolve __fpscr_values on SH4
+Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
 
 2010-09-29  Nobuhiro Iwamatsu  <iwamatsu@nigauri.org>
             Andrew Stubbs  <ams@codesourcery.com>
@@ -51,6 +51,3 @@ index c4e28ffb98..648bae03d5 100644
 +       .long 0x80000
 +weak_alias (___fpscr_values, __fpscr_values)
 +
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
index 04a5be7fcb..aa62c6352c 100644
--- a/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
+++ b/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
@@ -1,7 +1,7 @@
-From 3e24f9d63aef5561b80fc7c345ce61943910e69b Mon Sep 17 00:00:00 2001
+From 4bb23fbb07984b93fd14f353fd9325d927b0cd98 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:33:49 +0000
-Subject: [PATCH 22/30] eglibc: Forward port cross locale generation support
+Subject: [PATCH] eglibc: Forward port cross locale generation support
 
 Upstream-Status: Pending
 
@@ -561,6 +561,3 @@ index e4de907e1f..b5d8f5c17d 100644
  #ifdef NL_CURRENT_INDIRECT
  # define WEAK_POSTLOAD(postload) weak_extern (postload)
  #else
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch b/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
index 092e90e5e3..68fad96410 100644
--- a/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
+++ b/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
@@ -1,7 +1,7 @@
-From 24f3fbd925b6af96c4369184528028b144b51310 Mon Sep 17 00:00:00 2001
+From 1b2ceb6c2414e3c98c7bcd029583287ced9f3159 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 20 Apr 2016 21:11:00 -0700
-Subject: [PATCH 23/30] Define DUMMY_LOCALE_T if not defined
+Subject: [PATCH] Define DUMMY_LOCALE_T if not defined
 
 This is a hack to fix building the locale bits on an older
 CentOs 5.X machine
@@ -27,6 +27,3 @@ index 9956cd8446..04342f3644 100644
  /* Use the internal textdomain used for libc messages.  */
  #define PACKAGE _libc_intl_domainname
  #ifndef VERSION
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
index c78b4a3325..28cff2b90b 100644
--- a/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
+++ b/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
@@ -1,7 +1,7 @@
-From 9f02a73c41782688f43e01bc2adbba09fc83b51e Mon Sep 17 00:00:00 2001
+From a6159c9486745664a5f116ee9cc45837021b7624 Mon Sep 17 00:00:00 2001
 From: Mark Hatle <mark.hatle@windriver.com>
 Date: Thu, 18 Aug 2016 14:07:58 -0500
-Subject: [PATCH 24/30] elf/dl-deps.c: Make _dl_build_local_scope breadth first
+Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first
 
 According to the ELF specification:
 
@@ -51,6 +51,3 @@ index 9d9b1ba7f2..8414028c58 100644
    return p - list;
  }
  
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
index 5eb1a019a4..4a7919ff5b 100644
--- a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
+++ b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
@@ -1,7 +1,7 @@
-From 985b3d9e9b3f99f5a23c0c68e8657e311ca6f42d Mon Sep 17 00:00:00 2001
+From 6c6aecba19b3e7947100623532a41b6f16734ace Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= <jeremy.rosen@smile.fr>
 Date: Mon, 22 Aug 2016 16:09:25 +0200
-Subject: [PATCH 25/30] locale: fix hard-coded reference to gcc -E
+Subject: [PATCH] locale: fix hard-coded reference to gcc -E
 
 When new version of compilers are published, they may not be compatible with
 older versions of software. This is particularly common when software is built
@@ -33,6 +33,3 @@ index 30d3f2f195..e97653017c 100644
  
  
  sub cstrlen {
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch b/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
index ad10b3c715..71ddc1234b 100644
--- a/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
+++ b/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
@@ -1,7 +1,7 @@
-From c26abfc71ef461ef4980f57a35870b68826bd619 Mon Sep 17 00:00:00 2001
+From efb0fca7db742f4195e1771d8ba4c7fba4938819 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 27 Jan 2018 10:05:07 -0800
-Subject: [PATCH 26/30] reset dl_load_write_lock after forking
+Subject: [PATCH] reset dl_load_write_lock after forking
 
 The patch in this Bugzilla entry was requested by a customer:
 
@@ -35,6 +35,3 @@ index ec56a827eb..0f48933ff1 100644
        /* Run the handlers registered for the child.  */
        __run_fork_handlers (atfork_run_child);
      }
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch b/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
index 1ad14b7fc3..dd37f2cd4d 100644
--- a/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
+++ b/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
@@ -1,7 +1,7 @@
-From c3e04a90dd762cad4ee9bd7564d74e052781be5c Mon Sep 17 00:00:00 2001
+From 6ea962e0946da7564a774b08dd3eda28d64e9e56 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 27 Jan 2018 10:08:04 -0800
-Subject: [PATCH 27/30] Acquire ld.so lock before switching to malloc_atfork
+Subject: [PATCH] Acquire ld.so lock before switching to malloc_atfork
 
 The patch is from
   https://sourceware.org/bugzilla/show_bug.cgi?id=4578
@@ -63,6 +63,3 @@ index 0f48933ff1..eef3f9669b 100644
      }
  
    return pid;
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch b/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
index 8f0b05694f..fae8d0040d 100644
--- a/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
+++ b/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
@@ -1,8 +1,8 @@
-From 55cc59b7da97b80cd26027656a252082b09aa2bb Mon Sep 17 00:00:00 2001
+From 38fad3e5ab3b45c56810abd35fa11a72fa10b8f1 Mon Sep 17 00:00:00 2001
 From: Pratyush Anand <panand@redhat.com>
 Date: Wed, 22 Mar 2017 17:02:38 +0530
-Subject: [PATCH 28/30] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT
- is missing
+Subject: [PATCH] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT is
+ missing
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -64,6 +64,3 @@ index 193bd9c471..3fe852bc5f 100644
  };
  # endif
  
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
index 8bdd466806..e17f6aa3b9 100644
--- a/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
+++ b/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
@@ -1,8 +1,7 @@
-From 5a6f019ded549faaf42478f6f96428dc7c20606e Mon Sep 17 00:00:00 2001
+From 865651d2496a90f7ae8e7cc19a2e54b6f17a8ad5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 3 Aug 2018 09:42:06 -0700
-Subject: [PATCH 29/30] localedef --add-to-archive uses a hard-coded locale
- path
+Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
 
 it doesn't exist in normal use, and there's no way to pass an
 alternative filename.
@@ -15,14 +14,14 @@ Upstream-Status: Inappropriate (OE-specific)
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- locale/programs/locarchive.c | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
+ locale/programs/locarchive.c | 37 ++++++++++++++++++++++++++----------
+ 1 file changed, 27 insertions(+), 10 deletions(-)
 
-Index: git/locale/programs/locarchive.c
-===================================================================
---- git.orig/locale/programs/locarchive.c
-+++ git/locale/programs/locarchive.c
-@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah,
+diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
+index ca332a345f..91f62da662 100644
+--- a/locale/programs/locarchive.c
++++ b/locale/programs/locarchive.c
+@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
    struct namehashent *oldnamehashtab;
    struct locarhandle new_ah;
    size_t prefix_len = output_prefix ? strlen (output_prefix) : 0;
@@ -52,7 +51,7 @@ Index: git/locale/programs/locarchive.c
    strcpy (stpcpy (fname, archivefname), ".XXXXXX");
  
    /* Not all of the old file has to be mapped.  Change this now this
-@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah,
+@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
  
    /* Add the information for the new one.  */
    *ah = new_ah;
@@ -61,7 +60,7 @@ Index: git/locale/programs/locarchive.c
  }
  
  
-@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bo
+@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bool readonly)
    /* If ah has a non-NULL fname open that otherwise open the default.  */
    if (archivefname == NULL)
      {
@@ -79,7 +78,7 @@ Index: git/locale/programs/locarchive.c
      }
  
    while (1)
-@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bo
+@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bool readonly)
  	     the default locale archive we ignore the failure and
  	     list an empty archive, otherwise we print an error
  	     and exit.  */
diff --git a/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch b/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
index f0a950aca9..db97d91c99 100644
--- a/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
+++ b/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
@@ -1,7 +1,7 @@
-From 959f3fc8743cbb3b13c3be11ee359f139f5be8c7 Mon Sep 17 00:00:00 2001
+From a54c15d0567d547137066f41b1b22eba4875c27b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 3 Aug 2018 09:44:00 -0700
-Subject: [PATCH 30/30] intl: Emit no lines in bison generated files
+Subject: [PATCH] intl: Emit no lines in bison generated files
 
 Improve reproducibility:
 Do not put any #line preprocessor commands in bison generated files.
@@ -29,6 +29,3 @@ index 672edf1b38..d31888d013 100644
  
  $(inst_localedir)/locale.alias: locale.alias $(+force)
  	$(do-install)
--- 
-2.18.0
-
diff --git a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
new file mode 100644
index 0000000000..61f55d4f83
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
@@ -0,0 +1,258 @@
+From 546b46c309a52ed74dc906114b1e984bb9703d74 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Fri, 14 Sep 2018 23:23:03 +0000
+Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors with -O
+ [BZ #19444]
+
+With -O included in CFLAGS it fails to build with:
+
+../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
+../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+      b = invsqrtpi * temp / sqrtl (x);
+          ~~~~~~~~~~^~~~~~
+../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
+../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+  b = invsqrtpi * temp / sqrtl (x);
+      ~~~~~~~~~~^~~~~~
+../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_jn':
+../sysdeps/ieee754/dbl-64/e_jn.c:113:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+      b = invsqrtpi * temp / sqrt (x);
+          ~~~~~~~~~~^~~~~~
+../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_yn':
+../sysdeps/ieee754/dbl-64/e_jn.c:320:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+  b = invsqrtpi * temp / sqrt (x);
+      ~~~~~~~~~~^~~~~~
+
+Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
+with -O, -O1, -Os.
+For soft-fp ARM it needs one more fix for -O1:
+https://sourceware.org/ml/libc-alpha/2018-09/msg00300.html
+For AARCH64 it needs one more fix in locale for -Os.
+
+        [BZ #23716]
+        * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
+        * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
+        * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
+        * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
+
+Work around the issue instead of removing -O like we do with
+SELECTED_OPTIMIZATION
+
+Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ ChangeLog                           |  7 +++++++
+ sysdeps/ieee754/dbl-64/e_jn.c       | 21 +++++++++++++++++++++
+ sysdeps/ieee754/ldbl-128/e_jnl.c    | 21 +++++++++++++++++++++
+ sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 21 +++++++++++++++++++++
+ sysdeps/ieee754/ldbl-96/e_jnl.c     | 21 +++++++++++++++++++++
+ 5 files changed, 91 insertions(+)
+
+diff --git a/ChangeLog b/ChangeLog
+index 11a9b8d98e..922e916f2c 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,10 @@
++2018-09-29  Martin Jansa  <Martin.Jansa@gmail.com>
++	Partial fix for [BZ #23716]
++	* sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
++	* sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
++	* sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
++	* sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
++
+ 2018-09-28  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+ 
+ 	[BZ #23579]
+diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
+index 9181b22bb8..9ff52c737f 100644
+--- a/sysdeps/ieee754/dbl-64/e_jn.c
++++ b/sysdeps/ieee754/dbl-64/e_jn.c
+@@ -42,6 +42,7 @@
+ #include <math-narrow-eval.h>
+ #include <math_private.h>
+ #include <math-underflow.h>
++#include <libc-diag.h>
+ 
+ static const double
+   invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
+@@ -109,7 +110,17 @@ __ieee754_jn (int n, double x)
+ 	      case 2: temp = -c - s; break;
+ 	      case 3: temp = c - s; break;
+ 	      }
++	    /* With GCC 8 (and older) when compiling with -O the compiler
++	       warns that the variable 'temp', may be used uninitialized.
++	       The switch above covers all possible values of n & 3
++	       but GCC without VRP enabled isn't able to figure out the
++	       range of possible values is [0,3] as explained in:
++	       https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
++	       so it's false possitive with -O1 and lower. */
++	    DIAG_PUSH_NEEDS_COMMENT;
++	    DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ 	    b = invsqrtpi * temp / sqrt (x);
++	    DIAG_POP_NEEDS_COMMENT;
+ 	  }
+ 	else
+ 	  {
+@@ -316,7 +327,17 @@ __ieee754_yn (int n, double x)
+ 	  case 2: temp = -s + c; break;
+ 	  case 3: temp = s + c; break;
+ 	  }
++	/* With GCC 8 (and older) when compiling with -O the compiler
++	   warns that the variable 'temp', may be used uninitialized.
++	   The switch above covers all possible values of n & 3
++	   but GCC without VRP enabled isn't able to figure out the
++	   range of possible values is [0,3] as explained in:
++	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
++	   so it's false possitive with -O1 and lower. */
++	DIAG_PUSH_NEEDS_COMMENT;
++	DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ 	b = invsqrtpi * temp / sqrt (x);
++	DIAG_POP_NEEDS_COMMENT;
+       }
+     else
+       {
+diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
+index 7739eec291..8706a11575 100644
+--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
++++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
+@@ -61,6 +61,7 @@
+ #include <math.h>
+ #include <math_private.h>
+ #include <math-underflow.h>
++#include <libc-diag.h>
+ 
+ static const _Float128
+   invsqrtpi = L(5.6418958354775628694807945156077258584405E-1),
+@@ -150,7 +151,17 @@ __ieee754_jnl (int n, _Float128 x)
+ 		temp = c - s;
+ 		break;
+ 	      }
++	    /* With GCC 8 (and older) when compiling with -O the compiler
++	       warns that the variable 'temp', may be used uninitialized.
++	       The switch above covers all possible values of n & 3
++	       but GCC without VRP enabled isn't able to figure out the
++	       range of possible values is [0,3] as explained in:
++	       https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
++	       so it's false possitive with -O1 and lower. */
++	    DIAG_PUSH_NEEDS_COMMENT;
++	    DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ 	    b = invsqrtpi * temp / sqrtl (x);
++	    DIAG_POP_NEEDS_COMMENT;
+ 	  }
+ 	else
+ 	  {
+@@ -386,7 +397,17 @@ __ieee754_ynl (int n, _Float128 x)
+ 	    temp = s + c;
+ 	    break;
+ 	  }
++	/* With GCC 8 (and older) when compiling with -O the compiler
++	   warns that the variable 'temp', may be used uninitialized.
++	   The switch above covers all possible values of n & 3
++	   but GCC without VRP enabled isn't able to figure out the
++	   range of possible values is [0,3] as explained in:
++	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
++	   so it's false possitive with -O1 and lower. */
++	DIAG_PUSH_NEEDS_COMMENT;
++	DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ 	b = invsqrtpi * temp / sqrtl (x);
++	DIAG_POP_NEEDS_COMMENT;
+       }
+     else
+       {
+diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
+index 71b3addfba..3226d02309 100644
+--- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
++++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
+@@ -61,6 +61,7 @@
+ #include <math.h>
+ #include <math_private.h>
+ #include <math-underflow.h>
++#include <libc-diag.h>
+ 
+ static const long double
+   invsqrtpi = 5.6418958354775628694807945156077258584405E-1L,
+@@ -150,7 +151,17 @@ __ieee754_jnl (int n, long double x)
+ 		temp = c - s;
+ 		break;
+ 	      }
++	    /* With GCC 8 (and older) when compiling with -O the compiler
++	       warns that the variable 'temp', may be used uninitialized.
++	       The switch above covers all possible values of n & 3
++	       but GCC without VRP enabled isn't able to figure out the
++	       range of possible values is [0,3] as explained in:
++	       https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
++	       so it's false possitive with -O1 and lower. */
++	    DIAG_PUSH_NEEDS_COMMENT;
++	    DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ 	    b = invsqrtpi * temp / sqrtl (x);
++	    DIAG_POP_NEEDS_COMMENT;
+ 	  }
+ 	else
+ 	  {
+@@ -386,7 +397,17 @@ __ieee754_ynl (int n, long double x)
+ 	    temp = s + c;
+ 	    break;
+ 	  }
++	/* With GCC 8 (and older) when compiling with -O the compiler
++	   warns that the variable 'temp', may be used uninitialized.
++	   The switch above covers all possible values of n & 3
++	   but GCC without VRP enabled isn't able to figure out the
++	   range of possible values is [0,3] as explained in:
++	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
++	   so it's false possitive with -O1 and lower. */
++	DIAG_PUSH_NEEDS_COMMENT;
++	DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ 	b = invsqrtpi * temp / sqrtl (x);
++	DIAG_POP_NEEDS_COMMENT;
+       }
+     else
+       {
+diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
+index 394921f564..da5c2cc93e 100644
+--- a/sysdeps/ieee754/ldbl-96/e_jnl.c
++++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
+@@ -61,6 +61,7 @@
+ #include <math.h>
+ #include <math_private.h>
+ #include <math-underflow.h>
++#include <libc-diag.h>
+ 
+ static const long double
+   invsqrtpi = 5.64189583547756286948079e-1L, two = 2.0e0L, one = 1.0e0L;
+@@ -143,7 +144,17 @@ __ieee754_jnl (int n, long double x)
+ 		temp = c - s;
+ 		break;
+ 	      }
++	    /* With GCC 8 (and older) when compiling with -O the compiler
++	       warns that the variable 'temp', may be used uninitialized.
++	       The switch above covers all possible values of n & 3
++	       but GCC without VRP enabled isn't able to figure out the
++	       range of possible values is [0,3] as explained in:
++	       https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
++	       so it's false possitive with -O1 and lower. */
++	    DIAG_PUSH_NEEDS_COMMENT;
++	    DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ 	    b = invsqrtpi * temp / sqrtl (x);
++	    DIAG_POP_NEEDS_COMMENT;
+ 	  }
+ 	else
+ 	  {
+@@ -372,7 +383,17 @@ __ieee754_ynl (int n, long double x)
+ 	    temp = s + c;
+ 	    break;
+ 	  }
++	/* With GCC 8 (and older) when compiling with -O the compiler
++	   warns that the variable 'temp', may be used uninitialized.
++	   The switch above covers all possible values of n & 3
++	   but GCC without VRP enabled isn't able to figure out the
++	   range of possible values is [0,3] as explained in:
++	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
++	   so it's false possitive with -O1 and lower. */
++	DIAG_PUSH_NEEDS_COMMENT;
++	DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ 	b = invsqrtpi * temp / sqrtl (x);
++	DIAG_POP_NEEDS_COMMENT;
+       }
+     else
+       {
diff --git a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
deleted file mode 100644
index b02c4ec94f..0000000000
--- a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 14 Sep 2018 23:23:03 +0000
-Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
-
-* with -O included in BUILD_OPTIMIZATION when DEBUG_BUILD
-  is used, nativesdk-glibc fails with:
-../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
-../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-      b = invsqrtpi * temp / sqrtl (x);
-          ~~~~~~~~~~^~~~~~
-../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
-../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-  b = invsqrtpi * temp / sqrtl (x);
-      ~~~~~~~~~~^~~~~~
-
-* work around the issue instead of removing -O like we do with
-  SELECTED_OPTIMIZATION
-
-Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- sysdeps/ieee754/dbl-64/e_jn.c    | 2 ++
- sysdeps/ieee754/ldbl-128/e_jnl.c | 4 ++++
- sysdeps/ieee754/ldbl-96/e_jnl.c  | 4 ++++
- 3 files changed, 10 insertions(+)
-
-diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
-index 9181b22bb8..74a6b5f149 100644
---- a/sysdeps/ieee754/dbl-64/e_jn.c
-+++ b/sysdeps/ieee754/dbl-64/e_jn.c
-@@ -108,6 +108,7 @@ __ieee754_jn (int n, double x)
- 	      case 1: temp = -c + s; break;
- 	      case 2: temp = -c - s; break;
- 	      case 3: temp = c - s; break;
-+	      default: temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- 	      }
- 	    b = invsqrtpi * temp / sqrt (x);
- 	  }
-@@ -315,6 +316,7 @@ __ieee754_yn (int n, double x)
- 	  case 1: temp = -s - c; break;
- 	  case 2: temp = -s + c; break;
- 	  case 3: temp = s + c; break;
-+	  default: temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- 	  }
- 	b = invsqrtpi * temp / sqrt (x);
-       }
-diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
-index 7739eec291..b6a1275464 100644
---- a/sysdeps/ieee754/ldbl-128/e_jnl.c
-+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
-@@ -149,6 +149,8 @@ __ieee754_jnl (int n, _Float128 x)
- 	      case 3:
- 		temp = c - s;
- 		break;
-+	      default:
-+	        temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- 	      }
- 	    b = invsqrtpi * temp / sqrtl (x);
- 	  }
-@@ -385,6 +387,8 @@ __ieee754_ynl (int n, _Float128 x)
- 	  case 3:
- 	    temp = s + c;
- 	    break;
-+	  default:
-+	    temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- 	  }
- 	b = invsqrtpi * temp / sqrtl (x);
-       }
-diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
-index 394921f564..2263b02203 100644
---- a/sysdeps/ieee754/ldbl-96/e_jnl.c
-+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
-@@ -142,6 +142,8 @@ __ieee754_jnl (int n, long double x)
- 	      case 3:
- 		temp = c - s;
- 		break;
-+	      default:
-+	        temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- 	      }
- 	    b = invsqrtpi * temp / sqrtl (x);
- 	  }
-@@ -371,6 +373,8 @@ __ieee754_ynl (int n, long double x)
- 	  case 3:
- 	    temp = s + c;
- 	    break;
-+	  default:
-+	    temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- 	  }
- 	b = invsqrtpi * temp / sqrtl (x);
-       }
--- 
-2.17.1
-
diff --git a/meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch b/meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch
deleted file mode 100644
index 4d56e55296..0000000000
--- a/meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 0efa7fd1c800277d5323d05cb245c0536fe9ce22 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 16 Sep 2018 12:39:22 +0000
-Subject: [PATCH] soft-fp: ignore maybe-uninitialized
-
-* with -O it fails with:
-
-In file included from ../soft-fp/soft-fp.h:318,
-                 from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
-../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
-../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-        X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
-                         ^~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
-   FP_DECL_D (R);
-              ^
-../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
-   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
-                                    ^
-../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
- # define FP_DECL_D(X)  _FP_DECL (2, X)
-                        ^~~~~~~~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
-   FP_DECL_D (R);
-   ^~~~~~~~~
-../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-       : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
-                 ^~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
-   FP_DECL_D (R);
-              ^
-../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
-   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
-              ^
-../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
- # define FP_DECL_D(X)  _FP_DECL (2, X)
-                        ^~~~~~~~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
-   FP_DECL_D (R);
-   ^~~~~~~~~
-
-Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- soft-fp/op-2.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/soft-fp/op-2.h b/soft-fp/op-2.h
-index 6020d663d4..6672337949 100644
---- a/soft-fp/op-2.h
-+++ b/soft-fp/op-2.h
-@@ -92,6 +92,8 @@
- 	      X##_f1 = 0;						\
- 	    }))
- 
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
- #define _FP_FRAC_SRS_2(X, N, sz)					\
-   (void) (((N) < _FP_W_TYPE_SIZE)					\
- 	  ? ({								\
-@@ -109,6 +111,7 @@
- 			    | X##_f0) != 0));				\
- 	      X##_f1 = 0;						\
- 	    }))
-+#pragma GCC diagnostic pop
- 
- #define _FP_FRAC_ADDI_2(X, I)	\
-   __FP_FRAC_ADDI_2 (X##_f1, X##_f0, I)
--- 
-2.17.1
-
diff --git a/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch b/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
new file mode 100644
index 0000000000..99cd2509ec
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
@@ -0,0 +1,100 @@
+From 618668540e263c09b0eb28131dde7b4500158fd4 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 16 Sep 2018 12:39:22 +0000
+Subject: [PATCH] sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O
+ [BZ #19444]
+
+* with -O, -O1, -Os it fails with:
+
+In file included from ../soft-fp/soft-fp.h:318,
+                 from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
+../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
+../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+        X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
+                         ^~
+../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
+   FP_DECL_D (R);
+              ^
+../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
+   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
+                                    ^
+../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
+ # define FP_DECL_D(X)  _FP_DECL (2, X)
+                        ^~~~~~~~
+../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
+   FP_DECL_D (R);
+   ^~~~~~~~~
+../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+       : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
+                 ^~
+../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
+   FP_DECL_D (R);
+              ^
+../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
+   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
+              ^
+../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
+ # define FP_DECL_D(X)  _FP_DECL (2, X)
+                        ^~~~~~~~
+../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
+   FP_DECL_D (R);
+   ^~~~~~~~~
+
+Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
+with -O, -O1, -Os.
+For AARCH64 it needs one more fix in locale for -Os.
+
+	Partial fix for [BZ #23716]
+	* sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O
+
+Work around the issue instead of removing -O like we do with
+SELECTED_OPTIMIZATION
+
+Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ ChangeLog                        |  4 ++++
+ sysdeps/ieee754/soft-fp/s_fdiv.c | 12 ++++++++++++
+ 2 files changed, 16 insertions(+)
+
+diff --git a/ChangeLog b/ChangeLog
+index 922e916f2c..216336edc9 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,7 @@
++2018-09-30  Martin Jansa  <Martin.Jansa@gmail.com>
++	Partial fix for [BZ #23716]
++	* sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
++
+ 2018-09-29  Martin Jansa  <Martin.Jansa@gmail.com>
+ 	Partial fix for [BZ #23716]
+ 	* sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
+diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c
+index 341339f5ed..14655b77da 100644
+--- a/sysdeps/ieee754/soft-fp/s_fdiv.c
++++ b/sysdeps/ieee754/soft-fp/s_fdiv.c
+@@ -25,6 +25,16 @@
+ #undef fdivl
+ 
+ #include <math-narrow.h>
++
++#include <libc-diag.h>
++/* R_f[01] are not set in cases where it is not used in packing, but the
++   compiler does not see that it is set in all cases where it is
++   used, resulting in warnings that it may be used uninitialized.
++   The location of the warning differs in different versions of GCC,
++   it may be where R is defined using a macro or it may be where the
++   macro is defined.  */
++DIAG_PUSH_NEEDS_COMMENT;
++DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ #include <soft-fp.h>
+ #include <single.h>
+ #include <double.h>
+@@ -53,4 +63,6 @@ __fdiv (double x, double y)
+   CHECK_NARROW_DIV (ret, x, y);
+   return ret;
+ }
++DIAG_POP_NEEDS_COMMENT;
++
+ libm_alias_float_double (div)
diff --git a/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
new file mode 100644
index 0000000000..31058ca91a
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
@@ -0,0 +1,68 @@
+From cbada1a1b218c1ef61d0eb4363fad7598e6509d6 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 30 Sep 2018 09:16:48 +0000
+Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ
+ #19444]
+
+Fixes following error when building for aarch64 with -Os:
+| In file included from strcoll_l.c:43:
+| strcoll_l.c: In function '__strcoll_l':
+| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+|    int_fast32_t i = table[*(*cpp)++];
+|                           ^~~~~~~~~
+| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here
+|    coll_seq seq1, seq2;
+|                   ^~~~
+| In file included from strcoll_l.c:43:
+| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+|    int_fast32_t i = table[*(*cpp)++];
+|                           ^~~~~~~~~
+| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here
+|    coll_seq seq1, seq2;
+|             ^~~~
+
+        Partial fix for [BZ #23716]
+        * locale/weight.h: Fix build with -Os.
+
+Work around the issue instead of removing -O like we do with
+SELECTED_OPTIMIZATION
+
+Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00539.html]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ ChangeLog       | 4 ++++
+ locale/weight.h | 7 +++++++
+ 2 files changed, 11 insertions(+)
+
+diff --git a/ChangeLog b/ChangeLog
+index 216336edc9..84fbbf47ed 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,7 @@
++2018-09-30  Martin Jansa  <Martin.Jansa@gmail.com>
++	Partial fix for [BZ #23716]
++	* locale/weight.h: Fix build with -Os.
++
+ 2018-09-30  Martin Jansa  <Martin.Jansa@gmail.com>
+ 	Partial fix for [BZ #23716]
+ 	* sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
+diff --git a/locale/weight.h b/locale/weight.h
+index 6028d3595e..10bcea25e5 100644
+--- a/locale/weight.h
++++ b/locale/weight.h
+@@ -28,7 +28,14 @@ findidx (const int32_t *table,
+ 	 const unsigned char *extra,
+ 	 const unsigned char **cpp, size_t len)
+ {
++  /* With GCC 8 when compiling with -Os the compiler warns that
++     seq1.back_us and seq2.back_us might be used uninitialized.
++     This uninitialized use is impossible for the same reason
++     as described in comments in locale/weightwc.h.  */
++  DIAG_PUSH_NEEDS_COMMENT;
++  DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+   int_fast32_t i = table[*(*cpp)++];
++  DIAG_POP_NEEDS_COMMENT;
+   const unsigned char *cp;
+   const unsigned char *usrc;
+ 
diff --git a/meta/recipes-core/glibc/glibc_2.28.bb b/meta/recipes-core/glibc/glibc_2.28.bb
index 804b7891ec..bd8b51e1d6 100644
--- a/meta/recipes-core/glibc/glibc_2.28.bb
+++ b/meta/recipes-core/glibc/glibc_2.28.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
 
 DEPENDS += "gperf-native bison-native make-native"
 
-SRCREV ?= "3c03baca37fdcb52c3881e653ca392bba7a99c2b"
+SRCREV ?= "044c96f0d5595aeb0bb4e79355081c5a7f4faca5"
 
 SRCBRANCH ?= "release/${PV}/master"
 
@@ -45,9 +45,9 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch \
            file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
            file://0030-intl-Emit-no-lines-in-bison-generated-files.patch \
-           file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch \
-           file://0032-soft-fp-ignore-maybe-uninitialized.patch \
-           file://0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch \
+           file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch \
+           file://0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch \
+           file://0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
 "
 
 NATIVESDKFIXES ?= ""
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] glibc: bump SRCREV to latest 2.28
  2018-09-30 16:27       ` [PATCH] glibc: bump SRCREV to latest 2.28 Martin Jansa
@ 2018-09-30 16:36         ` Khem Raj
  0 siblings, 0 replies; 7+ messages in thread
From: Khem Raj @ 2018-09-30 16:36 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer

On Sun, Sep 30, 2018 at 9:27 AM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> * drop one patch already applied in upstream
>
> * this is still only partial fix for issues with -O0 and the bigger
>   issue might be detected in runtime as described in:
>   https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
>   https://sourceware.org/bugzilla/show_bug.cgi?id=19444
>   and tested in glibc build:
>   https://sourceware.org/git/?p=glibc.git;a=blob;f=include/libc-symbols.h;h=8b9273c13a19f2658105c7997267d9086adae716;hb=HEAD#l74
>
> * restore the anonymous python to trigger fatal error when -O0 is
>   used (but don't restore the notes for -O, -O1, -Os
>
> * git log --oneline 3c03baca37fdcb52c3881e653ca392bba7a99c2b..044c96f0d5595aeb0bb4e79355081c5a7f4faca5 | tee
> 044c96f0d5 Fix misreported errno on preadv2/pwritev2 (BZ#23579)
> 3a67c72c15 Fix stack overflow in tst-setcontext9 (bug 23717)
> 2339d6a55e i386: Use ENTRY and END in start.S [BZ #23606]
> 0ef2f4400c Fix strstr bug with huge needles (bug 23637)
> a55e109709 Fix tst-setcontext9 for optimized small stacks.
> 307d04334d misc: New test misc/tst-gethostid
> e7d22db29c Linux gethostid: Check for NULL value from gethostbyname_r [BZ #23679]
> 1fe2b9ca8a Fix segfault in maybe_script_execute.
> 0b79004569 regex: Add test tst-regcomp-truncated [BZ #23578]
> 58559f1443 regex: fix uninitialized memory access
> aa8a3e4cde pthread_cond_broadcast: Fix waiters-after-spinning case [BZ #23538]
> c87b5bab24 Improve ChangeLog message.
> 66fdfd57fe Regen RISC-V rvd ULPs
> b0aa03dfff RISC-V: Fix rounding save/restore bug.
> 2f498f3d14 nss_files: Fix file stream leak in aliases lookup [BZ #23521]
> bfcfa22589 nscd: Deallocate existing user names in file parser
> d05b05d157 error, error_at_line: Add missing va_end calls
> 4b25485f03 Linux: Rewrite __old_getdents64 [BZ #23497]
> 726e1554ce hurd: Avoid PLTs for __pthread_get/setspecific
> 7f11842e74 hurd: Add missing symbols for proper libc_get/setspecific
>
> * update 0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
>   based on review comments in upstream and extend it to cover PPC based
>   on:
>   http://lists.openembedded.org/pipermail/openembedded-core/2018-September/156258.html
>
> * update 0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
>   based on review comments in upstream
>
> * add 0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
>   with a fix for aarch64 build with -Os
>
> * build tested with qemuarm, qemuarm64, qemux86, qemux86-64, qemuppc,
>   qemumips, qemumips64 with -O, -O1, -Os.
>

while we are quite late in release cycle, this change mainly has
bugfixes that I am not too worries about.
but if it still has issues with -O0, then disallowing -O0 builds is
best thing to do, so its ok.

> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/recipes-core/glibc/glibc.inc             |   9 +
>  ...Check-for-NULL-value-from-gethostbyn.patch |  38 ---
>  ...Look-for-host-system-ld.so.cache-as-.patch |   8 +-
>  ...Fix-buffer-overrun-with-a-relocated-.patch |   8 +-
>  ...Raise-the-size-of-arrays-containing-.patch |   8 +-
>  ...k-glibc-Allow-64-bit-atomics-for-x86.patch |   7 +-
>  ...Make-relocatable-install-for-locales.patch |   7 +-
>  ...5500-e6500-603e-fsqrt-implementation.patch |   7 +-
>  ...RE_KNOWN_INTERPRETER_NAMES-to-known-.patch |   8 +-
>  ...undefined-reference-to-__sqrt_finite.patch |   7 +-
>  ...-are-now-inline-functions-and-call-o.patch |   9 +-
>  ...443-which-explains-what-the-patch-do.patch |   8 +-
>  ...m-err-tab.pl-with-specific-dirs-in-S.patch |   7 +-
>  ...-are-now-inline-functions-and-call-o.patch |   9 +-
>  ...igure.ac-handle-correctly-libc_cv_ro.patch |   7 +-
>  .../glibc/0014-Add-unused-attribute.patch     |   7 +-
>  ...the-path-sets-wrong-config-variables.patch |   7 +-
>  ...zone-re-written-tzselect-as-posix-sh.patch |   7 +-
>  ...bash-dependency-for-nscd-init-script.patch |   7 +-
>  ...ss-building-and-testing-instructions.patch |   7 +-
>  ...glibc-Help-bootstrap-cross-toolchain.patch |   7 +-
>  ...0-eglibc-Clear-cache-lines-on-ppc8xx.patch |   7 +-
>  ...eglibc-Resolve-__fpscr_values-on-SH4.patch |   7 +-
>  ...port-cross-locale-generation-support.patch |   7 +-
>  ...Define-DUMMY_LOCALE_T-if-not-defined.patch |   7 +-
>  ...ke-_dl_build_local_scope-breadth-fir.patch |   7 +-
>  ...le-fix-hard-coded-reference-to-gcc-E.patch |   7 +-
>  ...set-dl_load_write_lock-after-forking.patch |   7 +-
>  ...ck-before-switching-to-malloc_atfork.patch |   7 +-
>  ...sts.h-enum-definition-for-TRAP_HWBKP.patch |   9 +-
>  ...-archive-uses-a-hard-coded-locale-pa.patch |  25 +-
>  ...it-no-lines-in-bison-generated-files.patch |   7 +-
>  ...prevent-maybe-uninitialized-errors-w.patch | 258 ++++++++++++++++++
>  ...4-prevent-maybe-uninitialized-errors.patch |  95 -------
>  ...2-soft-fp-ignore-maybe-uninitialized.patch |  72 -----
>  ...soft-fp-ignore-maybe-uninitialized-w.patch | 100 +++++++
>  ...aybe-uninitialized-errors-with-Os-BZ.patch |  68 +++++
>  meta/recipes-core/glibc/glibc_2.28.bb         |   8 +-
>  38 files changed, 512 insertions(+), 375 deletions(-)
>  delete mode 100644 meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch
>  create mode 100644 meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
>  delete mode 100644 meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
>  delete mode 100644 meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch
>  create mode 100644 meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
>  create mode 100644 meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
>
> diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
> index e673707369..ddf0c6b80e 100644
> --- a/meta/recipes-core/glibc/glibc.inc
> +++ b/meta/recipes-core/glibc/glibc.inc
> @@ -6,6 +6,15 @@ STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
>  STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
>  PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
>
> +python () {
> +    opt_effective = "-O"
> +    for opt in d.getVar('SELECTED_OPTIMIZATION').split():
> +        if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
> +            opt_effective = opt
> +    if opt_effective == "-O0":
> +        bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective))
> +}
> +
>  # siteconfig.bbclass runs configure which needs a working compiler
>  # For the compiler to work we need a working libc yet libc isn't
>  # in the sysroots directory at this point. This means the libc.so
> diff --git a/meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch b/meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch
> deleted file mode 100644
> index 3cf3266ba1..0000000000
> --- a/meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -From e7d22db29cfdd2f1fb97a70a76fa53d151569945 Mon Sep 17 00:00:00 2001
> -From: Mingli Yu <Mingli.Yu@windriver.com>
> -Date: Thu, 20 Sep 2018 12:41:13 +0200
> -Subject: [PATCH] Linux gethostid: Check for NULL value from gethostbyname_r [BZ #23679]
> -
> -A NULL value can happen with certain gethostbyname_r failures.
> -
> -(cherry picked from commit 1214ba06e6771acb953a190091b0f6055c64fd25)
> -
> -Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=1214ba06e6771acb953a190091b0f6055c64fd25]
> -
> -Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> ----
> - sysdeps/unix/sysv/linux/gethostid.c | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/sysdeps/unix/sysv/linux/gethostid.c b/sysdeps/unix/sysv/linux/gethostid.c
> -index 2e20f034dc..ee0190e7f9 100644
> ---- a/sysdeps/unix/sysv/linux/gethostid.c
> -+++ b/sysdeps/unix/sysv/linux/gethostid.c
> -@@ -102,12 +102,12 @@ gethostid (void)
> -     {
> -       int ret = __gethostbyname_r (hostname, &hostbuf,
> -                                  tmpbuf.data, tmpbuf.length, &hp, &herr);
> --      if (ret == 0)
> -+      if (ret == 0 && hp != NULL)
> -       break;
> -       else
> -       {
> -         /* Enlarge the buffer on ERANGE.  */
> --        if (herr == NETDB_INTERNAL && errno == ERANGE)
> -+        if (ret != 0 && herr == NETDB_INTERNAL && errno == ERANGE)
> -           {
> -             if (!scratch_buffer_grow (&tmpbuf))
> -               return 0;
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
> index 14089350d9..5df26a8545 100644
> --- a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
> +++ b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
> @@ -1,8 +1,7 @@
> -From 70fd60e2a8f40a160736cb9b268dfa6508aa55a7 Mon Sep 17 00:00:00 2001
> +From bd51b3add89a5cb2d8f44029a1027c780b2afff5 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 01:48:24 +0000
> -Subject: [PATCH 01/30] nativesdk-glibc: Look for host system ld.so.cache as
> - well
> +Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
>
>  Upstream-Status: Inappropriate [embedded specific]
>
> @@ -64,6 +63,3 @@ index c51e4b3718..44bbb69dc4 100644
>         /* Add another newline when we are tracing the library loading.  */
>         if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
>         _dl_debug_printf ("\n");
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
> index 382915e840..daadec76c7 100644
> --- a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
> +++ b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
> @@ -1,8 +1,7 @@
> -From f0dd22dfdbf822afc674724c35cc462cfafbc186 Mon Sep 17 00:00:00 2001
> +From fdc8a33ac2c81a0237b8a6d8b1aac7f1cdbb46af Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 01:50:00 +0000
> -Subject: [PATCH 02/30] nativesdk-glibc: Fix buffer overrun with a relocated
> - SDK
> +Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
>
>  When ld-linux-*.so.2 is relocated to a path that is longer than the
>  original fixed location, the dynamic loader will crash in open_path
> @@ -45,6 +44,3 @@ index 44bbb69dc4..74e2e5e962 100644
>     do
>       {
>         struct r_search_path_elem *this_dir = *dirs;
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
> index f83e8192e2..e082540303 100644
> --- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
> +++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
> @@ -1,8 +1,7 @@
> -From 5962ca897efe965745e193c12041693c9e07dd24 Mon Sep 17 00:00:00 2001
> +From 055dd46b793168fb08e44913153010b088011ba2 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 01:51:38 +0000
> -Subject: [PATCH 03/30] nativesdk-glibc: Raise the size of arrays containing dl
> - paths
> +Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
>
>  This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
>  and lengths as well as ld.so.cache path in the dynamic loader to specific
> @@ -135,6 +134,3 @@ index cf43f1cf3b..7f07adde53 100644
>   #ifndef add_system_dir
>   # define add_system_dir(dir) add_dir (dir)
>   #endif
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
> index a0957e6a7b..1ae2e33b4f 100644
> --- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
> +++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
> @@ -1,7 +1,7 @@
> -From ee17ca0a6b122466c484301ea9fe029dc7e5498f Mon Sep 17 00:00:00 2001
> +From a237553ccd15276462be2023057a017fa8ee5d7c Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Thu, 31 Dec 2015 14:35:35 -0800
> -Subject: [PATCH 04/30] nativesdk-glibc: Allow 64 bit atomics for x86
> +Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
>
>  The fix consist of allowing 64bit atomic ops for x86.
>  This should be safe for i586 and newer CPUs.
> @@ -29,6 +29,3 @@ index 272da5dd8f..409c759f14 100644
>   #define USE_ATOMIC_COMPILER_BUILTINS 0
>   #define ATOMIC_EXCHANGE_USES_CAS 0
>
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
> index 56ff398753..b53f2ef2e2 100644
> --- a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
> +++ b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
> @@ -1,7 +1,7 @@
> -From 7195d203c6986ccdb39053933b703391ccc6854a Mon Sep 17 00:00:00 2001
> +From e1dc85af1800afa4fbf4eb5a59cc41025495af57 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Fri, 3 Aug 2018 09:55:12 -0700
> -Subject: [PATCH 05/30] nativesdk-glibc: Make relocatable install for locales
> +Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
>
>  The glibc locale path is hard-coded to the install prefix, but in SDKs we need
>  to be able to relocate the binaries.  Expand the strings to 4K and put them in a
> @@ -65,6 +65,3 @@ index 68822a6319..537bc35149 100644
>
>   /* Load the locale data for CATEGORY from the file specified by *NAME.
>      If *NAME is "", use environment variables as specified by POSIX, and
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
> index 1e712d5eba..971700a6df 100644
> --- a/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
> +++ b/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
> @@ -1,7 +1,7 @@
> -From b28e06d87a43e6aacff5624aaec75106599edec8 Mon Sep 17 00:00:00 2001
> +From d23c577b0b70b34335971abaf3f50e617dda615e Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:01:50 +0000
> -Subject: [PATCH 06/30] fsl e500/e5500/e6500/603e fsqrt implementation
> +Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation
>
>  Upstream-Status: Pending
>  Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
> @@ -1579,6 +1579,3 @@ index 0000000000..04ff8cc181
>  +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies
>  @@ -0,0 +1 @@
>  +powerpc/powerpc64/e6500/fpu
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
> index 251e9dd4b1..4871346838 100644
> --- a/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
> +++ b/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
> @@ -1,8 +1,7 @@
> -From fd2bd3037ef49f67f12659b6aaba02f76e131a24 Mon Sep 17 00:00:00 2001
> +From d65f6ee214d7d91445fceabc6a5d6bf55b0e8d4b Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:11:22 +0000
> -Subject: [PATCH 07/30] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
> - names
> +Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
>
>  This bolts in a hook for OE to pass its own version of interpreter
>  names into glibc especially for multilib case, where it differs from any
> @@ -28,6 +27,3 @@ index 573c01476c..d8c7412287 100644
>   };
>
>   static struct known_names known_libs[] =
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
> index 67439c4b87..c0d96eb1f5 100644
> --- a/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
> +++ b/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
> @@ -1,7 +1,7 @@
> -From b696fe0c6147afc375ae573063a92a53857248eb Mon Sep 17 00:00:00 2001
> +From ee3aa1464f40c916c62cf326bf4c18f8b71a229b Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:15:07 +0000
> -Subject: [PATCH 08/30] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
> +Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
>
>  on ppc fixes the errors like below
>  | ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
> @@ -203,6 +203,3 @@ index 26fa067abf..9d175122a8 100644
>     return f_washf (b);
>   }
>  +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> index 1d27a56c79..d0b47cd67b 100644
> --- a/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> +++ b/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> @@ -1,8 +1,8 @@
> -From 324aa1ffbf85ebd06b54f228604d6651895c1eea Mon Sep 17 00:00:00 2001
> +From 17e82d594b2d8d3a6998face953382f9d14fb046 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:16:38 +0000
> -Subject: [PATCH 09/30] __ieee754_sqrt{,f} are now inline functions and call
> - out __slow versions
> +Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
> + __slow versions
>
>  Upstream-Status: Pending
>
> @@ -382,6 +382,3 @@ index 9d175122a8..10de1f0cc3 100644
>  +}
>  +
>   strong_alias (__ieee754_sqrtf, __sqrtf_finite)
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
> index 6b2bf65cac..86ef3a1059 100644
> --- a/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
> +++ b/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
> @@ -1,8 +1,7 @@
> -From f6581da98bef982c888061fa06092c03f3c6c708 Mon Sep 17 00:00:00 2001
> +From fe8d9b76e7c881cc0a0b728ea2bd637fafca0978 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:20:09 +0000
> -Subject: [PATCH 10/30] Quote from bug 1443 which explains what the patch does
> - :
> +Subject: [PATCH] Quote from bug 1443 which explains what the patch does :
>
>    We build some random program and link it with -lust.  When we run it,
>    it dies with a SIGSEGV before reaching main().
> @@ -57,6 +56,3 @@ index 1a4fd3f17b..a02c47571a 100644
>           break;
>
>         case R_ARM_TLS_TPOFF32:
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
> index dfe2fe4b83..32aae5cd53 100644
> --- a/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
> +++ b/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
> @@ -1,7 +1,7 @@
> -From 635d4a48c331b5ccc9165a6f622091845a5245b0 Mon Sep 17 00:00:00 2001
> +From 3012cb839a64e7d5c621efa79b643d169290e6e9 Mon Sep 17 00:00:00 2001
>  From: Ting Liu <b28495@freescale.com>
>  Date: Wed, 19 Dec 2012 04:39:57 -0600
> -Subject: [PATCH 11/30] eglibc: run libm-err-tab.pl with specific dirs in ${S}
> +Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S}
>
>  libm-err-tab.pl will parse all the files named "libm-test-ulps"
>  in the given dir recursively. To avoid parsing the one in
> @@ -31,6 +31,3 @@ index c2756640a7..1b5bb16a96 100644
>         $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
>         touch $@
>
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> index 3fcaedd8ef..93395c389f 100644
> --- a/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> +++ b/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> @@ -1,8 +1,8 @@
> -From 11991e14957063b0e5fa366d836f42dd6d3e10cd Mon Sep 17 00:00:00 2001
> +From 93ab69ae4c98303929ba9492130a021fa4a215be Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:24:46 +0000
> -Subject: [PATCH 12/30] __ieee754_sqrt{,f} are now inline functions and call
> - out __slow versions
> +Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
> + __slow versions
>
>  Upstream-Status: Pending
>
> @@ -56,6 +56,3 @@ index 812653558f..10de1f0cc3 100644
>        float b;
>   #endif
>   {
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
> index 32796354a0..9998691fa4 100644
> --- a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
> +++ b/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
> @@ -1,7 +1,7 @@
> -From 36b0c04436f6ec7dc270d387cb036b5361544618 Mon Sep 17 00:00:00 2001
> +From a7bd8aa65f3f2755d6dbd0d5adbfd269c1fb0094 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:27:10 +0000
> -Subject: [PATCH 13/30] sysdeps/gnu/configure.ac: handle correctly
> +Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly
>   $libc_cv_rootsbindir
>
>  Upstream-Status:Pending
> @@ -37,6 +37,3 @@ index 634fe4de2a..3db1697f4f 100644
>  +  test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin
>     ;;
>   esac
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
> index cfc044506b..9d6ab30e2c 100644
> --- a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
> +++ b/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
> @@ -1,7 +1,7 @@
> -From f1969e4c95e810280edf5e11c8a6f32b3a56e2fb Mon Sep 17 00:00:00 2001
> +From 2ce5bc6da23dcb402afdeb967fa44c39eecf6d37 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:28:41 +0000
> -Subject: [PATCH 14/30] Add unused attribute
> +Subject: [PATCH] Add unused attribute
>
>  Helps in avoiding gcc warning when header is is included in
>  a source file which does not use both functions
> @@ -29,6 +29,3 @@ index 123e2a62ce..63cc83ec84 100644
>   strip (char *wp, const char *s)
>   {
>     int slash_count = 0;
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
> index 217a3f6088..0267e7a4ec 100644
> --- a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
> +++ b/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
> @@ -1,7 +1,7 @@
> -From be9965d0e53db1d7fe9419710a84c75526a18cc0 Mon Sep 17 00:00:00 2001
> +From b382138c41ccf6079b44592f1e74f183ca8281bb Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:31:06 +0000
> -Subject: [PATCH 15/30] 'yes' within the path sets wrong config variables
> +Subject: [PATCH] 'yes' within the path sets wrong config variables
>
>  It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
>  but being such a short word to grep it is likely to produce
> @@ -258,6 +258,3 @@ index f9cba6e15d..b21f72f1e4 100644
>                          #endif
>       ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
>     if test $libc_cv_ppc64_def_call_elf = no; then
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
> index 719193cbf9..15453ec6ff 100644
> --- a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
> +++ b/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
> @@ -1,7 +1,7 @@
> -From 60694f7ed69c8b711ffe37ce157032e85f60347b Mon Sep 17 00:00:00 2001
> +From 04fb7b93dc40c1f96ebc05d29a2f02f9e4f0d572 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:33:03 +0000
> -Subject: [PATCH 16/30] timezone: re-written tzselect as posix sh
> +Subject: [PATCH] timezone: re-written tzselect as posix sh
>
>  To avoid the bash dependency.
>
> @@ -40,6 +40,3 @@ index d2c3a6d1dd..089679f306 100755
>
>   # Output one argument as-is to standard output.
>   # Safer than 'echo', which can mishandle '\' or leading '-'.
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
> index e1a0d4918a..06d2cd1d25 100644
> --- a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
> +++ b/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
> @@ -1,7 +1,7 @@
> -From 0d6e36d38569ec716331c48a2187b391f5680363 Mon Sep 17 00:00:00 2001
> +From 7a2f244c0980a54ed74f9544ab44a7269ef12bce Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Thu, 31 Dec 2015 14:33:02 -0800
> -Subject: [PATCH 17/30] Remove bash dependency for nscd init script
> +Subject: [PATCH] Remove bash dependency for nscd init script
>
>  The nscd init script uses #! /bin/bash but only really uses one bashism
>  (translated strings), so remove them and switch the shell to #!/bin/sh.
> @@ -70,6 +70,3 @@ index a882da7d8b..b02986ec15 100644
>         RETVAL=1
>         ;;
>   esac
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
> index fa8d127f7a..29109a26ea 100644
> --- a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
> +++ b/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
> @@ -1,7 +1,7 @@
> -From 448222134c9a0b147c4598f288ccc9d045b873c4 Mon Sep 17 00:00:00 2001
> +From 44a5c79efea09f5b990e524ec42abdeef444056a Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:42:58 +0000
> -Subject: [PATCH 18/30] eglibc: Cross building and testing instructions
> +Subject: [PATCH] eglibc: Cross building and testing instructions
>
>  Ported from eglibc
>  Upstream-Status: Pending
> @@ -614,6 +614,3 @@ index 0000000000..b67b468466
>  +- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we
>  +  simply place copies of these libraries in the top GLIBC build
>  +  directory.
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
> index c7e8bd2ee9..71c2ab9180 100644
> --- a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
> +++ b/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
> @@ -1,7 +1,7 @@
> -From 6b8ee1ae86f8b9a49f751ab211002c83744356a6 Mon Sep 17 00:00:00 2001
> +From f4ec5527d562d38523abb8587a6c7532e9d21f8a Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:49:28 +0000
> -Subject: [PATCH 19/30] eglibc: Help bootstrap cross toolchain
> +Subject: [PATCH] eglibc: Help bootstrap cross toolchain
>
>  Taken from EGLIBC, r1484 + r1525
>
> @@ -95,6 +95,3 @@ index 0000000000..1d2b669aff
>  +   difficult headers.  The <gnu/stubs.h> header depends, via the
>  +   EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
>  +   an empty stubs.h like this will do fine for GCC.  */
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch b/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
> index d3f4b6a319..6e475a711e 100644
> --- a/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
> +++ b/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
> @@ -1,7 +1,7 @@
> -From 617ca176291df82c29d8c78e92ba8edcb38a2fe2 Mon Sep 17 00:00:00 2001
> +From 6c23660d035e71de0e20b40460ad3050bd057665 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Thu, 31 Dec 2015 15:15:09 -0800
> -Subject: [PATCH 20/30] eglibc: Clear cache lines on ppc8xx
> +Subject: [PATCH] eglibc: Clear cache lines on ppc8xx
>
>  2007-06-13  Nathan Sidwell  <nathan@codesourcery.com>
>              Mark Shinwell  <shinwell@codesourcery.com>
> @@ -78,6 +78,3 @@ index f2ad0c355d..3e6773795e 100644
>         __cache_line_size = av->a_un.a_val;
>         break;
>   #ifndef SHARED
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
> index 881bd911fc..8aecf2624c 100644
> --- a/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
> +++ b/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
> @@ -1,7 +1,7 @@
> -From 78e379d65f4fc810fb095a97c4f36f0b79bb5e01 Mon Sep 17 00:00:00 2001
> +From 55531ef57d04006c5a1e3b32a8e0410372f86007 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 00:55:53 +0000
> -Subject: [PATCH 21/30] eglibc: Resolve __fpscr_values on SH4
> +Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
>
>  2010-09-29  Nobuhiro Iwamatsu  <iwamatsu@nigauri.org>
>              Andrew Stubbs  <ams@codesourcery.com>
> @@ -51,6 +51,3 @@ index c4e28ffb98..648bae03d5 100644
>  +       .long 0x80000
>  +weak_alias (___fpscr_values, __fpscr_values)
>  +
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
> index 04a5be7fcb..aa62c6352c 100644
> --- a/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
> +++ b/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
> @@ -1,7 +1,7 @@
> -From 3e24f9d63aef5561b80fc7c345ce61943910e69b Mon Sep 17 00:00:00 2001
> +From 4bb23fbb07984b93fd14f353fd9325d927b0cd98 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 18 Mar 2015 01:33:49 +0000
> -Subject: [PATCH 22/30] eglibc: Forward port cross locale generation support
> +Subject: [PATCH] eglibc: Forward port cross locale generation support
>
>  Upstream-Status: Pending
>
> @@ -561,6 +561,3 @@ index e4de907e1f..b5d8f5c17d 100644
>   #ifdef NL_CURRENT_INDIRECT
>   # define WEAK_POSTLOAD(postload) weak_extern (postload)
>   #else
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch b/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
> index 092e90e5e3..68fad96410 100644
> --- a/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
> +++ b/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
> @@ -1,7 +1,7 @@
> -From 24f3fbd925b6af96c4369184528028b144b51310 Mon Sep 17 00:00:00 2001
> +From 1b2ceb6c2414e3c98c7bcd029583287ced9f3159 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Wed, 20 Apr 2016 21:11:00 -0700
> -Subject: [PATCH 23/30] Define DUMMY_LOCALE_T if not defined
> +Subject: [PATCH] Define DUMMY_LOCALE_T if not defined
>
>  This is a hack to fix building the locale bits on an older
>  CentOs 5.X machine
> @@ -27,6 +27,3 @@ index 9956cd8446..04342f3644 100644
>   /* Use the internal textdomain used for libc messages.  */
>   #define PACKAGE _libc_intl_domainname
>   #ifndef VERSION
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
> index c78b4a3325..28cff2b90b 100644
> --- a/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
> +++ b/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
> @@ -1,7 +1,7 @@
> -From 9f02a73c41782688f43e01bc2adbba09fc83b51e Mon Sep 17 00:00:00 2001
> +From a6159c9486745664a5f116ee9cc45837021b7624 Mon Sep 17 00:00:00 2001
>  From: Mark Hatle <mark.hatle@windriver.com>
>  Date: Thu, 18 Aug 2016 14:07:58 -0500
> -Subject: [PATCH 24/30] elf/dl-deps.c: Make _dl_build_local_scope breadth first
> +Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first
>
>  According to the ELF specification:
>
> @@ -51,6 +51,3 @@ index 9d9b1ba7f2..8414028c58 100644
>     return p - list;
>   }
>
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
> index 5eb1a019a4..4a7919ff5b 100644
> --- a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
> +++ b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
> @@ -1,7 +1,7 @@
> -From 985b3d9e9b3f99f5a23c0c68e8657e311ca6f42d Mon Sep 17 00:00:00 2001
> +From 6c6aecba19b3e7947100623532a41b6f16734ace Mon Sep 17 00:00:00 2001
>  From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= <jeremy.rosen@smile.fr>
>  Date: Mon, 22 Aug 2016 16:09:25 +0200
> -Subject: [PATCH 25/30] locale: fix hard-coded reference to gcc -E
> +Subject: [PATCH] locale: fix hard-coded reference to gcc -E
>
>  When new version of compilers are published, they may not be compatible with
>  older versions of software. This is particularly common when software is built
> @@ -33,6 +33,3 @@ index 30d3f2f195..e97653017c 100644
>
>
>   sub cstrlen {
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch b/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
> index ad10b3c715..71ddc1234b 100644
> --- a/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
> +++ b/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
> @@ -1,7 +1,7 @@
> -From c26abfc71ef461ef4980f57a35870b68826bd619 Mon Sep 17 00:00:00 2001
> +From efb0fca7db742f4195e1771d8ba4c7fba4938819 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Sat, 27 Jan 2018 10:05:07 -0800
> -Subject: [PATCH 26/30] reset dl_load_write_lock after forking
> +Subject: [PATCH] reset dl_load_write_lock after forking
>
>  The patch in this Bugzilla entry was requested by a customer:
>
> @@ -35,6 +35,3 @@ index ec56a827eb..0f48933ff1 100644
>         /* Run the handlers registered for the child.  */
>         __run_fork_handlers (atfork_run_child);
>       }
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch b/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
> index 1ad14b7fc3..dd37f2cd4d 100644
> --- a/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
> +++ b/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
> @@ -1,7 +1,7 @@
> -From c3e04a90dd762cad4ee9bd7564d74e052781be5c Mon Sep 17 00:00:00 2001
> +From 6ea962e0946da7564a774b08dd3eda28d64e9e56 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Sat, 27 Jan 2018 10:08:04 -0800
> -Subject: [PATCH 27/30] Acquire ld.so lock before switching to malloc_atfork
> +Subject: [PATCH] Acquire ld.so lock before switching to malloc_atfork
>
>  The patch is from
>    https://sourceware.org/bugzilla/show_bug.cgi?id=4578
> @@ -63,6 +63,3 @@ index 0f48933ff1..eef3f9669b 100644
>       }
>
>     return pid;
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch b/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
> index 8f0b05694f..fae8d0040d 100644
> --- a/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
> +++ b/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
> @@ -1,8 +1,8 @@
> -From 55cc59b7da97b80cd26027656a252082b09aa2bb Mon Sep 17 00:00:00 2001
> +From 38fad3e5ab3b45c56810abd35fa11a72fa10b8f1 Mon Sep 17 00:00:00 2001
>  From: Pratyush Anand <panand@redhat.com>
>  Date: Wed, 22 Mar 2017 17:02:38 +0530
> -Subject: [PATCH 28/30] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT
> - is missing
> +Subject: [PATCH] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT is
> + missing
>  MIME-Version: 1.0
>  Content-Type: text/plain; charset=UTF-8
>  Content-Transfer-Encoding: 8bit
> @@ -64,6 +64,3 @@ index 193bd9c471..3fe852bc5f 100644
>   };
>   # endif
>
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
> index 8bdd466806..e17f6aa3b9 100644
> --- a/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
> +++ b/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
> @@ -1,8 +1,7 @@
> -From 5a6f019ded549faaf42478f6f96428dc7c20606e Mon Sep 17 00:00:00 2001
> +From 865651d2496a90f7ae8e7cc19a2e54b6f17a8ad5 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Fri, 3 Aug 2018 09:42:06 -0700
> -Subject: [PATCH 29/30] localedef --add-to-archive uses a hard-coded locale
> - path
> +Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
>
>  it doesn't exist in normal use, and there's no way to pass an
>  alternative filename.
> @@ -15,14 +14,14 @@ Upstream-Status: Inappropriate (OE-specific)
>  Signed-off-by: Ross Burton <ross.burton@intel.com>
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  ---
> - locale/programs/locarchive.c | 13 ++++++++-----
> - 1 file changed, 8 insertions(+), 5 deletions(-)
> + locale/programs/locarchive.c | 37 ++++++++++++++++++++++++++----------
> + 1 file changed, 27 insertions(+), 10 deletions(-)
>
> -Index: git/locale/programs/locarchive.c
> -===================================================================
> ---- git.orig/locale/programs/locarchive.c
> -+++ git/locale/programs/locarchive.c
> -@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah,
> +diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
> +index ca332a345f..91f62da662 100644
> +--- a/locale/programs/locarchive.c
> ++++ b/locale/programs/locarchive.c
> +@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
>     struct namehashent *oldnamehashtab;
>     struct locarhandle new_ah;
>     size_t prefix_len = output_prefix ? strlen (output_prefix) : 0;
> @@ -52,7 +51,7 @@ Index: git/locale/programs/locarchive.c
>     strcpy (stpcpy (fname, archivefname), ".XXXXXX");
>
>     /* Not all of the old file has to be mapped.  Change this now this
> -@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah,
> +@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
>
>     /* Add the information for the new one.  */
>     *ah = new_ah;
> @@ -61,7 +60,7 @@ Index: git/locale/programs/locarchive.c
>   }
>
>
> -@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bo
> +@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bool readonly)
>     /* If ah has a non-NULL fname open that otherwise open the default.  */
>     if (archivefname == NULL)
>       {
> @@ -79,7 +78,7 @@ Index: git/locale/programs/locarchive.c
>       }
>
>     while (1)
> -@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bo
> +@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bool readonly)
>              the default locale archive we ignore the failure and
>              list an empty archive, otherwise we print an error
>              and exit.  */
> diff --git a/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch b/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
> index f0a950aca9..db97d91c99 100644
> --- a/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
> +++ b/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
> @@ -1,7 +1,7 @@
> -From 959f3fc8743cbb3b13c3be11ee359f139f5be8c7 Mon Sep 17 00:00:00 2001
> +From a54c15d0567d547137066f41b1b22eba4875c27b Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Fri, 3 Aug 2018 09:44:00 -0700
> -Subject: [PATCH 30/30] intl: Emit no lines in bison generated files
> +Subject: [PATCH] intl: Emit no lines in bison generated files
>
>  Improve reproducibility:
>  Do not put any #line preprocessor commands in bison generated files.
> @@ -29,6 +29,3 @@ index 672edf1b38..d31888d013 100644
>
>   $(inst_localedir)/locale.alias: locale.alias $(+force)
>         $(do-install)
> ---
> -2.18.0
> -
> diff --git a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
> new file mode 100644
> index 0000000000..61f55d4f83
> --- /dev/null
> +++ b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
> @@ -0,0 +1,258 @@
> +From 546b46c309a52ed74dc906114b1e984bb9703d74 Mon Sep 17 00:00:00 2001
> +From: Martin Jansa <Martin.Jansa@gmail.com>
> +Date: Fri, 14 Sep 2018 23:23:03 +0000
> +Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors with -O
> + [BZ #19444]
> +
> +With -O included in CFLAGS it fails to build with:
> +
> +../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
> +../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> +      b = invsqrtpi * temp / sqrtl (x);
> +          ~~~~~~~~~~^~~~~~
> +../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
> +../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> +  b = invsqrtpi * temp / sqrtl (x);
> +      ~~~~~~~~~~^~~~~~
> +../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_jn':
> +../sysdeps/ieee754/dbl-64/e_jn.c:113:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> +      b = invsqrtpi * temp / sqrt (x);
> +          ~~~~~~~~~~^~~~~~
> +../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_yn':
> +../sysdeps/ieee754/dbl-64/e_jn.c:320:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> +  b = invsqrtpi * temp / sqrt (x);
> +      ~~~~~~~~~~^~~~~~
> +
> +Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
> +with -O, -O1, -Os.
> +For soft-fp ARM it needs one more fix for -O1:
> +https://sourceware.org/ml/libc-alpha/2018-09/msg00300.html
> +For AARCH64 it needs one more fix in locale for -Os.
> +
> +        [BZ #23716]
> +        * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
> +        * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
> +        * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
> +        * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
> +
> +Work around the issue instead of removing -O like we do with
> +SELECTED_OPTIMIZATION
> +
> +Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
> +
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +---
> + ChangeLog                           |  7 +++++++
> + sysdeps/ieee754/dbl-64/e_jn.c       | 21 +++++++++++++++++++++
> + sysdeps/ieee754/ldbl-128/e_jnl.c    | 21 +++++++++++++++++++++
> + sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 21 +++++++++++++++++++++
> + sysdeps/ieee754/ldbl-96/e_jnl.c     | 21 +++++++++++++++++++++
> + 5 files changed, 91 insertions(+)
> +
> +diff --git a/ChangeLog b/ChangeLog
> +index 11a9b8d98e..922e916f2c 100644
> +--- a/ChangeLog
> ++++ b/ChangeLog
> +@@ -1,3 +1,10 @@
> ++2018-09-29  Martin Jansa  <Martin.Jansa@gmail.com>
> ++      Partial fix for [BZ #23716]
> ++      * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
> ++      * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
> ++      * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
> ++      * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
> ++
> + 2018-09-28  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
> +
> +       [BZ #23579]
> +diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
> +index 9181b22bb8..9ff52c737f 100644
> +--- a/sysdeps/ieee754/dbl-64/e_jn.c
> ++++ b/sysdeps/ieee754/dbl-64/e_jn.c
> +@@ -42,6 +42,7 @@
> + #include <math-narrow-eval.h>
> + #include <math_private.h>
> + #include <math-underflow.h>
> ++#include <libc-diag.h>
> +
> + static const double
> +   invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
> +@@ -109,7 +110,17 @@ __ieee754_jn (int n, double x)
> +             case 2: temp = -c - s; break;
> +             case 3: temp = c - s; break;
> +             }
> ++          /* With GCC 8 (and older) when compiling with -O the compiler
> ++             warns that the variable 'temp', may be used uninitialized.
> ++             The switch above covers all possible values of n & 3
> ++             but GCC without VRP enabled isn't able to figure out the
> ++             range of possible values is [0,3] as explained in:
> ++             https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
> ++             so it's false possitive with -O1 and lower. */
> ++          DIAG_PUSH_NEEDS_COMMENT;
> ++          DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +           b = invsqrtpi * temp / sqrt (x);
> ++          DIAG_POP_NEEDS_COMMENT;
> +         }
> +       else
> +         {
> +@@ -316,7 +327,17 @@ __ieee754_yn (int n, double x)
> +         case 2: temp = -s + c; break;
> +         case 3: temp = s + c; break;
> +         }
> ++      /* With GCC 8 (and older) when compiling with -O the compiler
> ++         warns that the variable 'temp', may be used uninitialized.
> ++         The switch above covers all possible values of n & 3
> ++         but GCC without VRP enabled isn't able to figure out the
> ++         range of possible values is [0,3] as explained in:
> ++         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
> ++         so it's false possitive with -O1 and lower. */
> ++      DIAG_PUSH_NEEDS_COMMENT;
> ++      DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +       b = invsqrtpi * temp / sqrt (x);
> ++      DIAG_POP_NEEDS_COMMENT;
> +       }
> +     else
> +       {
> +diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
> +index 7739eec291..8706a11575 100644
> +--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
> ++++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
> +@@ -61,6 +61,7 @@
> + #include <math.h>
> + #include <math_private.h>
> + #include <math-underflow.h>
> ++#include <libc-diag.h>
> +
> + static const _Float128
> +   invsqrtpi = L(5.6418958354775628694807945156077258584405E-1),
> +@@ -150,7 +151,17 @@ __ieee754_jnl (int n, _Float128 x)
> +               temp = c - s;
> +               break;
> +             }
> ++          /* With GCC 8 (and older) when compiling with -O the compiler
> ++             warns that the variable 'temp', may be used uninitialized.
> ++             The switch above covers all possible values of n & 3
> ++             but GCC without VRP enabled isn't able to figure out the
> ++             range of possible values is [0,3] as explained in:
> ++             https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
> ++             so it's false possitive with -O1 and lower. */
> ++          DIAG_PUSH_NEEDS_COMMENT;
> ++          DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +           b = invsqrtpi * temp / sqrtl (x);
> ++          DIAG_POP_NEEDS_COMMENT;
> +         }
> +       else
> +         {
> +@@ -386,7 +397,17 @@ __ieee754_ynl (int n, _Float128 x)
> +           temp = s + c;
> +           break;
> +         }
> ++      /* With GCC 8 (and older) when compiling with -O the compiler
> ++         warns that the variable 'temp', may be used uninitialized.
> ++         The switch above covers all possible values of n & 3
> ++         but GCC without VRP enabled isn't able to figure out the
> ++         range of possible values is [0,3] as explained in:
> ++         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
> ++         so it's false possitive with -O1 and lower. */
> ++      DIAG_PUSH_NEEDS_COMMENT;
> ++      DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +       b = invsqrtpi * temp / sqrtl (x);
> ++      DIAG_POP_NEEDS_COMMENT;
> +       }
> +     else
> +       {
> +diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
> +index 71b3addfba..3226d02309 100644
> +--- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
> ++++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
> +@@ -61,6 +61,7 @@
> + #include <math.h>
> + #include <math_private.h>
> + #include <math-underflow.h>
> ++#include <libc-diag.h>
> +
> + static const long double
> +   invsqrtpi = 5.6418958354775628694807945156077258584405E-1L,
> +@@ -150,7 +151,17 @@ __ieee754_jnl (int n, long double x)
> +               temp = c - s;
> +               break;
> +             }
> ++          /* With GCC 8 (and older) when compiling with -O the compiler
> ++             warns that the variable 'temp', may be used uninitialized.
> ++             The switch above covers all possible values of n & 3
> ++             but GCC without VRP enabled isn't able to figure out the
> ++             range of possible values is [0,3] as explained in:
> ++             https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
> ++             so it's false possitive with -O1 and lower. */
> ++          DIAG_PUSH_NEEDS_COMMENT;
> ++          DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +           b = invsqrtpi * temp / sqrtl (x);
> ++          DIAG_POP_NEEDS_COMMENT;
> +         }
> +       else
> +         {
> +@@ -386,7 +397,17 @@ __ieee754_ynl (int n, long double x)
> +           temp = s + c;
> +           break;
> +         }
> ++      /* With GCC 8 (and older) when compiling with -O the compiler
> ++         warns that the variable 'temp', may be used uninitialized.
> ++         The switch above covers all possible values of n & 3
> ++         but GCC without VRP enabled isn't able to figure out the
> ++         range of possible values is [0,3] as explained in:
> ++         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
> ++         so it's false possitive with -O1 and lower. */
> ++      DIAG_PUSH_NEEDS_COMMENT;
> ++      DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +       b = invsqrtpi * temp / sqrtl (x);
> ++      DIAG_POP_NEEDS_COMMENT;
> +       }
> +     else
> +       {
> +diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
> +index 394921f564..da5c2cc93e 100644
> +--- a/sysdeps/ieee754/ldbl-96/e_jnl.c
> ++++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
> +@@ -61,6 +61,7 @@
> + #include <math.h>
> + #include <math_private.h>
> + #include <math-underflow.h>
> ++#include <libc-diag.h>
> +
> + static const long double
> +   invsqrtpi = 5.64189583547756286948079e-1L, two = 2.0e0L, one = 1.0e0L;
> +@@ -143,7 +144,17 @@ __ieee754_jnl (int n, long double x)
> +               temp = c - s;
> +               break;
> +             }
> ++          /* With GCC 8 (and older) when compiling with -O the compiler
> ++             warns that the variable 'temp', may be used uninitialized.
> ++             The switch above covers all possible values of n & 3
> ++             but GCC without VRP enabled isn't able to figure out the
> ++             range of possible values is [0,3] as explained in:
> ++             https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
> ++             so it's false possitive with -O1 and lower. */
> ++          DIAG_PUSH_NEEDS_COMMENT;
> ++          DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +           b = invsqrtpi * temp / sqrtl (x);
> ++          DIAG_POP_NEEDS_COMMENT;
> +         }
> +       else
> +         {
> +@@ -372,7 +383,17 @@ __ieee754_ynl (int n, long double x)
> +           temp = s + c;
> +           break;
> +         }
> ++      /* With GCC 8 (and older) when compiling with -O the compiler
> ++         warns that the variable 'temp', may be used uninitialized.
> ++         The switch above covers all possible values of n & 3
> ++         but GCC without VRP enabled isn't able to figure out the
> ++         range of possible values is [0,3] as explained in:
> ++         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
> ++         so it's false possitive with -O1 and lower. */
> ++      DIAG_PUSH_NEEDS_COMMENT;
> ++      DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +       b = invsqrtpi * temp / sqrtl (x);
> ++      DIAG_POP_NEEDS_COMMENT;
> +       }
> +     else
> +       {
> diff --git a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
> deleted file mode 100644
> index b02c4ec94f..0000000000
> --- a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
> +++ /dev/null
> @@ -1,95 +0,0 @@
> -From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00 2001
> -From: Martin Jansa <Martin.Jansa@gmail.com>
> -Date: Fri, 14 Sep 2018 23:23:03 +0000
> -Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
> -
> -* with -O included in BUILD_OPTIMIZATION when DEBUG_BUILD
> -  is used, nativesdk-glibc fails with:
> -../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
> -../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -      b = invsqrtpi * temp / sqrtl (x);
> -          ~~~~~~~~~~^~~~~~
> -../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
> -../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -  b = invsqrtpi * temp / sqrtl (x);
> -      ~~~~~~~~~~^~~~~~
> -
> -* work around the issue instead of removing -O like we do with
> -  SELECTED_OPTIMIZATION
> -
> -Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
> -
> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ----
> - sysdeps/ieee754/dbl-64/e_jn.c    | 2 ++
> - sysdeps/ieee754/ldbl-128/e_jnl.c | 4 ++++
> - sysdeps/ieee754/ldbl-96/e_jnl.c  | 4 ++++
> - 3 files changed, 10 insertions(+)
> -
> -diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
> -index 9181b22bb8..74a6b5f149 100644
> ---- a/sysdeps/ieee754/dbl-64/e_jn.c
> -+++ b/sysdeps/ieee754/dbl-64/e_jn.c
> -@@ -108,6 +108,7 @@ __ieee754_jn (int n, double x)
> -             case 1: temp = -c + s; break;
> -             case 2: temp = -c - s; break;
> -             case 3: temp = c - s; break;
> -+            default: temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -             }
> -           b = invsqrtpi * temp / sqrt (x);
> -         }
> -@@ -315,6 +316,7 @@ __ieee754_yn (int n, double x)
> -         case 1: temp = -s - c; break;
> -         case 2: temp = -s + c; break;
> -         case 3: temp = s + c; break;
> -+        default: temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -         }
> -       b = invsqrtpi * temp / sqrt (x);
> -       }
> -diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
> -index 7739eec291..b6a1275464 100644
> ---- a/sysdeps/ieee754/ldbl-128/e_jnl.c
> -+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
> -@@ -149,6 +149,8 @@ __ieee754_jnl (int n, _Float128 x)
> -             case 3:
> -               temp = c - s;
> -               break;
> -+            default:
> -+              temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -             }
> -           b = invsqrtpi * temp / sqrtl (x);
> -         }
> -@@ -385,6 +387,8 @@ __ieee754_ynl (int n, _Float128 x)
> -         case 3:
> -           temp = s + c;
> -           break;
> -+        default:
> -+          temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -         }
> -       b = invsqrtpi * temp / sqrtl (x);
> -       }
> -diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
> -index 394921f564..2263b02203 100644
> ---- a/sysdeps/ieee754/ldbl-96/e_jnl.c
> -+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
> -@@ -142,6 +142,8 @@ __ieee754_jnl (int n, long double x)
> -             case 3:
> -               temp = c - s;
> -               break;
> -+            default:
> -+              temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -             }
> -           b = invsqrtpi * temp / sqrtl (x);
> -         }
> -@@ -371,6 +373,8 @@ __ieee754_ynl (int n, long double x)
> -         case 3:
> -           temp = s + c;
> -           break;
> -+        default:
> -+          temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -         }
> -       b = invsqrtpi * temp / sqrtl (x);
> -       }
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch b/meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch
> deleted file mode 100644
> index 4d56e55296..0000000000
> --- a/meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -From 0efa7fd1c800277d5323d05cb245c0536fe9ce22 Mon Sep 17 00:00:00 2001
> -From: Martin Jansa <Martin.Jansa@gmail.com>
> -Date: Sun, 16 Sep 2018 12:39:22 +0000
> -Subject: [PATCH] soft-fp: ignore maybe-uninitialized
> -
> -* with -O it fails with:
> -
> -In file included from ../soft-fp/soft-fp.h:318,
> -                 from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
> -../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
> -../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -        X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
> -                         ^~
> -../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
> -   FP_DECL_D (R);
> -              ^
> -../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
> -   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
> -                                    ^
> -../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
> - # define FP_DECL_D(X)  _FP_DECL (2, X)
> -                        ^~~~~~~~
> -../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
> -   FP_DECL_D (R);
> -   ^~~~~~~~~
> -../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> -       : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
> -                 ^~
> -../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
> -   FP_DECL_D (R);
> -              ^
> -../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
> -   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
> -              ^
> -../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
> - # define FP_DECL_D(X)  _FP_DECL (2, X)
> -                        ^~~~~~~~
> -../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
> -   FP_DECL_D (R);
> -   ^~~~~~~~~
> -
> -Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html]
> -
> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ----
> - soft-fp/op-2.h | 3 +++
> - 1 file changed, 3 insertions(+)
> -
> -diff --git a/soft-fp/op-2.h b/soft-fp/op-2.h
> -index 6020d663d4..6672337949 100644
> ---- a/soft-fp/op-2.h
> -+++ b/soft-fp/op-2.h
> -@@ -92,6 +92,8 @@
> -             X##_f1 = 0;                                               \
> -           }))
> -
> -+#pragma GCC diagnostic push
> -+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
> - #define _FP_FRAC_SRS_2(X, N, sz)                                      \
> -   (void) (((N) < _FP_W_TYPE_SIZE)                                     \
> -         ? ({                                                          \
> -@@ -109,6 +111,7 @@
> -                           | X##_f0) != 0));                           \
> -             X##_f1 = 0;                                               \
> -           }))
> -+#pragma GCC diagnostic pop
> -
> - #define _FP_FRAC_ADDI_2(X, I) \
> -   __FP_FRAC_ADDI_2 (X##_f1, X##_f0, I)
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch b/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
> new file mode 100644
> index 0000000000..99cd2509ec
> --- /dev/null
> +++ b/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
> @@ -0,0 +1,100 @@
> +From 618668540e263c09b0eb28131dde7b4500158fd4 Mon Sep 17 00:00:00 2001
> +From: Martin Jansa <Martin.Jansa@gmail.com>
> +Date: Sun, 16 Sep 2018 12:39:22 +0000
> +Subject: [PATCH] sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O
> + [BZ #19444]
> +
> +* with -O, -O1, -Os it fails with:
> +
> +In file included from ../soft-fp/soft-fp.h:318,
> +                 from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
> +../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
> +../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> +        X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
> +                         ^~
> +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
> +   FP_DECL_D (R);
> +              ^
> +../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
> +   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
> +                                    ^
> +../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
> + # define FP_DECL_D(X)  _FP_DECL (2, X)
> +                        ^~~~~~~~
> +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
> +   FP_DECL_D (R);
> +   ^~~~~~~~~
> +../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> +       : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
> +                 ^~
> +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
> +   FP_DECL_D (R);
> +              ^
> +../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
> +   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
> +              ^
> +../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
> + # define FP_DECL_D(X)  _FP_DECL (2, X)
> +                        ^~~~~~~~
> +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
> +   FP_DECL_D (R);
> +   ^~~~~~~~~
> +
> +Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
> +with -O, -O1, -Os.
> +For AARCH64 it needs one more fix in locale for -Os.
> +
> +       Partial fix for [BZ #23716]
> +       * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O
> +
> +Work around the issue instead of removing -O like we do with
> +SELECTED_OPTIMIZATION
> +
> +Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html]
> +
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +---
> + ChangeLog                        |  4 ++++
> + sysdeps/ieee754/soft-fp/s_fdiv.c | 12 ++++++++++++
> + 2 files changed, 16 insertions(+)
> +
> +diff --git a/ChangeLog b/ChangeLog
> +index 922e916f2c..216336edc9 100644
> +--- a/ChangeLog
> ++++ b/ChangeLog
> +@@ -1,3 +1,7 @@
> ++2018-09-30  Martin Jansa  <Martin.Jansa@gmail.com>
> ++      Partial fix for [BZ #23716]
> ++      * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
> ++
> + 2018-09-29  Martin Jansa  <Martin.Jansa@gmail.com>
> +       Partial fix for [BZ #23716]
> +       * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
> +diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c
> +index 341339f5ed..14655b77da 100644
> +--- a/sysdeps/ieee754/soft-fp/s_fdiv.c
> ++++ b/sysdeps/ieee754/soft-fp/s_fdiv.c
> +@@ -25,6 +25,16 @@
> + #undef fdivl
> +
> + #include <math-narrow.h>
> ++
> ++#include <libc-diag.h>
> ++/* R_f[01] are not set in cases where it is not used in packing, but the
> ++   compiler does not see that it is set in all cases where it is
> ++   used, resulting in warnings that it may be used uninitialized.
> ++   The location of the warning differs in different versions of GCC,
> ++   it may be where R is defined using a macro or it may be where the
> ++   macro is defined.  */
> ++DIAG_PUSH_NEEDS_COMMENT;
> ++DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> + #include <soft-fp.h>
> + #include <single.h>
> + #include <double.h>
> +@@ -53,4 +63,6 @@ __fdiv (double x, double y)
> +   CHECK_NARROW_DIV (ret, x, y);
> +   return ret;
> + }
> ++DIAG_POP_NEEDS_COMMENT;
> ++
> + libm_alias_float_double (div)
> diff --git a/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
> new file mode 100644
> index 0000000000..31058ca91a
> --- /dev/null
> +++ b/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
> @@ -0,0 +1,68 @@
> +From cbada1a1b218c1ef61d0eb4363fad7598e6509d6 Mon Sep 17 00:00:00 2001
> +From: Martin Jansa <Martin.Jansa@gmail.com>
> +Date: Sun, 30 Sep 2018 09:16:48 +0000
> +Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ
> + #19444]
> +
> +Fixes following error when building for aarch64 with -Os:
> +| In file included from strcoll_l.c:43:
> +| strcoll_l.c: In function '__strcoll_l':
> +| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> +|    int_fast32_t i = table[*(*cpp)++];
> +|                           ^~~~~~~~~
> +| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here
> +|    coll_seq seq1, seq2;
> +|                   ^~~~
> +| In file included from strcoll_l.c:43:
> +| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> +|    int_fast32_t i = table[*(*cpp)++];
> +|                           ^~~~~~~~~
> +| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here
> +|    coll_seq seq1, seq2;
> +|             ^~~~
> +
> +        Partial fix for [BZ #23716]
> +        * locale/weight.h: Fix build with -Os.
> +
> +Work around the issue instead of removing -O like we do with
> +SELECTED_OPTIMIZATION
> +
> +Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00539.html]
> +
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +---
> + ChangeLog       | 4 ++++
> + locale/weight.h | 7 +++++++
> + 2 files changed, 11 insertions(+)
> +
> +diff --git a/ChangeLog b/ChangeLog
> +index 216336edc9..84fbbf47ed 100644
> +--- a/ChangeLog
> ++++ b/ChangeLog
> +@@ -1,3 +1,7 @@
> ++2018-09-30  Martin Jansa  <Martin.Jansa@gmail.com>
> ++      Partial fix for [BZ #23716]
> ++      * locale/weight.h: Fix build with -Os.
> ++
> + 2018-09-30  Martin Jansa  <Martin.Jansa@gmail.com>
> +       Partial fix for [BZ #23716]
> +       * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
> +diff --git a/locale/weight.h b/locale/weight.h
> +index 6028d3595e..10bcea25e5 100644
> +--- a/locale/weight.h
> ++++ b/locale/weight.h
> +@@ -28,7 +28,14 @@ findidx (const int32_t *table,
> +        const unsigned char *extra,
> +        const unsigned char **cpp, size_t len)
> + {
> ++  /* With GCC 8 when compiling with -Os the compiler warns that
> ++     seq1.back_us and seq2.back_us might be used uninitialized.
> ++     This uninitialized use is impossible for the same reason
> ++     as described in comments in locale/weightwc.h.  */
> ++  DIAG_PUSH_NEEDS_COMMENT;
> ++  DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +   int_fast32_t i = table[*(*cpp)++];
> ++  DIAG_POP_NEEDS_COMMENT;
> +   const unsigned char *cp;
> +   const unsigned char *usrc;
> +
> diff --git a/meta/recipes-core/glibc/glibc_2.28.bb b/meta/recipes-core/glibc/glibc_2.28.bb
> index 804b7891ec..bd8b51e1d6 100644
> --- a/meta/recipes-core/glibc/glibc_2.28.bb
> +++ b/meta/recipes-core/glibc/glibc_2.28.bb
> @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
>
>  DEPENDS += "gperf-native bison-native make-native"
>
> -SRCREV ?= "3c03baca37fdcb52c3881e653ca392bba7a99c2b"
> +SRCREV ?= "044c96f0d5595aeb0bb4e79355081c5a7f4faca5"
>
>  SRCBRANCH ?= "release/${PV}/master"
>
> @@ -45,9 +45,9 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
>             file://0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch \
>             file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
>             file://0030-intl-Emit-no-lines-in-bison-generated-files.patch \
> -           file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch \
> -           file://0032-soft-fp-ignore-maybe-uninitialized.patch \
> -           file://0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch \
> +           file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch \
> +           file://0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch \
> +           file://0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
>  "
>
>  NATIVESDKFIXES ?= ""
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] glibc: refresh patch to also fix qemuppc
  2018-09-29 12:55     ` Martin Jansa
  2018-09-30 16:27       ` [PATCH] glibc: bump SRCREV to latest 2.28 Martin Jansa
@ 2018-10-09  2:01       ` ChenQi
  1 sibling, 0 replies; 7+ messages in thread
From: ChenQi @ 2018-10-09  2:01 UTC (permalink / raw)
  To: Martin Jansa, Richard Purdie
  Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 2802 bytes --]

Richard, I'll consider more about maintenance issue next time.
Martin, thanks for taking care of this.

Best Regards,
Chen Qi

On 09/29/2018 08:55 PM, Martin Jansa wrote:
> I'm refreshing the patch based on feedback from upstream, I'll 
> integrate the changes for ppc as well.
>
> On Sat, Sep 29, 2018 at 2:26 PM Richard Purdie 
> <richard.purdie@linuxfoundation.org 
> <mailto:richard.purdie@linuxfoundation.org>> wrote:
>
>     On Sat, 2018-09-29 at 10:58 +0800, Chen Qi wrote:
>     > The patch 0031-sysdeps-ieee754-prevent-maybe-uninitialized-
>     > errors.patch
>     > did not take into consideration of qemuppc. Refresh it to also fix
>     > building for qemuppc.
>     >
>     > The related error message is like below:
>     >
>     >   ../sysdeps/ieee754/ldbl-128ibm/e_jnl.c:153:20: error: 'temp'
>     may be
>     > used uninitialized in this function [-Werror=maybe-uninitialized]
>     >
>     > Signed-off-by: Chen Qi <Qi.Chen@windriver.com
>     <mailto:Qi.Chen@windriver.com>>
>     > ---
>     >  ...eee754-prevent-maybe-uninitialized-errors.patch | 41
>     > +++++++++++++++++-----
>     >  1 file changed, 32 insertions(+), 9 deletions(-)
>     >
>     > diff --git a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-
>     > prevent-maybe-uninitialized-errors.patch b/meta/recipes-
>     > core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-
>     > errors.patch
>     > index b02c4ec..1c5b254 100644
>     > --- a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-
>     > maybe-uninitialized-errors.patch
>     > +++ b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-
>     > maybe-uninitialized-errors.patch
>     > @@ -1,4 +1,4 @@
>     > -From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00
>     > 2001
>     > +From 113241a738662854256c5e2e415397721b842862 Mon Sep 17 00:00:00
>     > 2001
>     >  From: Martin Jansa <Martin.Jansa@gmail.com
>     <mailto:Martin.Jansa@gmail.com>>
>     >  Date: Fri, 14 Sep 2018 23:23:03 +0000
>     >  Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized
>     errors
>     > @@ -21,13 +21,14 @@ Upstream-Status: Submitted
>     [https://www.sourcewar
>     > e.org/ml/libc-alpha/2018-09/msg
>     <http://e.org/ml/libc-alpha/2018-09/msg>
>
>     I get nervous when we modify a patch submitted upstream. Was the patch
>     submitted accepted? Do we need to send this other piece upstream?
>
>     Cheers,
>
>     Richard
>
>     -- 
>     _______________________________________________
>     Openembedded-core mailing list
>     Openembedded-core@lists.openembedded.org
>     <mailto:Openembedded-core@lists.openembedded.org>
>     http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


[-- Attachment #2: Type: text/html, Size: 4860 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-10-09  1:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-29  2:58 [PATCH 0/1] glibc: refresh patch to also fix qemuppc Chen Qi
2018-09-29  2:58 ` [PATCH 1/1] " Chen Qi
2018-09-29 12:26   ` Richard Purdie
2018-09-29 12:55     ` Martin Jansa
2018-09-30 16:27       ` [PATCH] glibc: bump SRCREV to latest 2.28 Martin Jansa
2018-09-30 16:36         ` Khem Raj
2018-10-09  2:01       ` [PATCH 1/1] glibc: refresh patch to also fix qemuppc ChenQi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.