summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2018-09-30 16:27:37 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-10-04 14:21:41 +0100
commit50cc48b18066a3dc02d199fdd0ed8930419b13d6 (patch)
tree0091c48dfc50e0146676974393b75562f78fb737 /meta/recipes-core/glibc
parentbdb49647874e18e7d60374b8973a307551b36a14 (diff)
downloadpoky-50cc48b18066a3dc02d199fdd0ed8930419b13d6.tar.gz
glibc: bump SRCREV to latest 2.28
* 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. (From OE-Core rev: f1f38df91975f9b53933c2d2fbdca291d1872d5f) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/glibc')
-rw-r--r--meta/recipes-core/glibc/glibc.inc9
-rw-r--r--meta/recipes-core/glibc/glibc/0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch38
-rw-r--r--meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch8
-rw-r--r--meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch8
-rw-r--r--meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch8
-rw-r--r--meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch8
-rw-r--r--meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch9
-rw-r--r--meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch8
-rw-r--r--meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch9
-rw-r--r--meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch9
-rw-r--r--meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch25
-rw-r--r--meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch7
-rw-r--r--meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch258
-rw-r--r--meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch95
-rw-r--r--meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch72
-rw-r--r--meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch100
-rw-r--r--meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch68
-rw-r--r--meta/recipes-core/glibc/glibc_2.28.bb8
38 files changed, 512 insertions, 375 deletions
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}"
6STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}" 6STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
7PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" 7PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
8 8
9python () {
10 opt_effective = "-O"
11 for opt in d.getVar('SELECTED_OPTIMIZATION').split():
12 if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
13 opt_effective = opt
14 if opt_effective == "-O0":
15 bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective))
16}
17
9# siteconfig.bbclass runs configure which needs a working compiler 18# siteconfig.bbclass runs configure which needs a working compiler
10# For the compiler to work we need a working libc yet libc isn't 19# For the compiler to work we need a working libc yet libc isn't
11# in the sysroots directory at this point. This means the libc.so 20# 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 @@
1From e7d22db29cfdd2f1fb97a70a76fa53d151569945 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <Mingli.Yu@windriver.com>
3Date: Thu, 20 Sep 2018 12:41:13 +0200
4Subject: [PATCH] Linux gethostid: Check for NULL value from gethostbyname_r [BZ #23679]
5
6A NULL value can happen with certain gethostbyname_r failures.
7
8(cherry picked from commit 1214ba06e6771acb953a190091b0f6055c64fd25)
9
10Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=1214ba06e6771acb953a190091b0f6055c64fd25]
11
12Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
13---
14 sysdeps/unix/sysv/linux/gethostid.c | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/sysdeps/unix/sysv/linux/gethostid.c b/sysdeps/unix/sysv/linux/gethostid.c
18index 2e20f034dc..ee0190e7f9 100644
19--- a/sysdeps/unix/sysv/linux/gethostid.c
20+++ b/sysdeps/unix/sysv/linux/gethostid.c
21@@ -102,12 +102,12 @@ gethostid (void)
22 {
23 int ret = __gethostbyname_r (hostname, &hostbuf,
24 tmpbuf.data, tmpbuf.length, &hp, &herr);
25- if (ret == 0)
26+ if (ret == 0 && hp != NULL)
27 break;
28 else
29 {
30 /* Enlarge the buffer on ERANGE. */
31- if (herr == NETDB_INTERNAL && errno == ERANGE)
32+ if (ret != 0 && herr == NETDB_INTERNAL && errno == ERANGE)
33 {
34 if (!scratch_buffer_grow (&tmpbuf))
35 return 0;
36--
372.17.1
38
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 @@
1From 70fd60e2a8f40a160736cb9b268dfa6508aa55a7 Mon Sep 17 00:00:00 2001 1From bd51b3add89a5cb2d8f44029a1027c780b2afff5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 01:48:24 +0000 3Date: Wed, 18 Mar 2015 01:48:24 +0000
4Subject: [PATCH 01/30] nativesdk-glibc: Look for host system ld.so.cache as 4Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
5 well
6 5
7Upstream-Status: Inappropriate [embedded specific] 6Upstream-Status: Inappropriate [embedded specific]
8 7
@@ -64,6 +63,3 @@ index c51e4b3718..44bbb69dc4 100644
64 /* Add another newline when we are tracing the library loading. */ 63 /* Add another newline when we are tracing the library loading. */
65 if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS)) 64 if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
66 _dl_debug_printf ("\n"); 65 _dl_debug_printf ("\n");
67--
682.18.0
69
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 @@
1From f0dd22dfdbf822afc674724c35cc462cfafbc186 Mon Sep 17 00:00:00 2001 1From fdc8a33ac2c81a0237b8a6d8b1aac7f1cdbb46af Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 01:50:00 +0000 3Date: Wed, 18 Mar 2015 01:50:00 +0000
4Subject: [PATCH 02/30] nativesdk-glibc: Fix buffer overrun with a relocated 4Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
5 SDK
6 5
7When ld-linux-*.so.2 is relocated to a path that is longer than the 6When ld-linux-*.so.2 is relocated to a path that is longer than the
8original fixed location, the dynamic loader will crash in open_path 7original fixed location, the dynamic loader will crash in open_path
@@ -45,6 +44,3 @@ index 44bbb69dc4..74e2e5e962 100644
45 do 44 do
46 { 45 {
47 struct r_search_path_elem *this_dir = *dirs; 46 struct r_search_path_elem *this_dir = *dirs;
48--
492.18.0
50
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 @@
1From 5962ca897efe965745e193c12041693c9e07dd24 Mon Sep 17 00:00:00 2001 1From 055dd46b793168fb08e44913153010b088011ba2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 01:51:38 +0000 3Date: Wed, 18 Mar 2015 01:51:38 +0000
4Subject: [PATCH 03/30] nativesdk-glibc: Raise the size of arrays containing dl 4Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
5 paths
6 5
7This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings 6This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
8and lengths as well as ld.so.cache path in the dynamic loader to specific 7and lengths as well as ld.so.cache path in the dynamic loader to specific
@@ -135,6 +134,3 @@ index cf43f1cf3b..7f07adde53 100644
135 #ifndef add_system_dir 134 #ifndef add_system_dir
136 # define add_system_dir(dir) add_dir (dir) 135 # define add_system_dir(dir) add_dir (dir)
137 #endif 136 #endif
138--
1392.18.0
140
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 @@
1From ee17ca0a6b122466c484301ea9fe029dc7e5498f Mon Sep 17 00:00:00 2001 1From a237553ccd15276462be2023057a017fa8ee5d7c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 31 Dec 2015 14:35:35 -0800 3Date: Thu, 31 Dec 2015 14:35:35 -0800
4Subject: [PATCH 04/30] nativesdk-glibc: Allow 64 bit atomics for x86 4Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
5 5
6The fix consist of allowing 64bit atomic ops for x86. 6The fix consist of allowing 64bit atomic ops for x86.
7This should be safe for i586 and newer CPUs. 7This should be safe for i586 and newer CPUs.
@@ -29,6 +29,3 @@ index 272da5dd8f..409c759f14 100644
29 #define USE_ATOMIC_COMPILER_BUILTINS 0 29 #define USE_ATOMIC_COMPILER_BUILTINS 0
30 #define ATOMIC_EXCHANGE_USES_CAS 0 30 #define ATOMIC_EXCHANGE_USES_CAS 0
31 31
32--
332.18.0
34
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 @@
1From 7195d203c6986ccdb39053933b703391ccc6854a Mon Sep 17 00:00:00 2001 1From e1dc85af1800afa4fbf4eb5a59cc41025495af57 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 3 Aug 2018 09:55:12 -0700 3Date: Fri, 3 Aug 2018 09:55:12 -0700
4Subject: [PATCH 05/30] nativesdk-glibc: Make relocatable install for locales 4Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
5 5
6The glibc locale path is hard-coded to the install prefix, but in SDKs we need 6The glibc locale path is hard-coded to the install prefix, but in SDKs we need
7to be able to relocate the binaries. Expand the strings to 4K and put them in a 7to be able to relocate the binaries. Expand the strings to 4K and put them in a
@@ -65,6 +65,3 @@ index 68822a6319..537bc35149 100644
65 65
66 /* Load the locale data for CATEGORY from the file specified by *NAME. 66 /* Load the locale data for CATEGORY from the file specified by *NAME.
67 If *NAME is "", use environment variables as specified by POSIX, and 67 If *NAME is "", use environment variables as specified by POSIX, and
68--
692.18.0
70
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 @@
1From b28e06d87a43e6aacff5624aaec75106599edec8 Mon Sep 17 00:00:00 2001 1From d23c577b0b70b34335971abaf3f50e617dda615e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:01:50 +0000 3Date: Wed, 18 Mar 2015 00:01:50 +0000
4Subject: [PATCH 06/30] fsl e500/e5500/e6500/603e fsqrt implementation 4Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation
5 5
6Upstream-Status: Pending 6Upstream-Status: Pending
7Signed-off-by: Edmar Wienskoski <edmar@freescale.com> 7Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
@@ -1579,6 +1579,3 @@ index 0000000000..04ff8cc181
1579+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies 1579+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies
1580@@ -0,0 +1 @@ 1580@@ -0,0 +1 @@
1581+powerpc/powerpc64/e6500/fpu 1581+powerpc/powerpc64/e6500/fpu
1582--
15832.18.0
1584
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 @@
1From fd2bd3037ef49f67f12659b6aaba02f76e131a24 Mon Sep 17 00:00:00 2001 1From d65f6ee214d7d91445fceabc6a5d6bf55b0e8d4b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:11:22 +0000 3Date: Wed, 18 Mar 2015 00:11:22 +0000
4Subject: [PATCH 07/30] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known 4Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
5 names
6 5
7This bolts in a hook for OE to pass its own version of interpreter 6This bolts in a hook for OE to pass its own version of interpreter
8names into glibc especially for multilib case, where it differs from any 7names into glibc especially for multilib case, where it differs from any
@@ -28,6 +27,3 @@ index 573c01476c..d8c7412287 100644
28 }; 27 };
29 28
30 static struct known_names known_libs[] = 29 static struct known_names known_libs[] =
31--
322.18.0
33
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 @@
1From b696fe0c6147afc375ae573063a92a53857248eb Mon Sep 17 00:00:00 2001 1From ee3aa1464f40c916c62cf326bf4c18f8b71a229b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:15:07 +0000 3Date: Wed, 18 Mar 2015 00:15:07 +0000
4Subject: [PATCH 08/30] ppc/sqrt: Fix undefined reference to `__sqrt_finite' 4Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
5 5
6on ppc fixes the errors like below 6on ppc fixes the errors like below
7| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite' 7| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
@@ -203,6 +203,3 @@ index 26fa067abf..9d175122a8 100644
203 return f_washf (b); 203 return f_washf (b);
204 } 204 }
205+strong_alias (__ieee754_sqrtf, __sqrtf_finite) 205+strong_alias (__ieee754_sqrtf, __sqrtf_finite)
206--
2072.18.0
208
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 @@
1From 324aa1ffbf85ebd06b54f228604d6651895c1eea Mon Sep 17 00:00:00 2001 1From 17e82d594b2d8d3a6998face953382f9d14fb046 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:16:38 +0000 3Date: Wed, 18 Mar 2015 00:16:38 +0000
4Subject: [PATCH 09/30] __ieee754_sqrt{,f} are now inline functions and call 4Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
5 out __slow versions 5 __slow versions
6 6
7Upstream-Status: Pending 7Upstream-Status: Pending
8 8
@@ -382,6 +382,3 @@ index 9d175122a8..10de1f0cc3 100644
382+} 382+}
383+ 383+
384 strong_alias (__ieee754_sqrtf, __sqrtf_finite) 384 strong_alias (__ieee754_sqrtf, __sqrtf_finite)
385--
3862.18.0
387
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 @@
1From f6581da98bef982c888061fa06092c03f3c6c708 Mon Sep 17 00:00:00 2001 1From fe8d9b76e7c881cc0a0b728ea2bd637fafca0978 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:20:09 +0000 3Date: Wed, 18 Mar 2015 00:20:09 +0000
4Subject: [PATCH 10/30] Quote from bug 1443 which explains what the patch does 4Subject: [PATCH] Quote from bug 1443 which explains what the patch does :
5 :
6 5
7 We build some random program and link it with -lust. When we run it, 6 We build some random program and link it with -lust. When we run it,
8 it dies with a SIGSEGV before reaching main(). 7 it dies with a SIGSEGV before reaching main().
@@ -57,6 +56,3 @@ index 1a4fd3f17b..a02c47571a 100644
57 break; 56 break;
58 57
59 case R_ARM_TLS_TPOFF32: 58 case R_ARM_TLS_TPOFF32:
60--
612.18.0
62
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 @@
1From 635d4a48c331b5ccc9165a6f622091845a5245b0 Mon Sep 17 00:00:00 2001 1From 3012cb839a64e7d5c621efa79b643d169290e6e9 Mon Sep 17 00:00:00 2001
2From: Ting Liu <b28495@freescale.com> 2From: Ting Liu <b28495@freescale.com>
3Date: Wed, 19 Dec 2012 04:39:57 -0600 3Date: Wed, 19 Dec 2012 04:39:57 -0600
4Subject: [PATCH 11/30] eglibc: run libm-err-tab.pl with specific dirs in ${S} 4Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S}
5 5
6libm-err-tab.pl will parse all the files named "libm-test-ulps" 6libm-err-tab.pl will parse all the files named "libm-test-ulps"
7in the given dir recursively. To avoid parsing the one in 7in the given dir recursively. To avoid parsing the one in
@@ -31,6 +31,3 @@ index c2756640a7..1b5bb16a96 100644
31 $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi 31 $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
32 touch $@ 32 touch $@
33 33
34--
352.18.0
36
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 @@
1From 11991e14957063b0e5fa366d836f42dd6d3e10cd Mon Sep 17 00:00:00 2001 1From 93ab69ae4c98303929ba9492130a021fa4a215be Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:24:46 +0000 3Date: Wed, 18 Mar 2015 00:24:46 +0000
4Subject: [PATCH 12/30] __ieee754_sqrt{,f} are now inline functions and call 4Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
5 out __slow versions 5 __slow versions
6 6
7Upstream-Status: Pending 7Upstream-Status: Pending
8 8
@@ -56,6 +56,3 @@ index 812653558f..10de1f0cc3 100644
56 float b; 56 float b;
57 #endif 57 #endif
58 { 58 {
59--
602.18.0
61
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 @@
1From 36b0c04436f6ec7dc270d387cb036b5361544618 Mon Sep 17 00:00:00 2001 1From a7bd8aa65f3f2755d6dbd0d5adbfd269c1fb0094 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:27:10 +0000 3Date: Wed, 18 Mar 2015 00:27:10 +0000
4Subject: [PATCH 13/30] sysdeps/gnu/configure.ac: handle correctly 4Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly
5 $libc_cv_rootsbindir 5 $libc_cv_rootsbindir
6 6
7Upstream-Status:Pending 7Upstream-Status:Pending
@@ -37,6 +37,3 @@ index 634fe4de2a..3db1697f4f 100644
37+ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin 37+ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin
38 ;; 38 ;;
39 esac 39 esac
40--
412.18.0
42
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 @@
1From f1969e4c95e810280edf5e11c8a6f32b3a56e2fb Mon Sep 17 00:00:00 2001 1From 2ce5bc6da23dcb402afdeb967fa44c39eecf6d37 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:28:41 +0000 3Date: Wed, 18 Mar 2015 00:28:41 +0000
4Subject: [PATCH 14/30] Add unused attribute 4Subject: [PATCH] Add unused attribute
5 5
6Helps in avoiding gcc warning when header is is included in 6Helps in avoiding gcc warning when header is is included in
7a source file which does not use both functions 7a source file which does not use both functions
@@ -29,6 +29,3 @@ index 123e2a62ce..63cc83ec84 100644
29 strip (char *wp, const char *s) 29 strip (char *wp, const char *s)
30 { 30 {
31 int slash_count = 0; 31 int slash_count = 0;
32--
332.18.0
34
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 @@
1From be9965d0e53db1d7fe9419710a84c75526a18cc0 Mon Sep 17 00:00:00 2001 1From b382138c41ccf6079b44592f1e74f183ca8281bb Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:31:06 +0000 3Date: Wed, 18 Mar 2015 00:31:06 +0000
4Subject: [PATCH 15/30] 'yes' within the path sets wrong config variables 4Subject: [PATCH] 'yes' within the path sets wrong config variables
5 5
6It seems that the 'AC_EGREP_CPP(yes...' example is quite popular 6It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
7but being such a short word to grep it is likely to produce 7but being such a short word to grep it is likely to produce
@@ -258,6 +258,3 @@ index f9cba6e15d..b21f72f1e4 100644
258 #endif 258 #endif
259 ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)]) 259 ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
260 if test $libc_cv_ppc64_def_call_elf = no; then 260 if test $libc_cv_ppc64_def_call_elf = no; then
261--
2622.18.0
263
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 @@
1From 60694f7ed69c8b711ffe37ce157032e85f60347b Mon Sep 17 00:00:00 2001 1From 04fb7b93dc40c1f96ebc05d29a2f02f9e4f0d572 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:33:03 +0000 3Date: Wed, 18 Mar 2015 00:33:03 +0000
4Subject: [PATCH 16/30] timezone: re-written tzselect as posix sh 4Subject: [PATCH] timezone: re-written tzselect as posix sh
5 5
6To avoid the bash dependency. 6To avoid the bash dependency.
7 7
@@ -40,6 +40,3 @@ index d2c3a6d1dd..089679f306 100755
40 40
41 # Output one argument as-is to standard output. 41 # Output one argument as-is to standard output.
42 # Safer than 'echo', which can mishandle '\' or leading '-'. 42 # Safer than 'echo', which can mishandle '\' or leading '-'.
43--
442.18.0
45
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 @@
1From 0d6e36d38569ec716331c48a2187b391f5680363 Mon Sep 17 00:00:00 2001 1From 7a2f244c0980a54ed74f9544ab44a7269ef12bce Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 31 Dec 2015 14:33:02 -0800 3Date: Thu, 31 Dec 2015 14:33:02 -0800
4Subject: [PATCH 17/30] Remove bash dependency for nscd init script 4Subject: [PATCH] Remove bash dependency for nscd init script
5 5
6The nscd init script uses #! /bin/bash but only really uses one bashism 6The nscd init script uses #! /bin/bash but only really uses one bashism
7(translated strings), so remove them and switch the shell to #!/bin/sh. 7(translated strings), so remove them and switch the shell to #!/bin/sh.
@@ -70,6 +70,3 @@ index a882da7d8b..b02986ec15 100644
70 RETVAL=1 70 RETVAL=1
71 ;; 71 ;;
72 esac 72 esac
73--
742.18.0
75
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 @@
1From 448222134c9a0b147c4598f288ccc9d045b873c4 Mon Sep 17 00:00:00 2001 1From 44a5c79efea09f5b990e524ec42abdeef444056a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:42:58 +0000 3Date: Wed, 18 Mar 2015 00:42:58 +0000
4Subject: [PATCH 18/30] eglibc: Cross building and testing instructions 4Subject: [PATCH] eglibc: Cross building and testing instructions
5 5
6Ported from eglibc 6Ported from eglibc
7Upstream-Status: Pending 7Upstream-Status: Pending
@@ -614,6 +614,3 @@ index 0000000000..b67b468466
614+- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we 614+- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we
615+ simply place copies of these libraries in the top GLIBC build 615+ simply place copies of these libraries in the top GLIBC build
616+ directory. 616+ directory.
617--
6182.18.0
619
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 @@
1From 6b8ee1ae86f8b9a49f751ab211002c83744356a6 Mon Sep 17 00:00:00 2001 1From f4ec5527d562d38523abb8587a6c7532e9d21f8a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:49:28 +0000 3Date: Wed, 18 Mar 2015 00:49:28 +0000
4Subject: [PATCH 19/30] eglibc: Help bootstrap cross toolchain 4Subject: [PATCH] eglibc: Help bootstrap cross toolchain
5 5
6Taken from EGLIBC, r1484 + r1525 6Taken from EGLIBC, r1484 + r1525
7 7
@@ -95,6 +95,3 @@ index 0000000000..1d2b669aff
95+ difficult headers. The <gnu/stubs.h> header depends, via the 95+ difficult headers. The <gnu/stubs.h> header depends, via the
96+ EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but 96+ EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
97+ an empty stubs.h like this will do fine for GCC. */ 97+ an empty stubs.h like this will do fine for GCC. */
98--
992.18.0
100
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 @@
1From 617ca176291df82c29d8c78e92ba8edcb38a2fe2 Mon Sep 17 00:00:00 2001 1From 6c23660d035e71de0e20b40460ad3050bd057665 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 31 Dec 2015 15:15:09 -0800 3Date: Thu, 31 Dec 2015 15:15:09 -0800
4Subject: [PATCH 20/30] eglibc: Clear cache lines on ppc8xx 4Subject: [PATCH] eglibc: Clear cache lines on ppc8xx
5 5
62007-06-13 Nathan Sidwell <nathan@codesourcery.com> 62007-06-13 Nathan Sidwell <nathan@codesourcery.com>
7 Mark Shinwell <shinwell@codesourcery.com> 7 Mark Shinwell <shinwell@codesourcery.com>
@@ -78,6 +78,3 @@ index f2ad0c355d..3e6773795e 100644
78 __cache_line_size = av->a_un.a_val; 78 __cache_line_size = av->a_un.a_val;
79 break; 79 break;
80 #ifndef SHARED 80 #ifndef SHARED
81--
822.18.0
83
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 @@
1From 78e379d65f4fc810fb095a97c4f36f0b79bb5e01 Mon Sep 17 00:00:00 2001 1From 55531ef57d04006c5a1e3b32a8e0410372f86007 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 00:55:53 +0000 3Date: Wed, 18 Mar 2015 00:55:53 +0000
4Subject: [PATCH 21/30] eglibc: Resolve __fpscr_values on SH4 4Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
5 5
62010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org> 62010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 Andrew Stubbs <ams@codesourcery.com> 7 Andrew Stubbs <ams@codesourcery.com>
@@ -51,6 +51,3 @@ index c4e28ffb98..648bae03d5 100644
51+ .long 0x80000 51+ .long 0x80000
52+weak_alias (___fpscr_values, __fpscr_values) 52+weak_alias (___fpscr_values, __fpscr_values)
53+ 53+
54--
552.18.0
56
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 @@
1From 3e24f9d63aef5561b80fc7c345ce61943910e69b Mon Sep 17 00:00:00 2001 1From 4bb23fbb07984b93fd14f353fd9325d927b0cd98 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 01:33:49 +0000 3Date: Wed, 18 Mar 2015 01:33:49 +0000
4Subject: [PATCH 22/30] eglibc: Forward port cross locale generation support 4Subject: [PATCH] eglibc: Forward port cross locale generation support
5 5
6Upstream-Status: Pending 6Upstream-Status: Pending
7 7
@@ -561,6 +561,3 @@ index e4de907e1f..b5d8f5c17d 100644
561 #ifdef NL_CURRENT_INDIRECT 561 #ifdef NL_CURRENT_INDIRECT
562 # define WEAK_POSTLOAD(postload) weak_extern (postload) 562 # define WEAK_POSTLOAD(postload) weak_extern (postload)
563 #else 563 #else
564--
5652.18.0
566
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 @@
1From 24f3fbd925b6af96c4369184528028b144b51310 Mon Sep 17 00:00:00 2001 1From 1b2ceb6c2414e3c98c7bcd029583287ced9f3159 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 20 Apr 2016 21:11:00 -0700 3Date: Wed, 20 Apr 2016 21:11:00 -0700
4Subject: [PATCH 23/30] Define DUMMY_LOCALE_T if not defined 4Subject: [PATCH] Define DUMMY_LOCALE_T if not defined
5 5
6This is a hack to fix building the locale bits on an older 6This is a hack to fix building the locale bits on an older
7CentOs 5.X machine 7CentOs 5.X machine
@@ -27,6 +27,3 @@ index 9956cd8446..04342f3644 100644
27 /* Use the internal textdomain used for libc messages. */ 27 /* Use the internal textdomain used for libc messages. */
28 #define PACKAGE _libc_intl_domainname 28 #define PACKAGE _libc_intl_domainname
29 #ifndef VERSION 29 #ifndef VERSION
30--
312.18.0
32
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 @@
1From 9f02a73c41782688f43e01bc2adbba09fc83b51e Mon Sep 17 00:00:00 2001 1From a6159c9486745664a5f116ee9cc45837021b7624 Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@windriver.com> 2From: Mark Hatle <mark.hatle@windriver.com>
3Date: Thu, 18 Aug 2016 14:07:58 -0500 3Date: Thu, 18 Aug 2016 14:07:58 -0500
4Subject: [PATCH 24/30] elf/dl-deps.c: Make _dl_build_local_scope breadth first 4Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first
5 5
6According to the ELF specification: 6According to the ELF specification:
7 7
@@ -51,6 +51,3 @@ index 9d9b1ba7f2..8414028c58 100644
51 return p - list; 51 return p - list;
52 } 52 }
53 53
54--
552.18.0
56
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 @@
1From 985b3d9e9b3f99f5a23c0c68e8657e311ca6f42d Mon Sep 17 00:00:00 2001 1From 6c6aecba19b3e7947100623532a41b6f16734ace Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= <jeremy.rosen@smile.fr> 2From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= <jeremy.rosen@smile.fr>
3Date: Mon, 22 Aug 2016 16:09:25 +0200 3Date: Mon, 22 Aug 2016 16:09:25 +0200
4Subject: [PATCH 25/30] locale: fix hard-coded reference to gcc -E 4Subject: [PATCH] locale: fix hard-coded reference to gcc -E
5 5
6When new version of compilers are published, they may not be compatible with 6When new version of compilers are published, they may not be compatible with
7older versions of software. This is particularly common when software is built 7older versions of software. This is particularly common when software is built
@@ -33,6 +33,3 @@ index 30d3f2f195..e97653017c 100644
33 33
34 34
35 sub cstrlen { 35 sub cstrlen {
36--
372.18.0
38
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 @@
1From c26abfc71ef461ef4980f57a35870b68826bd619 Mon Sep 17 00:00:00 2001 1From efb0fca7db742f4195e1771d8ba4c7fba4938819 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 27 Jan 2018 10:05:07 -0800 3Date: Sat, 27 Jan 2018 10:05:07 -0800
4Subject: [PATCH 26/30] reset dl_load_write_lock after forking 4Subject: [PATCH] reset dl_load_write_lock after forking
5 5
6The patch in this Bugzilla entry was requested by a customer: 6The patch in this Bugzilla entry was requested by a customer:
7 7
@@ -35,6 +35,3 @@ index ec56a827eb..0f48933ff1 100644
35 /* Run the handlers registered for the child. */ 35 /* Run the handlers registered for the child. */
36 __run_fork_handlers (atfork_run_child); 36 __run_fork_handlers (atfork_run_child);
37 } 37 }
38--
392.18.0
40
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 @@
1From c3e04a90dd762cad4ee9bd7564d74e052781be5c Mon Sep 17 00:00:00 2001 1From 6ea962e0946da7564a774b08dd3eda28d64e9e56 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 27 Jan 2018 10:08:04 -0800 3Date: Sat, 27 Jan 2018 10:08:04 -0800
4Subject: [PATCH 27/30] Acquire ld.so lock before switching to malloc_atfork 4Subject: [PATCH] Acquire ld.so lock before switching to malloc_atfork
5 5
6The patch is from 6The patch is from
7 https://sourceware.org/bugzilla/show_bug.cgi?id=4578 7 https://sourceware.org/bugzilla/show_bug.cgi?id=4578
@@ -63,6 +63,3 @@ index 0f48933ff1..eef3f9669b 100644
63 } 63 }
64 64
65 return pid; 65 return pid;
66--
672.18.0
68
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 @@
1From 55cc59b7da97b80cd26027656a252082b09aa2bb Mon Sep 17 00:00:00 2001 1From 38fad3e5ab3b45c56810abd35fa11a72fa10b8f1 Mon Sep 17 00:00:00 2001
2From: Pratyush Anand <panand@redhat.com> 2From: Pratyush Anand <panand@redhat.com>
3Date: Wed, 22 Mar 2017 17:02:38 +0530 3Date: Wed, 22 Mar 2017 17:02:38 +0530
4Subject: [PATCH 28/30] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT 4Subject: [PATCH] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT is
5 is missing 5 missing
6MIME-Version: 1.0 6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8 7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit 8Content-Transfer-Encoding: 8bit
@@ -64,6 +64,3 @@ index 193bd9c471..3fe852bc5f 100644
64 }; 64 };
65 # endif 65 # endif
66 66
67--
682.18.0
69
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 @@
1From 5a6f019ded549faaf42478f6f96428dc7c20606e Mon Sep 17 00:00:00 2001 1From 865651d2496a90f7ae8e7cc19a2e54b6f17a8ad5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 3 Aug 2018 09:42:06 -0700 3Date: Fri, 3 Aug 2018 09:42:06 -0700
4Subject: [PATCH 29/30] localedef --add-to-archive uses a hard-coded locale 4Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
5 path
6 5
7it doesn't exist in normal use, and there's no way to pass an 6it doesn't exist in normal use, and there's no way to pass an
8alternative filename. 7alternative filename.
@@ -15,14 +14,14 @@ Upstream-Status: Inappropriate (OE-specific)
15Signed-off-by: Ross Burton <ross.burton@intel.com> 14Signed-off-by: Ross Burton <ross.burton@intel.com>
16Signed-off-by: Khem Raj <raj.khem@gmail.com> 15Signed-off-by: Khem Raj <raj.khem@gmail.com>
17--- 16---
18 locale/programs/locarchive.c | 13 ++++++++----- 17 locale/programs/locarchive.c | 37 ++++++++++++++++++++++++++----------
19 1 file changed, 8 insertions(+), 5 deletions(-) 18 1 file changed, 27 insertions(+), 10 deletions(-)
20 19
21Index: git/locale/programs/locarchive.c 20diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
22=================================================================== 21index ca332a345f..91f62da662 100644
23--- git.orig/locale/programs/locarchive.c 22--- a/locale/programs/locarchive.c
24+++ git/locale/programs/locarchive.c 23+++ b/locale/programs/locarchive.c
25@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, 24@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
26 struct namehashent *oldnamehashtab; 25 struct namehashent *oldnamehashtab;
27 struct locarhandle new_ah; 26 struct locarhandle new_ah;
28 size_t prefix_len = output_prefix ? strlen (output_prefix) : 0; 27 size_t prefix_len = output_prefix ? strlen (output_prefix) : 0;
@@ -52,7 +51,7 @@ Index: git/locale/programs/locarchive.c
52 strcpy (stpcpy (fname, archivefname), ".XXXXXX"); 51 strcpy (stpcpy (fname, archivefname), ".XXXXXX");
53 52
54 /* Not all of the old file has to be mapped. Change this now this 53 /* Not all of the old file has to be mapped. Change this now this
55@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah, 54@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
56 55
57 /* Add the information for the new one. */ 56 /* Add the information for the new one. */
58 *ah = new_ah; 57 *ah = new_ah;
@@ -61,7 +60,7 @@ Index: git/locale/programs/locarchive.c
61 } 60 }
62 61
63 62
64@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bo 63@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bool readonly)
65 /* If ah has a non-NULL fname open that otherwise open the default. */ 64 /* If ah has a non-NULL fname open that otherwise open the default. */
66 if (archivefname == NULL) 65 if (archivefname == NULL)
67 { 66 {
@@ -79,7 +78,7 @@ Index: git/locale/programs/locarchive.c
79 } 78 }
80 79
81 while (1) 80 while (1)
82@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bo 81@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bool readonly)
83 the default locale archive we ignore the failure and 82 the default locale archive we ignore the failure and
84 list an empty archive, otherwise we print an error 83 list an empty archive, otherwise we print an error
85 and exit. */ 84 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 @@
1From 959f3fc8743cbb3b13c3be11ee359f139f5be8c7 Mon Sep 17 00:00:00 2001 1From a54c15d0567d547137066f41b1b22eba4875c27b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 3 Aug 2018 09:44:00 -0700 3Date: Fri, 3 Aug 2018 09:44:00 -0700
4Subject: [PATCH 30/30] intl: Emit no lines in bison generated files 4Subject: [PATCH] intl: Emit no lines in bison generated files
5 5
6Improve reproducibility: 6Improve reproducibility:
7Do not put any #line preprocessor commands in bison generated files. 7Do not put any #line preprocessor commands in bison generated files.
@@ -29,6 +29,3 @@ index 672edf1b38..d31888d013 100644
29 29
30 $(inst_localedir)/locale.alias: locale.alias $(+force) 30 $(inst_localedir)/locale.alias: locale.alias $(+force)
31 $(do-install) 31 $(do-install)
32--
332.18.0
34
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 @@
1From 546b46c309a52ed74dc906114b1e984bb9703d74 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Fri, 14 Sep 2018 23:23:03 +0000
4Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors with -O
5 [BZ #19444]
6
7With -O included in CFLAGS it fails to build with:
8
9../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
10../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
11 b = invsqrtpi * temp / sqrtl (x);
12 ~~~~~~~~~~^~~~~~
13../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
14../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
15 b = invsqrtpi * temp / sqrtl (x);
16 ~~~~~~~~~~^~~~~~
17../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_jn':
18../sysdeps/ieee754/dbl-64/e_jn.c:113:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
19 b = invsqrtpi * temp / sqrt (x);
20 ~~~~~~~~~~^~~~~~
21../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_yn':
22../sysdeps/ieee754/dbl-64/e_jn.c:320:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
23 b = invsqrtpi * temp / sqrt (x);
24 ~~~~~~~~~~^~~~~~
25
26Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
27with -O, -O1, -Os.
28For soft-fp ARM it needs one more fix for -O1:
29https://sourceware.org/ml/libc-alpha/2018-09/msg00300.html
30For AARCH64 it needs one more fix in locale for -Os.
31
32 [BZ #23716]
33 * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
34 * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
35 * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
36 * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
37
38Work around the issue instead of removing -O like we do with
39SELECTED_OPTIMIZATION
40
41Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
42
43Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
44---
45 ChangeLog | 7 +++++++
46 sysdeps/ieee754/dbl-64/e_jn.c | 21 +++++++++++++++++++++
47 sysdeps/ieee754/ldbl-128/e_jnl.c | 21 +++++++++++++++++++++
48 sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 21 +++++++++++++++++++++
49 sysdeps/ieee754/ldbl-96/e_jnl.c | 21 +++++++++++++++++++++
50 5 files changed, 91 insertions(+)
51
52diff --git a/ChangeLog b/ChangeLog
53index 11a9b8d98e..922e916f2c 100644
54--- a/ChangeLog
55+++ b/ChangeLog
56@@ -1,3 +1,10 @@
57+2018-09-29 Martin Jansa <Martin.Jansa@gmail.com>
58+ Partial fix for [BZ #23716]
59+ * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
60+ * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
61+ * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
62+ * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
63+
64 2018-09-28 Adhemerval Zanella <adhemerval.zanella@linaro.org>
65
66 [BZ #23579]
67diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
68index 9181b22bb8..9ff52c737f 100644
69--- a/sysdeps/ieee754/dbl-64/e_jn.c
70+++ b/sysdeps/ieee754/dbl-64/e_jn.c
71@@ -42,6 +42,7 @@
72 #include <math-narrow-eval.h>
73 #include <math_private.h>
74 #include <math-underflow.h>
75+#include <libc-diag.h>
76
77 static const double
78 invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
79@@ -109,7 +110,17 @@ __ieee754_jn (int n, double x)
80 case 2: temp = -c - s; break;
81 case 3: temp = c - s; break;
82 }
83+ /* With GCC 8 (and older) when compiling with -O the compiler
84+ warns that the variable 'temp', may be used uninitialized.
85+ The switch above covers all possible values of n & 3
86+ but GCC without VRP enabled isn't able to figure out the
87+ range of possible values is [0,3] as explained in:
88+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
89+ so it's false possitive with -O1 and lower. */
90+ DIAG_PUSH_NEEDS_COMMENT;
91+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
92 b = invsqrtpi * temp / sqrt (x);
93+ DIAG_POP_NEEDS_COMMENT;
94 }
95 else
96 {
97@@ -316,7 +327,17 @@ __ieee754_yn (int n, double x)
98 case 2: temp = -s + c; break;
99 case 3: temp = s + c; break;
100 }
101+ /* With GCC 8 (and older) when compiling with -O the compiler
102+ warns that the variable 'temp', may be used uninitialized.
103+ The switch above covers all possible values of n & 3
104+ but GCC without VRP enabled isn't able to figure out the
105+ range of possible values is [0,3] as explained in:
106+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
107+ so it's false possitive with -O1 and lower. */
108+ DIAG_PUSH_NEEDS_COMMENT;
109+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
110 b = invsqrtpi * temp / sqrt (x);
111+ DIAG_POP_NEEDS_COMMENT;
112 }
113 else
114 {
115diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
116index 7739eec291..8706a11575 100644
117--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
118+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
119@@ -61,6 +61,7 @@
120 #include <math.h>
121 #include <math_private.h>
122 #include <math-underflow.h>
123+#include <libc-diag.h>
124
125 static const _Float128
126 invsqrtpi = L(5.6418958354775628694807945156077258584405E-1),
127@@ -150,7 +151,17 @@ __ieee754_jnl (int n, _Float128 x)
128 temp = c - s;
129 break;
130 }
131+ /* With GCC 8 (and older) when compiling with -O the compiler
132+ warns that the variable 'temp', may be used uninitialized.
133+ The switch above covers all possible values of n & 3
134+ but GCC without VRP enabled isn't able to figure out the
135+ range of possible values is [0,3] as explained in:
136+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
137+ so it's false possitive with -O1 and lower. */
138+ DIAG_PUSH_NEEDS_COMMENT;
139+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
140 b = invsqrtpi * temp / sqrtl (x);
141+ DIAG_POP_NEEDS_COMMENT;
142 }
143 else
144 {
145@@ -386,7 +397,17 @@ __ieee754_ynl (int n, _Float128 x)
146 temp = s + c;
147 break;
148 }
149+ /* With GCC 8 (and older) when compiling with -O the compiler
150+ warns that the variable 'temp', may be used uninitialized.
151+ The switch above covers all possible values of n & 3
152+ but GCC without VRP enabled isn't able to figure out the
153+ range of possible values is [0,3] as explained in:
154+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
155+ so it's false possitive with -O1 and lower. */
156+ DIAG_PUSH_NEEDS_COMMENT;
157+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
158 b = invsqrtpi * temp / sqrtl (x);
159+ DIAG_POP_NEEDS_COMMENT;
160 }
161 else
162 {
163diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
164index 71b3addfba..3226d02309 100644
165--- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
166+++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
167@@ -61,6 +61,7 @@
168 #include <math.h>
169 #include <math_private.h>
170 #include <math-underflow.h>
171+#include <libc-diag.h>
172
173 static const long double
174 invsqrtpi = 5.6418958354775628694807945156077258584405E-1L,
175@@ -150,7 +151,17 @@ __ieee754_jnl (int n, long double x)
176 temp = c - s;
177 break;
178 }
179+ /* With GCC 8 (and older) when compiling with -O the compiler
180+ warns that the variable 'temp', may be used uninitialized.
181+ The switch above covers all possible values of n & 3
182+ but GCC without VRP enabled isn't able to figure out the
183+ range of possible values is [0,3] as explained in:
184+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
185+ so it's false possitive with -O1 and lower. */
186+ DIAG_PUSH_NEEDS_COMMENT;
187+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
188 b = invsqrtpi * temp / sqrtl (x);
189+ DIAG_POP_NEEDS_COMMENT;
190 }
191 else
192 {
193@@ -386,7 +397,17 @@ __ieee754_ynl (int n, long double x)
194 temp = s + c;
195 break;
196 }
197+ /* With GCC 8 (and older) when compiling with -O the compiler
198+ warns that the variable 'temp', may be used uninitialized.
199+ The switch above covers all possible values of n & 3
200+ but GCC without VRP enabled isn't able to figure out the
201+ range of possible values is [0,3] as explained in:
202+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
203+ so it's false possitive with -O1 and lower. */
204+ DIAG_PUSH_NEEDS_COMMENT;
205+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
206 b = invsqrtpi * temp / sqrtl (x);
207+ DIAG_POP_NEEDS_COMMENT;
208 }
209 else
210 {
211diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
212index 394921f564..da5c2cc93e 100644
213--- a/sysdeps/ieee754/ldbl-96/e_jnl.c
214+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
215@@ -61,6 +61,7 @@
216 #include <math.h>
217 #include <math_private.h>
218 #include <math-underflow.h>
219+#include <libc-diag.h>
220
221 static const long double
222 invsqrtpi = 5.64189583547756286948079e-1L, two = 2.0e0L, one = 1.0e0L;
223@@ -143,7 +144,17 @@ __ieee754_jnl (int n, long double x)
224 temp = c - s;
225 break;
226 }
227+ /* With GCC 8 (and older) when compiling with -O the compiler
228+ warns that the variable 'temp', may be used uninitialized.
229+ The switch above covers all possible values of n & 3
230+ but GCC without VRP enabled isn't able to figure out the
231+ range of possible values is [0,3] as explained in:
232+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
233+ so it's false possitive with -O1 and lower. */
234+ DIAG_PUSH_NEEDS_COMMENT;
235+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
236 b = invsqrtpi * temp / sqrtl (x);
237+ DIAG_POP_NEEDS_COMMENT;
238 }
239 else
240 {
241@@ -372,7 +383,17 @@ __ieee754_ynl (int n, long double x)
242 temp = s + c;
243 break;
244 }
245+ /* With GCC 8 (and older) when compiling with -O the compiler
246+ warns that the variable 'temp', may be used uninitialized.
247+ The switch above covers all possible values of n & 3
248+ but GCC without VRP enabled isn't able to figure out the
249+ range of possible values is [0,3] as explained in:
250+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
251+ so it's false possitive with -O1 and lower. */
252+ DIAG_PUSH_NEEDS_COMMENT;
253+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
254 b = invsqrtpi * temp / sqrtl (x);
255+ DIAG_POP_NEEDS_COMMENT;
256 }
257 else
258 {
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 @@
1From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Fri, 14 Sep 2018 23:23:03 +0000
4Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
5
6* with -O included in BUILD_OPTIMIZATION when DEBUG_BUILD
7 is used, nativesdk-glibc fails with:
8../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
9../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
10 b = invsqrtpi * temp / sqrtl (x);
11 ~~~~~~~~~~^~~~~~
12../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
13../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
14 b = invsqrtpi * temp / sqrtl (x);
15 ~~~~~~~~~~^~~~~~
16
17* work around the issue instead of removing -O like we do with
18 SELECTED_OPTIMIZATION
19
20Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
21
22Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
23---
24 sysdeps/ieee754/dbl-64/e_jn.c | 2 ++
25 sysdeps/ieee754/ldbl-128/e_jnl.c | 4 ++++
26 sysdeps/ieee754/ldbl-96/e_jnl.c | 4 ++++
27 3 files changed, 10 insertions(+)
28
29diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
30index 9181b22bb8..74a6b5f149 100644
31--- a/sysdeps/ieee754/dbl-64/e_jn.c
32+++ b/sysdeps/ieee754/dbl-64/e_jn.c
33@@ -108,6 +108,7 @@ __ieee754_jn (int n, double x)
34 case 1: temp = -c + s; break;
35 case 2: temp = -c - s; break;
36 case 3: temp = c - s; break;
37+ default: temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
38 }
39 b = invsqrtpi * temp / sqrt (x);
40 }
41@@ -315,6 +316,7 @@ __ieee754_yn (int n, double x)
42 case 1: temp = -s - c; break;
43 case 2: temp = -s + c; break;
44 case 3: temp = s + c; break;
45+ default: temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
46 }
47 b = invsqrtpi * temp / sqrt (x);
48 }
49diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
50index 7739eec291..b6a1275464 100644
51--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
52+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
53@@ -149,6 +149,8 @@ __ieee754_jnl (int n, _Float128 x)
54 case 3:
55 temp = c - s;
56 break;
57+ default:
58+ temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
59 }
60 b = invsqrtpi * temp / sqrtl (x);
61 }
62@@ -385,6 +387,8 @@ __ieee754_ynl (int n, _Float128 x)
63 case 3:
64 temp = s + c;
65 break;
66+ default:
67+ temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
68 }
69 b = invsqrtpi * temp / sqrtl (x);
70 }
71diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
72index 394921f564..2263b02203 100644
73--- a/sysdeps/ieee754/ldbl-96/e_jnl.c
74+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
75@@ -142,6 +142,8 @@ __ieee754_jnl (int n, long double x)
76 case 3:
77 temp = c - s;
78 break;
79+ default:
80+ temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
81 }
82 b = invsqrtpi * temp / sqrtl (x);
83 }
84@@ -371,6 +373,8 @@ __ieee754_ynl (int n, long double x)
85 case 3:
86 temp = s + c;
87 break;
88+ default:
89+ temp = 0; // just to prevent error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
90 }
91 b = invsqrtpi * temp / sqrtl (x);
92 }
93--
942.17.1
95
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 @@
1From 0efa7fd1c800277d5323d05cb245c0536fe9ce22 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sun, 16 Sep 2018 12:39:22 +0000
4Subject: [PATCH] soft-fp: ignore maybe-uninitialized
5
6* with -O it fails with:
7
8In file included from ../soft-fp/soft-fp.h:318,
9 from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
10../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
11../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
12 X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
13 ^~
14../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
15 FP_DECL_D (R);
16 ^
17../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
18 _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
19 ^
20../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
21 # define FP_DECL_D(X) _FP_DECL (2, X)
22 ^~~~~~~~
23../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
24 FP_DECL_D (R);
25 ^~~~~~~~~
26../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
27 : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
28 ^~
29../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
30 FP_DECL_D (R);
31 ^
32../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
33 _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
34 ^
35../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
36 # define FP_DECL_D(X) _FP_DECL (2, X)
37 ^~~~~~~~
38../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
39 FP_DECL_D (R);
40 ^~~~~~~~~
41
42Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html]
43
44Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
45---
46 soft-fp/op-2.h | 3 +++
47 1 file changed, 3 insertions(+)
48
49diff --git a/soft-fp/op-2.h b/soft-fp/op-2.h
50index 6020d663d4..6672337949 100644
51--- a/soft-fp/op-2.h
52+++ b/soft-fp/op-2.h
53@@ -92,6 +92,8 @@
54 X##_f1 = 0; \
55 }))
56
57+#pragma GCC diagnostic push
58+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
59 #define _FP_FRAC_SRS_2(X, N, sz) \
60 (void) (((N) < _FP_W_TYPE_SIZE) \
61 ? ({ \
62@@ -109,6 +111,7 @@
63 | X##_f0) != 0)); \
64 X##_f1 = 0; \
65 }))
66+#pragma GCC diagnostic pop
67
68 #define _FP_FRAC_ADDI_2(X, I) \
69 __FP_FRAC_ADDI_2 (X##_f1, X##_f0, I)
70--
712.17.1
72
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 @@
1From 618668540e263c09b0eb28131dde7b4500158fd4 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sun, 16 Sep 2018 12:39:22 +0000
4Subject: [PATCH] sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O
5 [BZ #19444]
6
7* with -O, -O1, -Os it fails with:
8
9In file included from ../soft-fp/soft-fp.h:318,
10 from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
11../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
12../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
13 X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
14 ^~
15../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
16 FP_DECL_D (R);
17 ^
18../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
19 _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
20 ^
21../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
22 # define FP_DECL_D(X) _FP_DECL (2, X)
23 ^~~~~~~~
24../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
25 FP_DECL_D (R);
26 ^~~~~~~~~
27../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
28 : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
29 ^~
30../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
31 FP_DECL_D (R);
32 ^
33../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
34 _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
35 ^
36../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
37 # define FP_DECL_D(X) _FP_DECL (2, X)
38 ^~~~~~~~
39../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
40 FP_DECL_D (R);
41 ^~~~~~~~~
42
43Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
44with -O, -O1, -Os.
45For AARCH64 it needs one more fix in locale for -Os.
46
47 Partial fix for [BZ #23716]
48 * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O
49
50Work around the issue instead of removing -O like we do with
51SELECTED_OPTIMIZATION
52
53Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html]
54
55Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
56---
57 ChangeLog | 4 ++++
58 sysdeps/ieee754/soft-fp/s_fdiv.c | 12 ++++++++++++
59 2 files changed, 16 insertions(+)
60
61diff --git a/ChangeLog b/ChangeLog
62index 922e916f2c..216336edc9 100644
63--- a/ChangeLog
64+++ b/ChangeLog
65@@ -1,3 +1,7 @@
66+2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
67+ Partial fix for [BZ #23716]
68+ * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
69+
70 2018-09-29 Martin Jansa <Martin.Jansa@gmail.com>
71 Partial fix for [BZ #23716]
72 * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
73diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c
74index 341339f5ed..14655b77da 100644
75--- a/sysdeps/ieee754/soft-fp/s_fdiv.c
76+++ b/sysdeps/ieee754/soft-fp/s_fdiv.c
77@@ -25,6 +25,16 @@
78 #undef fdivl
79
80 #include <math-narrow.h>
81+
82+#include <libc-diag.h>
83+/* R_f[01] are not set in cases where it is not used in packing, but the
84+ compiler does not see that it is set in all cases where it is
85+ used, resulting in warnings that it may be used uninitialized.
86+ The location of the warning differs in different versions of GCC,
87+ it may be where R is defined using a macro or it may be where the
88+ macro is defined. */
89+DIAG_PUSH_NEEDS_COMMENT;
90+DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
91 #include <soft-fp.h>
92 #include <single.h>
93 #include <double.h>
94@@ -53,4 +63,6 @@ __fdiv (double x, double y)
95 CHECK_NARROW_DIV (ret, x, y);
96 return ret;
97 }
98+DIAG_POP_NEEDS_COMMENT;
99+
100 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 @@
1From cbada1a1b218c1ef61d0eb4363fad7598e6509d6 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sun, 30 Sep 2018 09:16:48 +0000
4Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ
5 #19444]
6
7Fixes following error when building for aarch64 with -Os:
8| In file included from strcoll_l.c:43:
9| strcoll_l.c: In function '__strcoll_l':
10| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
11| int_fast32_t i = table[*(*cpp)++];
12| ^~~~~~~~~
13| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here
14| coll_seq seq1, seq2;
15| ^~~~
16| In file included from strcoll_l.c:43:
17| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
18| int_fast32_t i = table[*(*cpp)++];
19| ^~~~~~~~~
20| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here
21| coll_seq seq1, seq2;
22| ^~~~
23
24 Partial fix for [BZ #23716]
25 * locale/weight.h: Fix build with -Os.
26
27Work around the issue instead of removing -O like we do with
28SELECTED_OPTIMIZATION
29
30Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00539.html]
31
32Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
33---
34 ChangeLog | 4 ++++
35 locale/weight.h | 7 +++++++
36 2 files changed, 11 insertions(+)
37
38diff --git a/ChangeLog b/ChangeLog
39index 216336edc9..84fbbf47ed 100644
40--- a/ChangeLog
41+++ b/ChangeLog
42@@ -1,3 +1,7 @@
43+2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
44+ Partial fix for [BZ #23716]
45+ * locale/weight.h: Fix build with -Os.
46+
47 2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
48 Partial fix for [BZ #23716]
49 * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
50diff --git a/locale/weight.h b/locale/weight.h
51index 6028d3595e..10bcea25e5 100644
52--- a/locale/weight.h
53+++ b/locale/weight.h
54@@ -28,7 +28,14 @@ findidx (const int32_t *table,
55 const unsigned char *extra,
56 const unsigned char **cpp, size_t len)
57 {
58+ /* With GCC 8 when compiling with -Os the compiler warns that
59+ seq1.back_us and seq2.back_us might be used uninitialized.
60+ This uninitialized use is impossible for the same reason
61+ as described in comments in locale/weightwc.h. */
62+ DIAG_PUSH_NEEDS_COMMENT;
63+ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
64 int_fast32_t i = table[*(*cpp)++];
65+ DIAG_POP_NEEDS_COMMENT;
66 const unsigned char *cp;
67 const unsigned char *usrc;
68
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 \
7 7
8DEPENDS += "gperf-native bison-native make-native" 8DEPENDS += "gperf-native bison-native make-native"
9 9
10SRCREV ?= "3c03baca37fdcb52c3881e653ca392bba7a99c2b" 10SRCREV ?= "044c96f0d5595aeb0bb4e79355081c5a7f4faca5"
11 11
12SRCBRANCH ?= "release/${PV}/master" 12SRCBRANCH ?= "release/${PV}/master"
13 13
@@ -45,9 +45,9 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
45 file://0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch \ 45 file://0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch \
46 file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ 46 file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
47 file://0030-intl-Emit-no-lines-in-bison-generated-files.patch \ 47 file://0030-intl-Emit-no-lines-in-bison-generated-files.patch \
48 file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch \ 48 file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch \
49 file://0032-soft-fp-ignore-maybe-uninitialized.patch \ 49 file://0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch \
50 file://0001-Linux-gethostid-Check-for-NULL-value-from-gethostbyn.patch \ 50 file://0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
51" 51"
52 52
53NATIVESDKFIXES ?= "" 53NATIVESDKFIXES ?= ""