Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 1/7] musl: Update to latest master
@ 2017-05-13  2:59 Khem Raj
  2017-05-13  2:59 ` [PATCH 2/7] libnsl2: Add recipe Khem Raj
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Khem Raj @ 2017-05-13  2:59 UTC (permalink / raw)
  To: openembedded-core

* f9f686b7 have posix_spawnattr_setflags check for supported flags
* 77e895dc add no-op POSIX_SPAWN_USEVFORK to spawn.h
* 55550416 s390x: provide sigcontext struct definition
* bb439bb1 implement new posix_spawn flag POSIX_SPAWN_SETSID
* 58e2396a remove va_arg hacks in printf core with undefined behavior
* e1232f5b make ttyname[_r] return ENODEV rather than ENOENT
* 1a7fa5e5 fix regression in support for resolv.conf attempts option
* 8c44a060 fix scalbn when result is in the subnormal range
* 2577b1bc allow full-range file offsets to mmap on archs with 64-bit syscall args
* b3751c32 fix dl_iterate_phdr in static PIE binaries
* 1ca59755 fix read past end of buffer in getaddrinfo backend

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/musl_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index a88bc4d424..bae072932c 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -3,7 +3,7 @@
 
 require musl.inc
 
-SRCREV = "54807d47acecab778498ced88ce8f62bfa16e379"
+SRCREV = "f9f686b7721e2cc35e20fa5c6df6da2dc4ac3f50"
 
 PV = "1.1.16+git${SRCPV}"
 
-- 
2.13.0



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

* [PATCH 2/7] libnsl2: Add recipe
  2017-05-13  2:59 [PATCH 1/7] musl: Update to latest master Khem Raj
@ 2017-05-13  2:59 ` Khem Raj
  2017-05-13  2:59 ` [PATCH 3/7] grub: Update to 2.02 Khem Raj
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2017-05-13  2:59 UTC (permalink / raw)
  To: openembedded-core

NIS functionality has been split out into independent
library from glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-include-sys-cdefs.h-explicitly.patch      | 68 ++++++++++++++++++++++
 .../0002-Define-glibc-specific-macros.patch        | 57 ++++++++++++++++++
 meta/recipes-extended/libnsl/libnsl2_git.bb        | 35 +++++++++++
 3 files changed, 160 insertions(+)
 create mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
 create mode 100644 meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
 create mode 100644 meta/recipes-extended/libnsl/libnsl2_git.bb

diff --git a/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch b/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
new file mode 100644
index 0000000000..c6c259adb8
--- /dev/null
+++ b/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
@@ -0,0 +1,68 @@
+From 508a0ff690dfebc17c4f55a5f81824ed549bed66 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Apr 2017 09:13:33 -0700
+Subject: [PATCH 1/2] include sys/cdefs.h explicitly
+
+glibc includes this header indirectly but not musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream_status: Pending
+
+ src/rpcsvc/nis.h    | 1 +
+ src/rpcsvc/nislib.h | 1 +
+ src/rpcsvc/ypclnt.h | 1 +
+ src/rpcsvc/ypupd.h  | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
+index 933c4d9..88cbca0 100644
+--- a/src/rpcsvc/nis.h
++++ b/src/rpcsvc/nis.h
+@@ -32,6 +32,7 @@
+ #ifndef _RPCSVC_NIS_H
+ #define _RPCSVC_NIS_H 1
+ 
++#include <sys/cdefs.h>
+ #include <features.h>
+ #include <rpc/rpc.h>
+ #include <rpcsvc/nis_tags.h>
+diff --git a/src/rpcsvc/nislib.h b/src/rpcsvc/nislib.h
+index a59c19b..a53fab3 100644
+--- a/src/rpcsvc/nislib.h
++++ b/src/rpcsvc/nislib.h
+@@ -19,6 +19,7 @@
+ #ifndef	__RPCSVC_NISLIB_H__
+ #define	__RPCSVC_NISLIB_H__
+ 
++#include <sys/cdefs.h>
+ #include <features.h>
+ 
+ __BEGIN_DECLS
+diff --git a/src/rpcsvc/ypclnt.h b/src/rpcsvc/ypclnt.h
+index fe43fd4..a686b61 100644
+--- a/src/rpcsvc/ypclnt.h
++++ b/src/rpcsvc/ypclnt.h
+@@ -20,6 +20,7 @@
+ #ifndef	__RPCSVC_YPCLNT_H__
+ #define	__RPCSVC_YPCLNT_H__
+ 
++#include <sys/cdefs.h>
+ #include <features.h>
+ 
+ /* Some defines */
+diff --git a/src/rpcsvc/ypupd.h b/src/rpcsvc/ypupd.h
+index d07fd4d..2c57301 100644
+--- a/src/rpcsvc/ypupd.h
++++ b/src/rpcsvc/ypupd.h
+@@ -33,6 +33,7 @@
+ #ifndef __RPCSVC_YPUPD_H__
+ #define __RPCSVC_YPUPD_H__
+ 
++#include <sys/cdefs.h>
+ #include <features.h>
+ 
+ #include <rpc/rpc.h>
+-- 
+2.12.2
+
diff --git a/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch b/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
new file mode 100644
index 0000000000..68d819c42c
--- /dev/null
+++ b/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
@@ -0,0 +1,57 @@
+From 60282514ea01af004d7f9e66dd3929223b7d2e7b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Apr 2017 09:16:12 -0700
+Subject: [PATCH 2/2] Define glibc specific macros
+
+Check and define
+rawmemchr, __asprintf, __mempcpy, __strtok_r
+__always_inline, TEMP_FAILURE_RETRY
+
+if not existing. Helps compiling with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream_status: Pending
+
+diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
+index 88cbca0..23fc20c 100644
+--- a/src/rpcsvc/nis.h
++++ b/src/rpcsvc/nis.h
+@@ -57,6 +57,34 @@ __BEGIN_DECLS
+  *                                              <kukuk@suse.de>
+  */
+ 
++#ifndef rawmemchr
++#define rawmemchr(s,c) memchr((s),(size_t)-1,(c))
++#endif
++
++#ifndef __asprintf
++#define __asprintf asprintf
++#endif
++
++#ifndef __mempcpy
++#define __mempcpy mempcpy
++#endif
++
++#ifndef __strtok_r
++#define __strtok_r strtok_r
++#endif
++
++#ifndef __always_inline
++#define __always_inline __attribute__((__always_inline__))
++#endif
++
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(exp) ({ \
++typeof (exp) _rc; \
++ do { \
++  _rc = (exp); \
++ } while (_rc == -1 && errno == EINTR); \
++ _rc; })
++#endif
+ 
+ #ifndef __nis_object_h
+ #define __nis_object_h
+-- 
+2.12.2
+
diff --git a/meta/recipes-extended/libnsl/libnsl2_git.bb b/meta/recipes-extended/libnsl/libnsl2_git.bb
new file mode 100644
index 0000000000..1698f69edb
--- /dev/null
+++ b/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -0,0 +1,35 @@
+# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Library containing NIS functions using TI-RPC (IPv6 enabled)"
+DESCRIPTION = "This library contains the public client interface for NIS(YP) and NIS+\
+               it was part of glibc and now is standalone packages. it also supports IPv6"
+HOMEPAGE = "https://github.com/thkukuk/libnsl"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+SECTION = "libs"
+DEPENDS = "libtirpc"
+DEPENDS_append_libc-musl = " bsd-headers"
+
+PV = "1.0.5+git${SRCPV}"
+
+SRCREV = "dfa2f313524aff9243c4d8ce1bace73786478356"
+
+SRC_URI = "git://github.com/thkukuk/libnsl \
+           file://0001-include-sys-cdefs.h-explicitly.patch \
+           file://0002-Define-glibc-specific-macros.patch \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF += "--libdir=${libdir}/nsl --includedir=${includedir}/nsl"
+
+do_install_append() {
+	install -d ${D}${libdir}
+	mv ${D}${libdir}/nsl/pkgconfig ${D}${libdir}
+}
+
+FILES_${PN} += "${libdir}/nsl/*.so.*"
+FILES_${PN}-dev += "${includedir}/nsl ${libdir}/nsl/*.so"
-- 
2.13.0



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

* [PATCH 3/7] grub: Update to 2.02
  2017-05-13  2:59 [PATCH 1/7] musl: Update to latest master Khem Raj
  2017-05-13  2:59 ` [PATCH 2/7] libnsl2: Add recipe Khem Raj
@ 2017-05-13  2:59 ` Khem Raj
  2017-05-13  2:59 ` [PATCH 4/7] glew: Compile with -D_GNU_SOURCE Khem Raj
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2017-05-13  2:59 UTC (permalink / raw)
  To: openembedded-core

Drop git recipe, add arm bits to 2.02 itself

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...-mfpmath-sse-as-well-when-SSE-is-disabled.patch |   0
 ...nforce-no-pie-if-the-compiler-supports-it.patch |  45 -------
 ...E-2015-8370-Grub2-user-pass-vulnerability.patch |  53 ---------
 ...ct-_llseek-code-and-require-long-filesyst.patch |  81 -------------
 ...Use-AC_HEADER_MAJOR-to-find-device-macros.patch |  92 ---------------
 ...ettext-gettext.c-main_context-secondary_c.patch |  39 ------
 ...ern-efi-mm.c-grub_efi_finish_boot_service.patch |  79 -------------
 ...1-grub.d-10_linux.in-add-oe-s-kernel-name.patch |   0
 ..._dhcp_vendor-Add-missing-const-qualifiers.patch |  33 ------
 ...ern-efi-mm.c-grub_efi_get_memory_map-Neve.patch |  43 -------
 .../{grub => files}/autogen.sh-exclude-pc.patch    |   0
 .../grub/files/check-if-liblzma-is-disabled.patch  |  33 ------
 .../grub/files/fix-endianness-problem.patch        |  44 -------
 .../grub/files/fix-issue-with-flex-2.5.37.patch    |  21 ----
 meta/recipes-bsp/grub/files/fix-texinfo.patch      |  32 -----
 .../grub/files/grub-2.00-add-oe-kernel.patch       |  53 ---------
 .../grub-2.00-fix-enable_execute_stack-check.patch |  27 -----
 .../grub/files/grub-2.00-fpmath-sse-387-fix.patch  |  24 ----
 ...allow-a-compilation-without-mcmodel-large.patch | 131 ---------------------
 .../grub/files/grub-efi-fix-with-glibc-2.20.patch  |  32 -----
 meta/recipes-bsp/grub/files/grub-install.in.patch  |  20 ----
 .../grub/files/grub-no-unused-result.patch         |  19 ---
 .../grub/files/grub2-fix-initrd-size-bug.patch     |  48 --------
 ...rub2-remove-sparc64-setup-from-x86-builds.patch |  44 -------
 meta/recipes-bsp/grub/files/remove-gets.patch      |  20 ----
 .../grub/{grub-efi_2.00.bb => grub-efi_2.02.bb}    |   9 +-
 meta/recipes-bsp/grub/grub2.inc                    |  50 ++++----
 .../grub/{grub_2.00.bb => grub_2.02.bb}            |   6 -
 meta/recipes-bsp/grub/grub_git.bb                  |  45 -------
 29 files changed, 26 insertions(+), 1097 deletions(-)
 rename meta/recipes-bsp/grub/{grub-git => files}/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch (100%)
 delete mode 100644 meta/recipes-bsp/grub/files/0001-Enforce-no-pie-if-the-compiler-supports-it.patch
 delete mode 100644 meta/recipes-bsp/grub/files/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
 delete mode 100644 meta/recipes-bsp/grub/files/0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch
 delete mode 100644 meta/recipes-bsp/grub/files/0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch
 delete mode 100644 meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
 delete mode 100644 meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch
 rename meta/recipes-bsp/grub/{grub-git => files}/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch (100%)
 delete mode 100644 meta/recipes-bsp/grub/files/0001-parse_dhcp_vendor-Add-missing-const-qualifiers.patch
 delete mode 100644 meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch
 rename meta/recipes-bsp/grub/{grub => files}/autogen.sh-exclude-pc.patch (100%)
 delete mode 100644 meta/recipes-bsp/grub/files/check-if-liblzma-is-disabled.patch
 delete mode 100644 meta/recipes-bsp/grub/files/fix-endianness-problem.patch
 delete mode 100644 meta/recipes-bsp/grub/files/fix-issue-with-flex-2.5.37.patch
 delete mode 100644 meta/recipes-bsp/grub/files/fix-texinfo.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub-2.00-add-oe-kernel.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub-2.00-fix-enable_execute_stack-check.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub-2.00-fpmath-sse-387-fix.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub-efi-allow-a-compilation-without-mcmodel-large.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub-efi-fix-with-glibc-2.20.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub-install.in.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub-no-unused-result.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub2-fix-initrd-size-bug.patch
 delete mode 100644 meta/recipes-bsp/grub/files/grub2-remove-sparc64-setup-from-x86-builds.patch
 delete mode 100644 meta/recipes-bsp/grub/files/remove-gets.patch
 rename meta/recipes-bsp/grub/{grub-efi_2.00.bb => grub-efi_2.02.bb} (88%)
 rename meta/recipes-bsp/grub/{grub_2.00.bb => grub_2.02.bb} (56%)
 delete mode 100644 meta/recipes-bsp/grub/grub_git.bb

diff --git a/meta/recipes-bsp/grub/grub-git/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch b/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch
similarity index 100%
rename from meta/recipes-bsp/grub/grub-git/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch
rename to meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch
diff --git a/meta/recipes-bsp/grub/files/0001-Enforce-no-pie-if-the-compiler-supports-it.patch b/meta/recipes-bsp/grub/files/0001-Enforce-no-pie-if-the-compiler-supports-it.patch
deleted file mode 100644
index ccdbee215d..0000000000
--- a/meta/recipes-bsp/grub/files/0001-Enforce-no-pie-if-the-compiler-supports-it.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 6186bcf1bcaaa0f16e79339e07c64c841d4d957d Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 2 Dec 2016 20:52:40 +0200
-Subject: [PATCH] Enforce -no-pie, if the compiler supports it.
-
-Add a -no-pie as recent (2 Dec 2016) Debian testing compiler
-seems to default to enabling PIE when linking. See
-https://wiki.ubuntu.com/SecurityTeam/PIE
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- acinclude.m4 | 2 +-
- configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 19200b0..a713923 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -416,7 +416,7 @@ int main() {
- 
- [# `$CC -c -o ...' might not be portable.  But, oh, well...  Is calling
- # `ac_compile' like this correct, after all?
--if eval "$ac_compile -S -o conftest.s" 2> /dev/null; then]
-+if eval "$ac_compile -S -o conftest.s" 2> /dev/null && eval "$CC -dumpspecs 2>/dev/null | grep -e no-pie" ; then]
-   AC_MSG_RESULT([yes])
-   [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
-   rm -f conftest.s
-diff --git a/configure.ac b/configure.ac
-index df20991..506c6b4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -603,7 +603,7 @@ grub_CHECK_PIE
- [# Need that, because some distributions ship compilers that include
- # `-fPIE' in the default specs.
- if [ x"$pie_possible" = xyes ]; then
--  TARGET_CFLAGS="$TARGET_CFLAGS -fno-PIE"
-+  TARGET_CFLAGS="$TARGET_CFLAGS -fno-PIE -no-pie"
- fi]
- 
- # Position independent executable.
--- 
-2.10.2
-
diff --git a/meta/recipes-bsp/grub/files/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch b/meta/recipes-bsp/grub/files/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
deleted file mode 100644
index 65ddcaf128..0000000000
--- a/meta/recipes-bsp/grub/files/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Upstream-Status: Accepted
-CVE: CVE-2015-8370
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
-
-From 451d80e52d851432e109771bb8febafca7a5f1f2 Mon Sep 17 00:00:00 2001
-From: Hector Marco-Gisbert <hecmargi@upv.es>
-Date: Wed, 16 Dec 2015 04:57:18 +0000
-Subject: Fix security issue when reading username and password
-
-This patch fixes two integer underflows at:
-  * grub-core/lib/crypto.c
-  * grub-core/normal/auth.c
-
-CVE-2015-8370
-
-Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
-Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
-Also-By: Andrey Borzenkov <arvidjaar@gmail.com>
----
-diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
-index 010e550..683a8aa 100644
---- a/grub-core/lib/crypto.c
-+++ b/grub-core/lib/crypto.c
-@@ -470,7 +470,8 @@ grub_password_get (char buf[], unsigned buf_size)
- 
-       if (key == '\b')
- 	{
--	  cur_len--;
-+	  if (cur_len)
-+	    cur_len--;
- 	  continue;
- 	}
- 
-diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
-index c6bd96e..8615c48 100644
---- a/grub-core/normal/auth.c
-+++ b/grub-core/normal/auth.c
-@@ -174,8 +174,11 @@ grub_username_get (char buf[], unsigned buf_size)
- 
-       if (key == '\b')
- 	{
--	  cur_len--;
--	  grub_printf ("\b");
-+	  if (cur_len)
-+	    {
-+	      cur_len--;
-+	      grub_printf ("\b");
-+	    }
- 	  continue;
- 	}
- 
---
-cgit v0.9.0.2
diff --git a/meta/recipes-bsp/grub/files/0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch b/meta/recipes-bsp/grub/files/0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch
deleted file mode 100644
index 9eabce977b..0000000000
--- a/meta/recipes-bsp/grub/files/0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 3bac4caa2bc64db313aaee54fffb90383e118517 Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Thu, 22 Jan 2015 19:54:36 +0100
-Subject: [PATCH] Remove direct _llseek code and require long filesystem libc.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Backport
- configure.ac                    |  8 ++++++++
- grub-core/osdep/unix/hostdisk.c | 24 ------------------------
- 4 files changed, 13 insertions(+), 24 deletions(-)
-
-Index: grub-2.00/configure.ac
-===================================================================
---- grub-2.00.orig/configure.ac
-+++ grub-2.00/configure.ac
-@@ -306,6 +306,14 @@ if test x$grub_cv_apple_cc = xyes ; then
-   HOST_LDFLAGS="$HOST_LDFLAGS -Wl,-allow_stack_execute"
- fi
- 
-+case "$host_os" in
-+  cygwin | windows* | mingw32* | aros*)
-+     ;;
-+  *)
-+     AC_CHECK_SIZEOF(off_t)
-+     test x"$ac_cv_sizeof_off_t" = x8 || AC_MSG_ERROR([Large file support is required]);;
-+esac
-+
- if test x$USE_NLS = xno; then
-   HOST_CFLAGS="$HOST_CFLAGS -fno-builtin-gettext"
- fi
-Index: grub-2.00/grub-core/kern/emu/hostdisk.c
-===================================================================
---- grub-2.00.orig/grub-core/kern/emu/hostdisk.c
-+++ grub-2.00/grub-core/kern/emu/hostdisk.c
-@@ -44,11 +44,6 @@
- #ifdef __linux__
- # include <sys/ioctl.h>         /* ioctl */
- # include <sys/mount.h>
--# if !defined(__GLIBC__) || \
--        ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))
--/* Maybe libc doesn't have large file support.  */
--#  include <linux/unistd.h>     /* _llseek */
--# endif /* (GLIBC < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR < 1)) */
- # ifndef BLKFLSBUF
- #  define BLKFLSBUF     _IO (0x12,97)   /* flush buffer cache */
- # endif /* ! BLKFLSBUF */
-@@ -761,25 +756,6 @@ linux_find_partition (char *dev, grub_di
- }
- #endif /* __linux__ */
- 
--#if defined(__linux__) && (!defined(__GLIBC__) || \
--        ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))))
--  /* Maybe libc doesn't have large file support.  */
--grub_err_t
--grub_util_fd_seek (int fd, const char *name, grub_uint64_t off)
--{
--  loff_t offset, result;
--  static int _llseek (uint filedes, ulong hi, ulong lo,
--		      loff_t *res, uint wh);
--  _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo,
--	     loff_t *, res, uint, wh);
--
--  offset = (loff_t) off;
--  if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET))
--    return grub_error (GRUB_ERR_BAD_DEVICE, N_("cannot seek `%s': %s"),
--		       name, strerror (errno));
--  return GRUB_ERR_NONE;
--}
--#else
- grub_err_t
- grub_util_fd_seek (int fd, const char *name, grub_uint64_t off)
- {
-@@ -790,7 +766,6 @@ grub_util_fd_seek (int fd, const char *n
- 		       name, strerror (errno));
-   return 0;
- }
--#endif
- 
- static void
- flush_initial_buffer (const char *os_dev __attribute__ ((unused)))
diff --git a/meta/recipes-bsp/grub/files/0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch b/meta/recipes-bsp/grub/files/0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch
deleted file mode 100644
index f95b9ef9a0..0000000000
--- a/meta/recipes-bsp/grub/files/0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 7a5b301e3adb8e054288518a325135a1883c1c6c Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Tue, 19 Apr 2016 14:27:22 -0400
-Subject: [PATCH] build: Use AC_HEADER_MAJOR to find device macros
-
-Depending on the OS/libc, device macros are defined in different
-headers. This change ensures we include the right one.
-
-sys/types.h - BSD
-sys/mkdev.h - Sun
-sys/sysmacros.h - glibc (Linux)
-
-glibc currently pulls sys/sysmacros.h into sys/types.h, but this may
-change in a future release.
-
-https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
----
-Upstream-Status: Backport
-
- configure.ac                         | 3 ++-
- grub-core/osdep/devmapper/getroot.c  | 6 ++++++
- grub-core/osdep/devmapper/hostdisk.c | 5 +++++
- grub-core/osdep/linux/getroot.c      | 6 ++++++
- grub-core/osdep/unix/getroot.c       | 4 +++-
- 5 files changed, 22 insertions(+), 2 deletions(-)
-
-Index: grub-2.00/configure.ac
-===================================================================
---- grub-2.00.orig/configure.ac
-+++ grub-2.00/configure.ac
-@@ -326,7 +326,8 @@ fi
- 
- # Check for functions and headers.
- AC_CHECK_FUNCS(posix_memalign memalign asprintf vasprintf getextmntent)
--AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h sys/mkdev.h limits.h)
-+AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h limits.h)
-+AC_HEADER_MAJOR
- 
- AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$ac_includes_default
- #include <sys/param.h>
-Index: grub-2.00/grub-core/kern/emu/hostdisk.c
-===================================================================
---- grub-2.00.orig/grub-core/kern/emu/hostdisk.c
-+++ grub-2.00/grub-core/kern/emu/hostdisk.c
-@@ -41,6 +41,12 @@
- #include <errno.h>
- #include <limits.h>
- 
-+#if defined(MAJOR_IN_MKDEV)
-+#include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+#include <sys/sysmacros.h>
-+#endif
-+
- #ifdef __linux__
- # include <sys/ioctl.h>         /* ioctl */
- # include <sys/mount.h>
-Index: grub-2.00/util/getroot.c
-===================================================================
---- grub-2.00.orig/util/getroot.c
-+++ grub-2.00/util/getroot.c
-@@ -35,6 +35,13 @@
- #ifdef HAVE_LIMITS_H
- #include <limits.h>
- #endif
-+
-+#if defined(MAJOR_IN_MKDEV)
-+#include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+#include <sys/sysmacros.h>
-+#endif
-+
- #include <grub/util/misc.h>
- #include <grub/util/lvm.h>
- #include <grub/cryptodisk.h>
-Index: grub-2.00/util/raid.c
-===================================================================
---- grub-2.00.orig/util/raid.c
-+++ grub-2.00/util/raid.c
-@@ -29,6 +29,12 @@
- #include <errno.h>
- #include <sys/types.h>
- 
-+#if defined(MAJOR_IN_MKDEV)
-+#include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+#include <sys/sysmacros.h>
-+#endif
-+
- #include <linux/types.h>
- #include <linux/major.h>
- #include <linux/raid/md_p.h>
diff --git a/meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch b/meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
deleted file mode 100644
index 6ec2363ae3..0000000000
--- a/meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From f30c692c1f9ef0e93bee2b408a24baa017f1ca9d Mon Sep 17 00:00:00 2001
-From: Vladimir Serbinenko <phcoder@gmail.com>
-Date: Thu, 7 Nov 2013 01:01:47 +0100
-Subject: [PATCH] 	* grub-core/gettext/gettext.c (main_context),
- (secondary_context): 	Define after defining type and not before.
-
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
-
- ChangeLog                   | 5 +++++
- grub-core/gettext/gettext.c | 4 ++--
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
-index df73570..4880cef 100644
---- a/grub-core/gettext/gettext.c
-+++ b/grub-core/gettext/gettext.c
-@@ -34,8 +34,6 @@ GRUB_MOD_LICENSE ("GPLv3+");
-    http://www.gnu.org/software/autoconf/manual/gettext/MO-Files.html .
- */
- 
--static struct grub_gettext_context main_context, secondary_context;
--
- static const char *(*grub_gettext_original) (const char *s);
- 
- struct grub_gettext_msg
-@@ -69,6 +67,8 @@ struct grub_gettext_context
-   struct grub_gettext_msg *grub_gettext_msg_list;
- };
- 
-+static struct grub_gettext_context main_context, secondary_context;
-+
- #define MO_MAGIC_NUMBER 		0x950412de
- 
- static grub_err_t
--- 
-1.9.1
-
diff --git a/meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch b/meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch
deleted file mode 100644
index abf08e16c9..0000000000
--- a/meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From b258761d11946b28a847dff0768c3f271e13d60a Mon Sep 17 00:00:00 2001
-From: Awais Belal <awais_belal@mentor.com>
-Date: Thu, 8 Dec 2016 18:21:12 +0500
-Subject: [PATCH 1/2] * grub-core/kern/efi/mm.c
- (grub_efi_finish_boot_services):  Try terminating EFI services several times
- due to quirks in some  implementations.
-
-Upstream-status: Backport [ http://git.savannah.gnu.org/cgit/grub.git/patch/?id=e75fdee420a7ad95e9a465c9699adc2e2e970440 ]
-
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
----
- grub-core/kern/efi/mm.c | 46 ++++++++++++++++++++++++++++++----------------
- 1 file changed, 30 insertions(+), 16 deletions(-)
-
-diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
-index 461deb0..b00e0bc 100644
---- a/grub-core/kern/efi/mm.c
-+++ b/grub-core/kern/efi/mm.c
-@@ -167,27 +167,41 @@ grub_efi_finish_boot_services (grub_efi_uintn_t *outbuf_size, void *outbuf,
- 			   apple, sizeof (apple)) == 0);
- #endif
- 
--  if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
--			       &finish_desc_size, &finish_desc_version) < 0)
--    return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
-+  while (1)
-+    {
-+      if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
-+				   &finish_desc_size, &finish_desc_version) < 0)
-+	return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
- 
--  if (outbuf && *outbuf_size < finish_mmap_size)
--    return grub_error (GRUB_ERR_IO, "memory map buffer is too small");
-+      if (outbuf && *outbuf_size < finish_mmap_size)
-+	return grub_error (GRUB_ERR_IO, "memory map buffer is too small");
- 
--  finish_mmap_buf = grub_malloc (finish_mmap_size);
--  if (!finish_mmap_buf)
--    return grub_errno;
-+      finish_mmap_buf = grub_malloc (finish_mmap_size);
-+      if (!finish_mmap_buf)
-+	return grub_errno;
- 
--  if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
--			       &finish_desc_size, &finish_desc_version) <= 0)
--    return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
-+      if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
-+				   &finish_desc_size, &finish_desc_version) <= 0)
-+	{
-+	  grub_free (finish_mmap_buf);
-+	  return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
-+	}
- 
--  b = grub_efi_system_table->boot_services;
--  status = efi_call_2 (b->exit_boot_services, grub_efi_image_handle,
--		       finish_key);
--  if (status != GRUB_EFI_SUCCESS)
--    return grub_error (GRUB_ERR_IO, "couldn't terminate EFI services");
-+      b = grub_efi_system_table->boot_services;
-+      status = efi_call_2 (b->exit_boot_services, grub_efi_image_handle,
-+			   finish_key);
-+      if (status == GRUB_EFI_SUCCESS)
-+	break;
- 
-+      if (status != GRUB_EFI_INVALID_PARAMETER)
-+	{
-+	  grub_free (finish_mmap_buf);
-+	  return grub_error (GRUB_ERR_IO, "couldn't terminate EFI services");
-+	}
-+
-+      grub_free (finish_mmap_buf);
-+      grub_printf ("Trying to terminate EFI services again\n");
-+    }
-   grub_efi_is_finished = 1;
-   if (outbuf_size)
-     *outbuf_size = finish_mmap_size;
--- 
-1.9.1
-
diff --git a/meta/recipes-bsp/grub/grub-git/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch b/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch
similarity index 100%
rename from meta/recipes-bsp/grub/grub-git/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch
rename to meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch
diff --git a/meta/recipes-bsp/grub/files/0001-parse_dhcp_vendor-Add-missing-const-qualifiers.patch b/meta/recipes-bsp/grub/files/0001-parse_dhcp_vendor-Add-missing-const-qualifiers.patch
deleted file mode 100644
index 255e3eb7d6..0000000000
--- a/meta/recipes-bsp/grub/files/0001-parse_dhcp_vendor-Add-missing-const-qualifiers.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Backport
-
-Original commit: http://git.savannah.gnu.org/cgit/grub.git/commit/grub-core/net/bootp.c?id=f06c2172c0b32052f22e37523445cf8e7affaea3
-
-From 149d2a14f4723778ced23f439487201ccbf1a2c9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 23 Apr 2015 07:03:34 +0000
-Subject: [PATCH] parse_dhcp_vendor: Add missing const qualifiers.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- grub-core/net/bootp.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c
-index bc07d53..44131ed 100644
---- a/grub-core/net/bootp.c
-+++ b/grub-core/net/bootp.c
-@@ -52,9 +52,9 @@ set_env_limn_ro (const char *intername, const char *suffix,
- }
- 
- static void
--parse_dhcp_vendor (const char *name, void *vend, int limit, int *mask)
-+parse_dhcp_vendor (const char *name, const void *vend, int limit, int *mask)
- {
--  grub_uint8_t *ptr, *ptr0;
-+  const grub_uint8_t *ptr, *ptr0;
- 
-   ptr = ptr0 = vend;
- 
--- 
-2.1.4
-
diff --git a/meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch b/meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch
deleted file mode 100644
index 0e735ffcdc..0000000000
--- a/meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 630de45f3d5f9a2dda7fad99acd21449b8c4111d Mon Sep 17 00:00:00 2001
-From: Awais Belal <awais_belal@mentor.com>
-Date: Thu, 8 Dec 2016 18:27:01 +0500
-Subject: [PATCH 2/2] * grub-core/kern/efi/mm.c (grub_efi_get_memory_map):
- Never  return a descriptor_size==0 to avoid potential divisions by zero.
-
-Upstream-status: Backport [ http://git.savannah.gnu.org/cgit/grub.git/commit/?id=69aee43fa64601cabf6efa9279c10d69b466662e ]
-
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
----
- grub-core/kern/efi/mm.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
-index b00e0bc..9f1d194 100644
---- a/grub-core/kern/efi/mm.c
-+++ b/grub-core/kern/efi/mm.c
-@@ -235,6 +235,7 @@ grub_efi_get_memory_map (grub_efi_uintn_t *memory_map_size,
-   grub_efi_boot_services_t *b;
-   grub_efi_uintn_t key;
-   grub_efi_uint32_t version;
-+  grub_efi_uintn_t size;
- 
-   if (grub_efi_is_finished)
-     {
-@@ -264,10 +265,14 @@ grub_efi_get_memory_map (grub_efi_uintn_t *memory_map_size,
-     map_key = &key;
-   if (! descriptor_version)
-     descriptor_version = &version;
-+  if (! descriptor_size)
-+    descriptor_size = &size;
- 
-   b = grub_efi_system_table->boot_services;
-   status = efi_call_5 (b->get_memory_map, memory_map_size, memory_map, map_key,
- 			      descriptor_size, descriptor_version);
-+  if (*descriptor_size == 0)
-+    *descriptor_size = sizeof (grub_efi_memory_descriptor_t);
-   if (status == GRUB_EFI_SUCCESS)
-     return 1;
-   else if (status == GRUB_EFI_BUFFER_TOO_SMALL)
--- 
-1.9.1
-
diff --git a/meta/recipes-bsp/grub/grub/autogen.sh-exclude-pc.patch b/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
similarity index 100%
rename from meta/recipes-bsp/grub/grub/autogen.sh-exclude-pc.patch
rename to meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
diff --git a/meta/recipes-bsp/grub/files/check-if-liblzma-is-disabled.patch b/meta/recipes-bsp/grub/files/check-if-liblzma-is-disabled.patch
deleted file mode 100644
index 0eece082f8..0000000000
--- a/meta/recipes-bsp/grub/files/check-if-liblzma-is-disabled.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Disable liblzma if --enable-liblzma=no
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1029,10 +1029,20 @@ fi
- 
- AC_SUBST([LIBGEOM])
- 
--AC_CHECK_LIB([lzma], [lzma_code],
--             [LIBLZMA="-llzma"
--              AC_DEFINE([HAVE_LIBLZMA], [1],
--                        [Define to 1 if you have the LZMA library.])],)
-+AC_ARG_ENABLE([liblzma],
-+              [AS_HELP_STRING([--enable-liblzma],
-+                              [enable liblzma integration (default=guessed)])])
-+if test x"$enable_liblzma" = xno ; then
-+  liblzma_excuse="explicitly disabled"
-+fi
-+
-+if test x"$liblzma_excuse" = x ; then
-+  AC_CHECK_LIB([lzma], [lzma_code],
-+               [LIBLZMA="-llzma"
-+                AC_DEFINE([HAVE_LIBLZMA], [1],
-+                          [Define to 1 if you have the LZMA library.])],)
-+fi
-+
- AC_SUBST([LIBLZMA])
- 
- AC_ARG_ENABLE([libzfs],
diff --git a/meta/recipes-bsp/grub/files/fix-endianness-problem.patch b/meta/recipes-bsp/grub/files/fix-endianness-problem.patch
deleted file mode 100644
index 079992afba..0000000000
--- a/meta/recipes-bsp/grub/files/fix-endianness-problem.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-grub-core/net/tftp.c: fix endianness problem.
-
-	* grub-core/net/tftp.c (ack): Fix endianness problem.
-	(tftp_receive): Likewise.
-	Reported by: Michael Davidsaver.
-
-Upstream-Status: Backport
-
-diff --git a/ChangeLog b/ChangeLog
-index 81bdae9..c2f42d5 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,9 @@
-+2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
-+
-+	* grub-core/net/tftp.c (ack): Fix endianness problem.
-+	(tftp_receive): Likewise.
-+	Reported by: Michael Davidsaver.
-+
- 2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
- 
- 	* configure.ac: Bump version to 2.00.
-diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c
-index 9c70efb..d0f39ea 100644
---- a/grub-core/net/tftp.c
-+++ b/grub-core/net/tftp.c
-@@ -143,7 +143,7 @@ ack (tftp_data_t data, grub_uint16_t block)
- 
-   tftph_ack = (struct tftphdr *) nb_ack.data;
-   tftph_ack->opcode = grub_cpu_to_be16 (TFTP_ACK);
--  tftph_ack->u.ack.block = block;
-+  tftph_ack->u.ack.block = grub_cpu_to_be16 (block);
- 
-   err = grub_net_send_udp_packet (data->sock, &nb_ack);
-   if (err)
-@@ -225,7 +225,7 @@ tftp_receive (grub_net_udp_socket_t sock __attribute__ ((unused)),
- 	    grub_priority_queue_pop (data->pq);
- 
- 	    if (file->device->net->packs.count < 50)
--	      err = ack (data, tftph->u.data.block);
-+	      err = ack (data, data->block + 1);
- 	    else
- 	      {
- 		file->device->net->stall = 1;
diff --git a/meta/recipes-bsp/grub/files/fix-issue-with-flex-2.5.37.patch b/meta/recipes-bsp/grub/files/fix-issue-with-flex-2.5.37.patch
deleted file mode 100644
index 61ae2f5372..0000000000
--- a/meta/recipes-bsp/grub/files/fix-issue-with-flex-2.5.37.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Upstream-Status: Backport
-
-This fixes compilation issues when using flex-2.5.37. It was taken from upstream.
-
-Original author is: Vladimir Serbinenko  <phcoder@gmail.com>
-
-Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
-
-Index: grub-2.00/grub-core/script/yylex.l
-===================================================================
---- grub-2.00.orig/grub-core/script/yylex.l	2012-06-08 23:24:15.000000000 +0300
-+++ grub-2.00/grub-core/script/yylex.l	2013-07-31 14:34:40.708100982 +0300
-@@ -29,6 +29,8 @@
- #pragma GCC diagnostic ignored "-Wmissing-prototypes"
- #pragma GCC diagnostic ignored "-Wmissing-declarations"
- #pragma GCC diagnostic ignored "-Wunsafe-loop-optimizations"
-+#pragma GCC diagnostic ignored "-Wunused-function"
-+#pragma GCC diagnostic ignored "-Wsign-compare"
- 
- #define yyfree    grub_lexer_yyfree
- #define yyalloc   grub_lexer_yyalloc
diff --git a/meta/recipes-bsp/grub/files/fix-texinfo.patch b/meta/recipes-bsp/grub/files/fix-texinfo.patch
deleted file mode 100644
index b911d7370b..0000000000
--- a/meta/recipes-bsp/grub/files/fix-texinfo.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-The tarball has a texi file that doesn't parse with current texinfo, so if it's
-being re-generated the build will fail.  Take a patch from upstream to fix the
-texi.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From d4c4b8e1a085f92afcec36f6e590c6dfc51d0a1c Mon Sep 17 00:00:00 2001
-From: Bryan Hundven <bryanhundven@gmail.com>
-Date: Mon, 08 Apr 2013 13:23:07 +0000
-Subject: 	* docs/grub-dev.texi: Move @itemize after @subsection to satisfy
-
-	texinfo-5.1.
----
-(limited to 'docs/grub-dev.texi')
-
-diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
-index a4a3820..f74c966 100644
---- a/docs/grub-dev.texi
-+++ b/docs/grub-dev.texi
-@@ -1394,8 +1394,8 @@ grub_video_blit_glyph (&glyph, color, 0, 0);
- 
- @node Bitmap API
- @section Bitmap API
--@itemize
- @subsection grub_video_bitmap_create
-+@itemize
- @item Prototype:
- @example
- grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap, unsigned int width, unsigned int height, enum grub_video_blit_format blit_format)
---
-cgit v0.9.0.2
diff --git a/meta/recipes-bsp/grub/files/grub-2.00-add-oe-kernel.patch b/meta/recipes-bsp/grub/files/grub-2.00-add-oe-kernel.patch
deleted file mode 100644
index eb8916cb72..0000000000
--- a/meta/recipes-bsp/grub/files/grub-2.00-add-oe-kernel.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 7ab576a7c61406b7e63739d1b11017ae336b9008 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 3 Mar 2014 03:34:48 -0500
-Subject: [PATCH] grub.d/10_linux.in: add oe's kernel name
-
-Our kernel's name is bzImage, we need add it to grub.d/10_linux.in so
-that the grub-mkconfig and grub-install can work correctly.
-
-We only need add the bzImage to util/grub.d/10_linux.in, but also add it
-to util/grub.d/20_linux_xen.in to keep compatibility.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- util/grub.d/10_linux.in     |    4 ++--
- util/grub.d/20_linux_xen.in |    2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
-index 14402e8..c58f417 100644
---- a/util/grub.d/10_linux.in
-+++ b/util/grub.d/10_linux.in
-@@ -153,11 +153,11 @@ EOF
- machine=`uname -m`
- case "x$machine" in
-     xi?86 | xx86_64)
--	list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
-+	list=`for i in /boot/bzImage-* /bzImage-* /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
-                   if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
-               done` ;;
-     *) 
--	list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
-+	list=`for i in /boot/bzImage-* /boot/vmlinuz-* /boot/vmlinux-* /bzImage-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
-                   if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
- 	     done` ;;
- esac
-diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
-index 1d94502..b2decf3 100644
---- a/util/grub.d/20_linux_xen.in
-+++ b/util/grub.d/20_linux_xen.in
-@@ -138,7 +138,7 @@ EOF
- EOF
- }
- 
--linux_list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
-+linux_list=`for i in /boot/bzImage[xz]-* /bzImage[xz]-* /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
-     if grub_file_is_not_garbage "$i"; then
-     	basename=$(basename $i)
- 	version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
--- 
-1.7.10.4
-
diff --git a/meta/recipes-bsp/grub/files/grub-2.00-fix-enable_execute_stack-check.patch b/meta/recipes-bsp/grub/files/grub-2.00-fix-enable_execute_stack-check.patch
deleted file mode 100644
index 1ff3c1ca09..0000000000
--- a/meta/recipes-bsp/grub/files/grub-2.00-fix-enable_execute_stack-check.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Upstream-Status: Pending
-
-
-This patch avoids this configure failure
-
-configure:20306: checking whether `ccache i586-poky-linux-gcc  -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/builddisk/build/build0/tmp/sysroots/emenlow' generates calls to `__enable_execute_stack()'
-configure:20320: ccache i586-poky-linux-gcc  -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/builddisk/build/build0/tmp/sysroots/emenlow -O2 -pipe -g -feliminate-unused-debug-types -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -mfpmath=387 -fno-dwarf2-cfi-asm -m32 -fno-stack-protector -mno-stack-arg-probe -Werror -Wno-trampolines -falign-loops=1 -S conftest.c
-conftest.c:308:6: error: no previous prototype for 'g' [-Werror=missing-prototypes]
-cc1: all warnings being treated as errors
-configure:20323: $? = 1
-configure:20327: error: ccache i586-poky-linux-gcc  -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/builddisk/build/build0/tmp/sysroots/emenlow failed to produce assembly code
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-2012/04/13
-
-Index: grub-2.00/acinclude.m4
-===================================================================
---- grub-2.00.orig/acinclude.m4
-+++ grub-2.00/acinclude.m4
-@@ -317,6 +317,7 @@ dnl Check if the C compiler generates ca
- AC_DEFUN([grub_CHECK_ENABLE_EXECUTE_STACK],[
- AC_MSG_CHECKING([whether `$CC' generates calls to `__enable_execute_stack()'])
- AC_LANG_CONFTEST([AC_LANG_SOURCE([[
-+void g (int);
- void f (int (*p) (void));
- void g (int i)
- {
diff --git a/meta/recipes-bsp/grub/files/grub-2.00-fpmath-sse-387-fix.patch b/meta/recipes-bsp/grub/files/grub-2.00-fpmath-sse-387-fix.patch
deleted file mode 100644
index dd30d94b75..0000000000
--- a/meta/recipes-bsp/grub/files/grub-2.00-fpmath-sse-387-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status: pending
-
-This patch fixes this configure issue for grub when -mfpmath=sse is in the gcc parameters.
-
-configure:20574: i586-poky-linux-gcc  -m32    -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/usr/local/dev/yocto/grubtest2/build/tmp/sysroots/emenlow -o conftest -O2 -pipe -g -feliminate-unused-debug-types -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -m32 -fno-stack-protector -mno-stack-arg-probe -Werror -nostdlib -Wl,--defsym,___main=0x8100  -Wall -W -I$(top_srcdir)/include -I$(top_builddir)/include  -DGRUB_MACHINE_PCBIOS=1 -DGRUB_MACHINE=I386_PC -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c  >&5
-conftest.c:1:0: error: SSE instruction set disabled, using 387 arithmetics [-Werror]
-cc1: all warnings being treated as errors
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-2012/04/13
-
-Index: grub-1.99/configure.ac
-===================================================================
---- grub-1.99.orig/configure.ac
-+++ grub-1.99/configure.ac
-@@ -378,7 +378,7 @@ if test "x$target_cpu" = xi386; then
- 
-   # Some toolchains enable these features by default, but they need
-   # registers that aren't set up properly in GRUB.
--  TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-3dnow"
-+  TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -mfpmath=387"
- fi
- 
- # By default, GCC 4.4 generates .eh_frame sections containing unwind
diff --git a/meta/recipes-bsp/grub/files/grub-efi-allow-a-compilation-without-mcmodel-large.patch b/meta/recipes-bsp/grub/files/grub-efi-allow-a-compilation-without-mcmodel-large.patch
deleted file mode 100644
index 4588fca4ba..0000000000
--- a/meta/recipes-bsp/grub/files/grub-efi-allow-a-compilation-without-mcmodel-large.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-Allow a compilation without -mcmodel=large
-
-It's provided by Vladimir Serbinenko, and he will commit
-it upstream so it should be backport patch.
-
-Upstream-Status: Backport
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
---
-diff --git a/configure.ac b/configure.ac
-index 9f8fb8a..2c5e6ed 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -723,9 +723,7 @@ if test "$target_cpu" = x86_64; then
- 		      [grub_cv_cc_mcmodel=yes],
- 		      [grub_cv_cc_mcmodel=no])
-   ])
--  if test "x$grub_cv_cc_mcmodel" = xno; then
--    AC_MSG_ERROR([-mcmodel=large not supported. Upgrade your gcc.])
--  else
-+  if test "x$grub_cv_cc_mcmodel" = xyes; then
-     TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=large"
-   fi
- fi
-diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
-index 1409b5d..6e9dace 100644
---- a/grub-core/kern/efi/mm.c
-+++ b/grub-core/kern/efi/mm.c
-@@ -32,6 +32,12 @@
- #define BYTES_TO_PAGES(bytes)	(((bytes) + 0xfff) >> 12)
- #define PAGES_TO_BYTES(pages)	((pages) << 12)
-
-+#if defined (__code_model_large__) || !defined (__x86_64__)
-+#define MAX_USABLE_ADDRESS 0xffffffff
-+#else
-+#define MAX_USABLE_ADDRESS 0x7fffffff
-+#endif
-+
- /* The size of a memory map obtained from the firmware. This must be
-    a multiplier of 4KB.  */
- #define MEMORY_MAP_SIZE	0x3000
-@@ -58,7 +64,7 @@ grub_efi_allocate_pages (grub_efi_physical_address_t address,
-
- #if 1
-   /* Limit the memory access to less than 4GB for 32-bit platforms.  */
--  if (address > 0xffffffff)
-+  if (address > MAX_USABLE_ADDRESS)
-     return 0;
- #endif
-
-@@ -66,7 +72,7 @@ grub_efi_allocate_pages (grub_efi_physical_address_t address,
-   if (address == 0)
-     {
-       type = GRUB_EFI_ALLOCATE_MAX_ADDRESS;
--      address = 0xffffffff;
-+      address = MAX_USABLE_ADDRESS;
-     }
-   else
-     type = GRUB_EFI_ALLOCATE_ADDRESS;
-@@ -86,7 +92,7 @@ grub_efi_allocate_pages (grub_efi_physical_address_t address,
-     {
-       /* Uggh, the address 0 was allocated... This is too annoying,
- 	 so reallocate another one.  */
--      address = 0xffffffff;
-+      address = MAX_USABLE_ADDRESS;
-       status = efi_call_4 (b->allocate_pages, type, GRUB_EFI_LOADER_DATA, pages, &address);
-       grub_efi_free_pages (0, pages);
-       if (status != GRUB_EFI_SUCCESS)
-@@ -319,7 +325,7 @@ filter_memory_map (grub_efi_memory_descriptor_t *memory_map,
-     {
-       if (desc->type == GRUB_EFI_CONVENTIONAL_MEMORY
- #if 1
--	  && desc->physical_start <= 0xffffffff
-+	  && desc->physical_start <= MAX_USABLE_ADDRESS
- #endif
- 	  && desc->physical_start + PAGES_TO_BYTES (desc->num_pages) > 0x100000
- 	  && desc->num_pages != 0)
-@@ -337,9 +343,9 @@ filter_memory_map (grub_efi_memory_descriptor_t *memory_map,
- #if 1
- 	  if (BYTES_TO_PAGES (filtered_desc->physical_start)
- 	      + filtered_desc->num_pages
--	      > BYTES_TO_PAGES (0x100000000LL))
-+	      > BYTES_TO_PAGES (MAX_USABLE_ADDRESS+1LL))
- 	    filtered_desc->num_pages
--	      = (BYTES_TO_PAGES (0x100000000LL)
-+	      = (BYTES_TO_PAGES (MAX_USABLE_ADDRESS+1LL)
- 		 - BYTES_TO_PAGES (filtered_desc->physical_start));
- #endif
-
-diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c
-index 65f09ef..17c1215 100644
---- a/grub-core/kern/x86_64/dl.c
-+++ b/grub-core/kern/x86_64/dl.c
-@@ -100,14 +100,32 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr)
- 		    break;
-
- 		  case R_X86_64_PC32:
--		    *addr32 += rel->r_addend + sym->st_value -
--		              (Elf64_Xword) seg->addr - rel->r_offset;
-+		    {
-+		      grub_int64_t value;
-+		      value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value -
-+			(Elf64_Xword) seg->addr - rel->r_offset;
-+		      if (value != (grub_int32_t) value)
-+			return grub_error (GRUB_ERR_BAD_MODULE, "relocation out of range");
-+		      *addr32 = value;
-+		    }
- 		    break;
-
-                   case R_X86_64_32:
-+		    {
-+		      grub_uint64_t value = *addr32 + rel->r_addend + sym->st_value;
-+		      if (value != (grub_uint32_t) value)
-+			return grub_error (GRUB_ERR_BAD_MODULE, "relocation out of range");
-+		      *addr32 = value;
-+		    }
-+		    break;
-                   case R_X86_64_32S:
--                    *addr32 += rel->r_addend + sym->st_value;
--                    break;
-+		    {
-+		      grub_int64_t value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value;
-+		      if (value != (grub_int32_t) value)
-+			return grub_error (GRUB_ERR_BAD_MODULE, "relocation out of range");
-+		      *addr32 = value;
-+		    }
-+		    break;
-
- 		  default:
- 		    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
diff --git a/meta/recipes-bsp/grub/files/grub-efi-fix-with-glibc-2.20.patch b/meta/recipes-bsp/grub/files/grub-efi-fix-with-glibc-2.20.patch
deleted file mode 100644
index 4f12628a4b..0000000000
--- a/meta/recipes-bsp/grub/files/grub-efi-fix-with-glibc-2.20.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From eb6368e65f6988eebad26cebdec057f797bceb40 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 9 Sep 2014 00:02:30 -0700
-Subject: [PATCH] Fix build with glibc 2.20
-
-* grub-core/kern/emu/hostfs.c: squahes below warning
-  warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- grub-core/kern/emu/hostfs.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/grub-core/kern/emu/hostfs.c b/grub-core/kern/emu/hostfs.c
-index 3cb089c..a51ee32 100644
---- a/grub-core/kern/emu/hostfs.c
-+++ b/grub-core/kern/emu/hostfs.c
-@@ -16,7 +16,7 @@
-  *  You should have received a copy of the GNU General Public License
-  *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
-  */
--#define _BSD_SOURCE
-+#define _DEFAULT_SOURCE
- #include <grub/fs.h>
- #include <grub/file.h>
- #include <grub/disk.h>
--- 
-1.7.9.5
-
diff --git a/meta/recipes-bsp/grub/files/grub-install.in.patch b/meta/recipes-bsp/grub/files/grub-install.in.patch
deleted file mode 100644
index 326951df44..0000000000
--- a/meta/recipes-bsp/grub/files/grub-install.in.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Our use of grub-install doesn't require the -x option, so we should be
-be able make use of grep versions that don't support it.
-
-Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
-
-Index: grub-1.99/util/grub-install.in
-===================================================================
---- grub-1.99.orig/util/grub-install.in	2011-09-09 22:37:20.093906679 -0500
-+++ grub-1.99/util/grub-install.in	2011-09-09 22:37:30.854737882 -0500
-@@ -510,7 +510,7 @@
- 
- if [ "x${devabstraction_module}" = "x" ] ; then
-     if [ x"${install_device}" != x ]; then
--      if echo "${install_device}" | grep -qx "(.*)" ; then
-+      if echo "${install_device}" | grep -q "(.*)" ; then
-         install_drive="${install_device}"
-       else
-         install_drive="`"$grub_probe" --device-map="${device_map}" --target=drive --device "${install_device}"`" || exit 1
diff --git a/meta/recipes-bsp/grub/files/grub-no-unused-result.patch b/meta/recipes-bsp/grub/files/grub-no-unused-result.patch
deleted file mode 100644
index 4cbd0838d1..0000000000
--- a/meta/recipes-bsp/grub/files/grub-no-unused-result.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Signed-off-by: Radu Moisan <radu.moisan@intel.com>
-Upstream-Status: Pending
-
-I had an error because of an unused return value for read().
-I added -Wno-unused-result.
-
-Index: grub-2.00/configure.ac
-===================================================================
---- grub-2.00.orig/configure.ac	2012-08-13 16:32:33.000000000 +0300
-+++ grub-2.00/configure.ac	2012-08-13 16:38:22.000000000 +0300
-@@ -394,7 +394,7 @@
- LIBS=""
- 
- # debug flags.
--WARN_FLAGS="-Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign"
-+WARN_FLAGS="-Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable -Wno-unused-result -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign"
- HOST_CFLAGS="$HOST_CFLAGS $WARN_FLAGS"
- TARGET_CFLAGS="$TARGET_CFLAGS $WARN_FLAGS -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations"
- TARGET_CCASFLAGS="$TARGET_CCASFLAGS -g"
diff --git a/meta/recipes-bsp/grub/files/grub2-fix-initrd-size-bug.patch b/meta/recipes-bsp/grub/files/grub2-fix-initrd-size-bug.patch
deleted file mode 100644
index d114f4847b..0000000000
--- a/meta/recipes-bsp/grub/files/grub2-fix-initrd-size-bug.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 8fbb150a56966edde4dc07b8d01be5eb149b65ab Mon Sep 17 00:00:00 2001
-From: Colin Watson <cjwatson@ubuntu.com>
-Date: Sun, 20 Jan 2013 23:03:35 +0000
-Subject: [PATCH 1/1] * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't
- add the initrd size to addr_min, since the initrd will be allocated after
- this address.
-
-commit 6a0debbd9167e8f79cdef5497a73d23e580c0cd4 upstream
-
-Upstream-Status: Backport
-
-Signed-off-by: Shan Hai <shan.hai@windriver.com>
----
- ChangeLog                     | 6 ++++++
- grub-core/loader/i386/linux.c | 3 +--
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index c2f42d5..40cb508 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,9 @@
-+2013-01-20  Colin Watson  <cjwatson@ubuntu.com>
-+
-+	* grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
-+	initrd size to addr_min, since the initrd will be allocated after
-+	this address.
-+
- 2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
- 
- 	* grub-core/net/tftp.c (ack): Fix endianness problem.
-diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c
-index 62087cf..e2425c8 100644
---- a/grub-core/loader/i386/linux.c
-+++ b/grub-core/loader/i386/linux.c
-@@ -1098,8 +1098,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
-      worse than that of Linux 2.3.xx, so avoid the last 64kb.  */
-   addr_max -= 0x10000;
- 
--  addr_min = (grub_addr_t) prot_mode_target + prot_init_space
--             + page_align (size);
-+  addr_min = (grub_addr_t) prot_mode_target + prot_init_space;
- 
-   /* Put the initrd as high as possible, 4KiB aligned.  */
-   addr = (addr_max - size) & ~0xFFF;
--- 
-1.8.5.2.233.g932f7e4
-
diff --git a/meta/recipes-bsp/grub/files/grub2-remove-sparc64-setup-from-x86-builds.patch b/meta/recipes-bsp/grub/files/grub2-remove-sparc64-setup-from-x86-builds.patch
deleted file mode 100644
index 5168d3ca56..0000000000
--- a/meta/recipes-bsp/grub/files/grub2-remove-sparc64-setup-from-x86-builds.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Subject: [PATCH] grub2: remove grub-sparc64-setup from x86 builds
-
-* remove the grub-sparc64-setup files from the x86 builds.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- Makefile.util.def | 18 ------------------
- 1 file changed, 18 deletions(-)
-
-diff --git a/Makefile.util.def b/Makefile.util.def
-index b80187c..a670cf2 100644
---- a/Makefile.util.def
-+++ b/Makefile.util.def
-@@ -321,24 +321,6 @@ program = {
- };
- 
- program = {
--  name = grub-sparc64-setup;
--  installdir = sbin;
--  mansection = 8;
--  common = util/grub-setup.c;
--  common = util/lvm.c;
--  common = grub-core/kern/emu/argp_common.c;
--  common = grub-core/lib/reed_solomon.c;
--  common = util/ieee1275/ofpath.c;
--
--  ldadd = libgrubmods.a;
--  ldadd = libgrubkern.a;
--  ldadd = libgrubgcry.a;
--  ldadd = grub-core/gnulib/libgnu.a;
--  ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
--  cppflags = '-DGRUB_SETUP_SPARC64=1';
--};
--
--program = {
-   name = grub-ofpathname;
-   installdir = sbin;
-   mansection = 8;
--- 
-2.8.1
-
diff --git a/meta/recipes-bsp/grub/files/remove-gets.patch b/meta/recipes-bsp/grub/files/remove-gets.patch
deleted file mode 100644
index 463f7847ad..0000000000
--- a/meta/recipes-bsp/grub/files/remove-gets.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-Index: grub-1.99/grub-core/gnulib/stdio.in.h
-===================================================================
---- grub-1.99.orig/grub-core/gnulib/stdio.in.h	2010-12-01 06:45:43.000000000 -0800
-+++ grub-1.99/grub-core/gnulib/stdio.in.h	2012-07-04 12:25:02.057099107 -0700
-@@ -140,8 +140,10 @@
- /* It is very rare that the developer ever has full control of stdin,
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
-+#if defined gets
- #undef gets
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+#endif
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/meta/recipes-bsp/grub/grub-efi_2.00.bb b/meta/recipes-bsp/grub/grub-efi_2.02.bb
similarity index 88%
rename from meta/recipes-bsp/grub/grub-efi_2.00.bb
rename to meta/recipes-bsp/grub/grub-efi_2.02.bb
index e12f1d773f..9d494d5d12 100644
--- a/meta/recipes-bsp/grub/grub-efi_2.00.bb
+++ b/meta/recipes-bsp/grub/grub-efi_2.02.bb
@@ -1,8 +1,9 @@
 require grub2.inc
 
+GRUBPLATFORM = "efi"
+
 DEPENDS_class-target = "grub-efi-native"
 RDEPENDS_${PN}_class-target = "diffutils freetype"
-PR = "r3"
 
 SRC_URI += " \
            file://cfg \
@@ -29,11 +30,7 @@ python __anonymous () {
 inherit deploy
 
 CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN="
-EXTRA_OECONF = "--with-platform=efi --disable-grub-mkfont \
-                --enable-efiemu=no --program-prefix='' \
-                --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no \
-                --enable-largefile \
-"
+EXTRA_OECONF += "--enable-efiemu=no"
 
 # ldm.c:114:7: error: trampoline generated for nested function 'hook' [-Werror=trampolines]
 # and many other places in the grub code when compiled with some native gcc compilers (specifically, gentoo)
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc
index ef893b327f..bb6ebddf57 100644
--- a/meta/recipes-bsp/grub/grub2.inc
+++ b/meta/recipes-bsp/grub/grub2.inc
@@ -12,41 +12,37 @@ LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
-           file://grub-module-explicitly-keeps-symbole-.module_license.patch \
-           file://grub-2.00-fpmath-sse-387-fix.patch \
-           file://check-if-liblzma-is-disabled.patch \
-           file://fix-issue-with-flex-2.5.37.patch \
-           file://grub-2.00-add-oe-kernel.patch \
-           file://grub-install.in.patch \
-           file://remove-gets.patch \
-           file://fix-endianness-problem.patch \
-           file://grub2-remove-sparc64-setup-from-x86-builds.patch \
-           file://grub-2.00-fix-enable_execute_stack-check.patch \
-           file://grub-no-unused-result.patch \
-           file://grub-efi-allow-a-compilation-without-mcmodel-large.patch \
-           file://grub-efi-fix-with-glibc-2.20.patch \
+           file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \
            file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
-           file://0001-parse_dhcp_vendor-Add-missing-const-qualifiers.patch \
-           file://grub2-fix-initrd-size-bug.patch \
-           file://0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch \
-           file://0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch \
-           file://fix-texinfo.patch \
-           file://0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch \
-           file://0001-Enforce-no-pie-if-the-compiler-supports-it.patch \
-           file://0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch \
-           file://0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch \
-           file://0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch \
-            "
+           file://autogen.sh-exclude-pc.patch \
+           file://grub-module-explicitly-keeps-symbole-.module_license.patch \
+"
+SRC_URI[md5sum] = "1116d1f60c840e6dbd67abbc99acb45d"
+SRC_URI[sha256sum] = "660ee136fbcee08858516ed4de2ad87068bfe1b6b8b37896ce3529ff054a726d"
 
 DEPENDS = "flex-native bison-native autogen-native"
 
-SRC_URI[md5sum] = "e927540b6eda8b024fb0391eeaa4091c"
-SRC_URI[sha256sum] = "65b39a0558f8c802209c574f4d02ca263a804e8a564bc6caf1cd0fd3b3cc11e3"
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
+COMPATIBLE_HOST_armv7a = 'null'
+COMPATIBLE_HOST_armv7ve = 'null'
 
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
+# configure.ac has code to set this automagically from the target tuple
+# but the OE freeform one (core2-foo-bar-linux) don't work with that.
+
+GRUBPLATFORM_arm = "uboot"
+GRUBPLATFORM_aarch64 = "efi"
+GRUBPLATFORM ??= "pc"
 
 inherit autotools gettext texinfo
 
+EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} \
+                --disable-grub-mkfont \
+                --program-prefix="" \
+                --enable-liblzma=no \
+                --enable-libzfs=no \
+                --enable-largefile \
+"
+
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[grub-mount] = "--enable-grub-mount,--disable-grub-mount,fuse"
 PACKAGECONFIG[device-mapper] = "--enable-device-mapper,--disable-device-mapper,lvm2"
diff --git a/meta/recipes-bsp/grub/grub_2.00.bb b/meta/recipes-bsp/grub/grub_2.02.bb
similarity index 56%
rename from meta/recipes-bsp/grub/grub_2.00.bb
rename to meta/recipes-bsp/grub/grub_2.02.bb
index c3829381ae..57c6559365 100644
--- a/meta/recipes-bsp/grub/grub_2.00.bb
+++ b/meta/recipes-bsp/grub/grub_2.02.bb
@@ -1,12 +1,6 @@
 require grub2.inc
 
 RDEPENDS_${PN} = "diffutils freetype grub-editenv"
-PR = "r1"
-
-EXTRA_OECONF = "--with-platform=pc --disable-grub-mkfont --program-prefix="" \
-                --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no \
-                --enable-largefile \
-"
 
 PACKAGES =+ "grub-editenv"
 
diff --git a/meta/recipes-bsp/grub/grub_git.bb b/meta/recipes-bsp/grub/grub_git.bb
deleted file mode 100644
index 0a81e530f4..0000000000
--- a/meta/recipes-bsp/grub/grub_git.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-require grub2.inc
-
-DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_arm = "1"
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/grub-git:"
-
-PV = "2.00+${SRCPV}"
-SRCREV = "ce95549cc54b5d6f494608a7c390dba3aab4fba7"
-SRC_URI = "git://git.savannah.gnu.org/grub.git \
-           file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \
-           file://autogen.sh-exclude-pc.patch \
-           file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \
-          "
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
-COMPATIBLE_HOST_armv7a = 'null'
-COMPATIBLE_HOST_armv7ve = 'null'
-
-# configure.ac has code to set this automagically from the target tuple
-# but the OE freeform one (core2-foo-bar-linux) don't work with that.
-
-GRUBPLATFORM_arm = "uboot"
-GRUBPLATFORM_aarch64 = "efi"
-GRUBPLATFORM ??= "pc"
-
-EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} --disable-grub-mkfont --program-prefix="" \
-                --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no \
-                --enable-largefile \
-"
-
-do_install_append () {
-    install -d ${D}${sysconfdir}/grub.d
-    rm -rf ${D}${libdir}/charset.alias
-}
-
-# debugedit chokes on bare metal binaries
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-RDEPENDS_${PN} = "diffutils freetype"
-
-INSANE_SKIP_${PN} = "arch"
-INSANE_SKIP_${PN}-dbg = "arch"
-- 
2.13.0



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

* [PATCH 4/7] glew: Compile with -D_GNU_SOURCE
  2017-05-13  2:59 [PATCH 1/7] musl: Update to latest master Khem Raj
  2017-05-13  2:59 ` [PATCH 2/7] libnsl2: Add recipe Khem Raj
  2017-05-13  2:59 ` [PATCH 3/7] grub: Update to 2.02 Khem Raj
@ 2017-05-13  2:59 ` Khem Raj
  2017-05-13  2:59 ` [PATCH 5/7] vala: Upgrade to 0.36.3 release Khem Raj
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2017-05-13  2:59 UTC (permalink / raw)
  To: openembedded-core

Required with glibc 2.26
when x11 is not in distro features it errors
out due to mising CLOCK_REALTIME

 error: 'CLOCK_REALTIME' undeclared (first use in this function);
did you mean '_XOPEN_REALTIME'?
    if (clock_gettime(CLOCK_REALTIME, &ts) == -1)
                      ^~~~~~~~~~~~~~
                      _XOPEN_REALTIME

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-graphics/glew/glew_2.0.0.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-graphics/glew/glew_2.0.0.bb b/meta/recipes-graphics/glew/glew_2.0.0.bb
index 1c93ca07b6..f2ab75629c 100644
--- a/meta/recipes-graphics/glew/glew_2.0.0.bb
+++ b/meta/recipes-graphics/glew/glew_2.0.0.bb
@@ -24,6 +24,7 @@ PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', 'egl-
 PACKAGECONFIG[opengl] = "SYSTEM='linux',,virtual/libx11 virtual/libgl libglu libxext libxi libxmu"
 PACKAGECONFIG[egl-gles2] = "SYSTEM='linux-egl' GLEW_NO_GLU='-DGLEW_NO_GLU' LDFLAGS.GL='-lEGL -lGLESv2',,virtual/egl virtual/libgles2"
 
+CFLAGS += "-D_GNU_SOURCE"
 # Override SYSTEM (via PACKAGECONFIG_CONFARGS) to avoid calling config.guess,
 # we're cross-compiling. Pass our CFLAGS via POPT as that's the optimisation
 # variable and safely overwritten.
-- 
2.13.0



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

* [PATCH 5/7] vala: Upgrade to 0.36.3 release
  2017-05-13  2:59 [PATCH 1/7] musl: Update to latest master Khem Raj
                   ` (2 preceding siblings ...)
  2017-05-13  2:59 ` [PATCH 4/7] glew: Compile with -D_GNU_SOURCE Khem Raj
@ 2017-05-13  2:59 ` Khem Raj
  2017-05-13  2:59 ` [PATCH 6/7] libidn: Fix hardened build with musl Khem Raj
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2017-05-13  2:59 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/vala/{vala_0.34.4.bb => vala_0.36.3.bb} | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
 rename meta/recipes-devtools/vala/{vala_0.34.4.bb => vala_0.36.3.bb} (55%)

diff --git a/meta/recipes-devtools/vala/vala_0.34.4.bb b/meta/recipes-devtools/vala/vala_0.36.3.bb
similarity index 55%
rename from meta/recipes-devtools/vala/vala_0.34.4.bb
rename to meta/recipes-devtools/vala/vala_0.36.3.bb
index d1b49aea7d..7f54f2beb9 100644
--- a/meta/recipes-devtools/vala/vala_0.34.4.bb
+++ b/meta/recipes-devtools/vala/vala_0.36.3.bb
@@ -3,6 +3,5 @@ require ${BPN}.inc
 SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
              file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
 "
-
-SRC_URI[md5sum] = "a856989d749fc5e472a3592b96f9ca48"
-SRC_URI[sha256sum] = "6b17bd339414563ebc51f64b0b837919ea7552d8a8ffa71cdc837d25c9696b83"
+SRC_URI[md5sum] = "ff093f46e1d2e0b179543ec43cf27d76"
+SRC_URI[sha256sum] = "ac8a4ecd01f62d0c5f62ba50b7290d8c5a1edb308eec772a65b8e79be68f061c"
-- 
2.13.0



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

* [PATCH 6/7] libidn: Fix hardened build with musl
  2017-05-13  2:59 [PATCH 1/7] musl: Update to latest master Khem Raj
                   ` (3 preceding siblings ...)
  2017-05-13  2:59 ` [PATCH 5/7] vala: Upgrade to 0.36.3 release Khem Raj
@ 2017-05-13  2:59 ` Khem Raj
  2017-05-13  2:59 ` [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7 Khem Raj
  2017-05-13  3:01 ` ✗ patchtest: failure for "musl: Update to latest master..." and 6 more Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2017-05-13  2:59 UTC (permalink / raw)
  To: openembedded-core

Re-introduce the patch that was deemed to be not needed
but it infact is still needed with musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../libidn/0001-idn-format-security-warnings.patch | 181 +++++++++++++++++++++
 meta/recipes-extended/libidn/libidn_1.33.bb        |   1 +
 2 files changed, 182 insertions(+)
 create mode 100644 meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch

diff --git a/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch b/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
new file mode 100644
index 0000000000..5adc7d9fd9
--- /dev/null
+++ b/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
@@ -0,0 +1,181 @@
+From 82f98dcbc429bbe89a9837c533cbcbc02e77c790 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
+Date: Tue, 28 Jun 2016 12:43:31 +0100
+Subject: [PATCH] idn: fix printf() format security warnings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| ../../libidn-1.32/src/idn.c: In function 'main':
+| ../../libidn-1.32/src/idn.c:172:7: error: format not a string literal and no format arguments [-Werror=format-security]
+|        error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
+|        ^~~~~
+| ../../libidn-1.32/src/idn.c:187:5: error: format not a string literal and no format arguments [-Werror=format-security]
+|      fprintf (stderr, _("Type each input string on a line by itself, "
+|      ^~~~~~~
+| ../../libidn-1.32/src/idn.c:202:4: error: format not a string literal and no format arguments [-Werror=format-security]
+|     error (EXIT_FAILURE, errno, _("input error"));
+|     ^~~~~
+| ../../libidn-1.32/src/idn.c:220:8: error: format not a string literal and no format arguments [-Werror=format-security]
+|         _("could not convert from UTF-8 to UCS-4"));
+|         ^
+| ../../libidn-1.32/src/idn.c:245:8: error: format not a string literal and no format arguments [-Werror=format-security]
+|         _("could not convert from UTF-8 to UCS-4"));
+|         ^
+| ../../libidn-1.32/src/idn.c:281:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       _("could not convert from UTF-8 to UCS-4"));
+|       ^
+| ../../libidn-1.32/src/idn.c:340:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       _("could not convert from UCS-4 to UTF-8"));
+|       ^
+| ../../libidn-1.32/src/idn.c:364:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       _("could not convert from UCS-4 to UTF-8"));
+|       ^
+| ../../libidn-1.32/src/idn.c:442:8: error: format not a string literal and no format arguments [-Werror=format-security]
+|         _("could not convert from UCS-4 to UTF-8"));
+|         ^
+| ../../libidn-1.32/src/idn.c:498:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       _("could not convert from UTF-8 to UCS-4"));
+|       ^
+| ../../libidn-1.32/src/idn.c:527:5: error: format not a string literal and no format arguments [-Werror=format-security]
+|      _("could not convert from UTF-8 to UCS-4"));
+|      ^
+| ../../libidn-1.32/src/idn.c:540:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
+|       ^~~~~
+| ../../libidn-1.32/src/idn.c:551:5: error: format not a string literal and no format arguments [-Werror=format-security]
+|      _("could not convert from UTF-8 to UCS-4"));
+|      ^
+
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+---
+Upstream-Status: Pending
+
+ src/idn.c | 27 ++++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/idn.c b/src/idn.c
+index be1c7d1..68e4291 100644
+--- a/src/idn.c
++++ b/src/idn.c
+@@ -170,7 +170,7 @@ main (int argc, char *argv[])
+       (args_info.idna_to_unicode_given ? 1 : 0) +
+       (args_info.nfkc_given ? 1 : 0) != 1)
+     {
+-      error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
++      error (0, 0, "%s", _("only one of -s, -e, -d, -a, -u or -n can be specified"));
+       usage (EXIT_FAILURE);
+     }
+ 
+@@ -185,7 +185,7 @@ main (int argc, char *argv[])
+   if (!args_info.quiet_given
+       && args_info.inputs_num == 0
+       && isatty (fileno (stdin)))
+-    fprintf (stderr, _("Type each input string on a line by itself, "
++    fprintf (stderr, "%s", _("Type each input string on a line by itself, "
+ 		       "terminated by a newline character.\n"));
+ 
+   do
+@@ -197,7 +197,7 @@ main (int argc, char *argv[])
+ 	  if (feof (stdin))
+ 	    break;
+ 
+-	  error (EXIT_FAILURE, errno, _("input error"));
++	  error (EXIT_FAILURE, errno, "%s", _("input error"));
+ 	}
+ 
+       if (strlen (line) > 0)
+@@ -215,7 +215,7 @@ main (int argc, char *argv[])
+ 	  if (!q)
+ 	    {
+ 	      free (p);
+-	      error (EXIT_FAILURE, 0,
++	      error (EXIT_FAILURE, 0, "%s",
+ 		     _("could not convert from UTF-8 to UCS-4"));
+ 	    }
+ 
+@@ -240,7 +240,7 @@ main (int argc, char *argv[])
+ 	  if (!q)
+ 	    {
+ 	      free (r);
+-	      error (EXIT_FAILURE, 0,
++	      error (EXIT_FAILURE, 0, "%s",
+ 		     _("could not convert from UTF-8 to UCS-4"));
+ 	    }
+ 
+@@ -277,7 +277,7 @@ main (int argc, char *argv[])
+ 	  q = stringprep_utf8_to_ucs4 (p, -1, &len);
+ 	  free (p);
+ 	  if (!q)
+-	    error (EXIT_FAILURE, 0,
++	    error (EXIT_FAILURE, 0, "%s",
+ 		   _("could not convert from UTF-8 to UCS-4"));
+ 
+ 	  if (args_info.debug_given)
+@@ -336,7 +336,7 @@ main (int argc, char *argv[])
+ 	  r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
+ 	  free (q);
+ 	  if (!r)
+-	    error (EXIT_FAILURE, 0,
++	    error (EXIT_FAILURE, 0, "%s",
+ 		   _("could not convert from UCS-4 to UTF-8"));
+ 
+ 	  p = stringprep_utf8_to_locale (r);
+@@ -360,7 +360,7 @@ main (int argc, char *argv[])
+ 	  q = stringprep_utf8_to_ucs4 (p, -1, NULL);
+ 	  free (p);
+ 	  if (!q)
+-	    error (EXIT_FAILURE, 0,
++	    error (EXIT_FAILURE, 0, "%s",
+ 		   _("could not convert from UCS-4 to UTF-8"));
+ 
+ 	  if (args_info.debug_given)
+@@ -438,7 +438,7 @@ main (int argc, char *argv[])
+ 	  if (!q)
+ 	    {
+ 	      free (p);
+-	      error (EXIT_FAILURE, 0,
++	      error (EXIT_FAILURE, 0, "%s",
+ 		     _("could not convert from UCS-4 to UTF-8"));
+ 	    }
+ 
+@@ -494,7 +494,7 @@ main (int argc, char *argv[])
+ 	  r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
+ 	  free (q);
+ 	  if (!r)
+-	    error (EXIT_FAILURE, 0,
++	    error (EXIT_FAILURE, 0, "%s",
+ 		   _("could not convert from UTF-8 to UCS-4"));
+ 
+ 	  p = stringprep_utf8_to_locale (r);
+@@ -523,7 +523,7 @@ main (int argc, char *argv[])
+ 	      if (!q)
+ 		{
+ 		  free (p);
+-		  error (EXIT_FAILURE, 0,
++		  error (EXIT_FAILURE, 0, "%s",
+ 			 _("could not convert from UTF-8 to UCS-4"));
+ 		}
+ 
+@@ -537,7 +537,8 @@ main (int argc, char *argv[])
+ 	  r = stringprep_utf8_nfkc_normalize (p, -1);
+ 	  free (p);
+ 	  if (!r)
+-	    error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
++	    error (EXIT_FAILURE, 0, "%s",
++		   _("could not do NFKC normalization"));
+ 
+ 	  if (args_info.debug_given)
+ 	    {
+@@ -547,7 +548,7 @@ main (int argc, char *argv[])
+ 	      if (!q)
+ 		{
+ 		  free (r);
+-		  error (EXIT_FAILURE, 0,
++		  error (EXIT_FAILURE, 0, "%s",
+ 			 _("could not convert from UTF-8 to UCS-4"));
+ 		}
+ 
+-- 
+2.8.1
+
diff --git a/meta/recipes-extended/libidn/libidn_1.33.bb b/meta/recipes-extended/libidn/libidn_1.33.bb
index 109cc7f3f5..9e8bdbae18 100644
--- a/meta/recipes-extended/libidn/libidn_1.33.bb
+++ b/meta/recipes-extended/libidn/libidn_1.33.bb
@@ -20,6 +20,7 @@ SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \
            file://dont-depend-on-help2man.patch \
            file://0001-idn-fix-printf-format-security-warnings.patch \
            file://gcc7-compatibility.patch \
+           file://0001-idn-format-security-warnings.patch \
 "
 
 SRC_URI[md5sum] = "a9aa7e003665de9c82bd3f9fc6ccf308"
-- 
2.13.0



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

* [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7
  2017-05-13  2:59 [PATCH 1/7] musl: Update to latest master Khem Raj
                   ` (4 preceding siblings ...)
  2017-05-13  2:59 ` [PATCH 6/7] libidn: Fix hardened build with musl Khem Raj
@ 2017-05-13  2:59 ` Khem Raj
  2017-05-13 15:45   ` Bruce Ashfield
  2017-05-13  3:01 ` ✗ patchtest: failure for "musl: Update to latest master..." and 6 more Patchwork
  6 siblings, 1 reply; 12+ messages in thread
From: Khem Raj @ 2017-05-13  2:59 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...ve-up-on-gcc-ilog2-constant-optimizations.patch | 134 +++++++++++++++++++++
 meta/recipes-kernel/linux/linux-yocto_4.1.bb       |   2 +
 2 files changed, 136 insertions(+)
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch

diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
new file mode 100644
index 0000000000..35c4484f20
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
@@ -0,0 +1,134 @@
+From 273bf720b7acb5f808337fe57c5f400422a30051 Mon Sep 17 00:00:00 2001
+From: Linus Torvalds <torvalds@linux-foundation.org>
+Date: Thu, 2 Mar 2017 12:17:22 -0800
+Subject: [PATCH] give up on gcc ilog2() constant optimizations
+
+commit 474c90156c8dcc2fa815e6716cc9394d7930cb9c upstream.
+
+gcc-7 has an "optimization" pass that completely screws up, and
+generates the code expansion for the (impossible) case of calling
+ilog2() with a zero constant, even when the code gcc compiles does not
+actually have a zero constant.
+
+And we try to generate a compile-time error for anybody doing ilog2() on
+a constant where that doesn't make sense (be it zero or negative).  So
+now gcc7 will fail the build due to our sanity checking, because it
+created that constant-zero case that didn't actually exist in the source
+code.
+
+There's a whole long discussion on the kernel mailing about how to work
+around this gcc bug.  The gcc people themselevs have discussed their
+"feature" in
+
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72785
+
+but it's all water under the bridge, because while it looked at one
+point like it would be solved by the time gcc7 was released, that was
+not to be.
+
+So now we have to deal with this compiler braindamage.
+
+And the only simple approach seems to be to just delete the code that
+tries to warn about bad uses of ilog2().
+
+So now "ilog2()" will just return 0 not just for the value 1, but for
+any non-positive value too.
+
+It's not like I can recall anybody having ever actually tried to use
+this function on any invalid value, but maybe the sanity check just
+meant that such code never made it out in public.
+
+Reported-by: Laura Abbott <labbott@redhat.com>
+Cc: John Stultz <john.stultz@linaro.org>,
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Jiri Slaby <jslaby@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Backport
+
+ include/linux/log2.h       | 13 ++-----------
+ tools/include/linux/log2.h | 13 ++-----------
+ 2 files changed, 4 insertions(+), 22 deletions(-)
+
+diff --git a/include/linux/log2.h b/include/linux/log2.h
+index fd7ff3d91e6a..f38fae23bdac 100644
+--- a/include/linux/log2.h
++++ b/include/linux/log2.h
+@@ -16,12 +16,6 @@
+ #include <linux/bitops.h>
+ 
+ /*
+- * deal with unrepresentable constant logarithms
+- */
+-extern __attribute__((const, noreturn))
+-int ____ilog2_NaN(void);
+-
+-/*
+  * non-constant log of base 2 calculators
+  * - the arch may override these in asm/bitops.h if they can be implemented
+  *   more efficiently than using fls() and fls64()
+@@ -85,7 +79,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
+ #define ilog2(n)				\
+ (						\
+ 	__builtin_constant_p(n) ? (		\
+-		(n) < 1 ? ____ilog2_NaN() :	\
++		(n) < 2 ? 0 :			\
+ 		(n) & (1ULL << 63) ? 63 :	\
+ 		(n) & (1ULL << 62) ? 62 :	\
+ 		(n) & (1ULL << 61) ? 61 :	\
+@@ -148,10 +142,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
+ 		(n) & (1ULL <<  4) ?  4 :	\
+ 		(n) & (1ULL <<  3) ?  3 :	\
+ 		(n) & (1ULL <<  2) ?  2 :	\
+-		(n) & (1ULL <<  1) ?  1 :	\
+-		(n) & (1ULL <<  0) ?  0 :	\
+-		____ilog2_NaN()			\
+-				   ) :		\
++		1 ) :				\
+ 	(sizeof(n) <= 4) ?			\
+ 	__ilog2_u32(n) :			\
+ 	__ilog2_u64(n)				\
+diff --git a/tools/include/linux/log2.h b/tools/include/linux/log2.h
+index 41446668ccce..d5677d39c1e4 100644
+--- a/tools/include/linux/log2.h
++++ b/tools/include/linux/log2.h
+@@ -13,12 +13,6 @@
+ #define _TOOLS_LINUX_LOG2_H
+ 
+ /*
+- * deal with unrepresentable constant logarithms
+- */
+-extern __attribute__((const, noreturn))
+-int ____ilog2_NaN(void);
+-
+-/*
+  * non-constant log of base 2 calculators
+  * - the arch may override these in asm/bitops.h if they can be implemented
+  *   more efficiently than using fls() and fls64()
+@@ -78,7 +72,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
+ #define ilog2(n)				\
+ (						\
+ 	__builtin_constant_p(n) ? (		\
+-		(n) < 1 ? ____ilog2_NaN() :	\
++		(n) < 2 ? 0 :			\
+ 		(n) & (1ULL << 63) ? 63 :	\
+ 		(n) & (1ULL << 62) ? 62 :	\
+ 		(n) & (1ULL << 61) ? 61 :	\
+@@ -141,10 +135,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
+ 		(n) & (1ULL <<  4) ?  4 :	\
+ 		(n) & (1ULL <<  3) ?  3 :	\
+ 		(n) & (1ULL <<  2) ?  2 :	\
+-		(n) & (1ULL <<  1) ?  1 :	\
+-		(n) & (1ULL <<  0) ?  0 :	\
+-		____ilog2_NaN()			\
+-				   ) :		\
++		1 ) :				\
+ 	(sizeof(n) <= 4) ?			\
+ 	__ilog2_u32(n) :			\
+ 	__ilog2_u64(n)				\
+-- 
+2.12.2
+
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
index bf7f266ee6..f90d5159d5 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
@@ -24,6 +24,8 @@ SRCREV_meta ?= "7140ddb86e4b01529185e6d4a606001ad152b8f3"
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
 
+SRC_URI += "file://0001-give-up-on-gcc-ilog2-constant-optimizations.patch"
+
 LINUX_VERSION ?= "4.1.38"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
-- 
2.13.0



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

* ✗ patchtest: failure for "musl: Update to latest master..." and 6 more
  2017-05-13  2:59 [PATCH 1/7] musl: Update to latest master Khem Raj
                   ` (5 preceding siblings ...)
  2017-05-13  2:59 ` [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7 Khem Raj
@ 2017-05-13  3:01 ` Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2017-05-13  3:01 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core

== Series Details ==

Series: "musl: Update to latest master..." and 6 more
Revision: 1
URL   : https://patchwork.openembedded.org/series/6707/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             Added patch file is missing Upstream-Status in the header [test_upstream_status_presence] 
  Suggested fix    Add Upstream-Status: <status> to the header of meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch (possible values: Pending, Submitted, Accepted, Backport, Denied, Inappropriate)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



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

* Re: [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7
  2017-05-13  2:59 ` [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7 Khem Raj
@ 2017-05-13 15:45   ` Bruce Ashfield
  2017-05-13 16:10     ` Khem Raj
  0 siblings, 1 reply; 12+ messages in thread
From: Bruce Ashfield @ 2017-05-13 15:45 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

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

I already have this queued, I'm just not sending any kernel pull requests
while
the release is finalizing.

So please, do not queue or merge this change.

Bruce

On Fri, May 12, 2017 at 10:59 PM, Khem Raj <raj.khem@gmail.com> wrote:

> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  ...ve-up-on-gcc-ilog2-constant-optimizations.patch | 134
> +++++++++++++++++++++
>  meta/recipes-kernel/linux/linux-yocto_4.1.bb       |   2 +
>  2 files changed, 136 insertions(+)
>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-
> gcc-ilog2-constant-optimizations.patch
>
> diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-
> gcc-ilog2-constant-optimizations.patch b/meta/recipes-kernel/linux/
> linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
> new file mode 100644
> index 0000000000..35c4484f20
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-
> gcc-ilog2-constant-optimizations.patch
> @@ -0,0 +1,134 @@
> +From 273bf720b7acb5f808337fe57c5f400422a30051 Mon Sep 17 00:00:00 2001
> +From: Linus Torvalds <torvalds@linux-foundation.org>
> +Date: Thu, 2 Mar 2017 12:17:22 -0800
> +Subject: [PATCH] give up on gcc ilog2() constant optimizations
> +
> +commit 474c90156c8dcc2fa815e6716cc9394d7930cb9c upstream.
> +
> +gcc-7 has an "optimization" pass that completely screws up, and
> +generates the code expansion for the (impossible) case of calling
> +ilog2() with a zero constant, even when the code gcc compiles does not
> +actually have a zero constant.
> +
> +And we try to generate a compile-time error for anybody doing ilog2() on
> +a constant where that doesn't make sense (be it zero or negative).  So
> +now gcc7 will fail the build due to our sanity checking, because it
> +created that constant-zero case that didn't actually exist in the source
> +code.
> +
> +There's a whole long discussion on the kernel mailing about how to work
> +around this gcc bug.  The gcc people themselevs have discussed their
> +"feature" in
> +
> +   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72785
> +
> +but it's all water under the bridge, because while it looked at one
> +point like it would be solved by the time gcc7 was released, that was
> +not to be.
> +
> +So now we have to deal with this compiler braindamage.
> +
> +And the only simple approach seems to be to just delete the code that
> +tries to warn about bad uses of ilog2().
> +
> +So now "ilog2()" will just return 0 not just for the value 1, but for
> +any non-positive value too.
> +
> +It's not like I can recall anybody having ever actually tried to use
> +this function on any invalid value, but maybe the sanity check just
> +meant that such code never made it out in public.
> +
> +Reported-by: Laura Abbott <labbott@redhat.com>
> +Cc: John Stultz <john.stultz@linaro.org>,
> +Cc: Thomas Gleixner <tglx@linutronix.de>
> +Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> +Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> +Cc: Jiri Slaby <jslaby@suse.cz>
> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> +Upstream-Status: Backport
> +
> + include/linux/log2.h       | 13 ++-----------
> + tools/include/linux/log2.h | 13 ++-----------
> + 2 files changed, 4 insertions(+), 22 deletions(-)
> +
> +diff --git a/include/linux/log2.h b/include/linux/log2.h
> +index fd7ff3d91e6a..f38fae23bdac 100644
> +--- a/include/linux/log2.h
> ++++ b/include/linux/log2.h
> +@@ -16,12 +16,6 @@
> + #include <linux/bitops.h>
> +
> + /*
> +- * deal with unrepresentable constant logarithms
> +- */
> +-extern __attribute__((const, noreturn))
> +-int ____ilog2_NaN(void);
> +-
> +-/*
> +  * non-constant log of base 2 calculators
> +  * - the arch may override these in asm/bitops.h if they can be
> implemented
> +  *   more efficiently than using fls() and fls64()
> +@@ -85,7 +79,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
> + #define ilog2(n)                              \
> + (                                             \
> +       __builtin_constant_p(n) ? (             \
> +-              (n) < 1 ? ____ilog2_NaN() :     \
> ++              (n) < 2 ? 0 :                   \
> +               (n) & (1ULL << 63) ? 63 :       \
> +               (n) & (1ULL << 62) ? 62 :       \
> +               (n) & (1ULL << 61) ? 61 :       \
> +@@ -148,10 +142,7 @@ unsigned long __rounddown_pow_of_two(unsigned long
> n)
> +               (n) & (1ULL <<  4) ?  4 :       \
> +               (n) & (1ULL <<  3) ?  3 :       \
> +               (n) & (1ULL <<  2) ?  2 :       \
> +-              (n) & (1ULL <<  1) ?  1 :       \
> +-              (n) & (1ULL <<  0) ?  0 :       \
> +-              ____ilog2_NaN()                 \
> +-                                 ) :          \
> ++              1 ) :                           \
> +       (sizeof(n) <= 4) ?                      \
> +       __ilog2_u32(n) :                        \
> +       __ilog2_u64(n)                          \
> +diff --git a/tools/include/linux/log2.h b/tools/include/linux/log2.h
> +index 41446668ccce..d5677d39c1e4 100644
> +--- a/tools/include/linux/log2.h
> ++++ b/tools/include/linux/log2.h
> +@@ -13,12 +13,6 @@
> + #define _TOOLS_LINUX_LOG2_H
> +
> + /*
> +- * deal with unrepresentable constant logarithms
> +- */
> +-extern __attribute__((const, noreturn))
> +-int ____ilog2_NaN(void);
> +-
> +-/*
> +  * non-constant log of base 2 calculators
> +  * - the arch may override these in asm/bitops.h if they can be
> implemented
> +  *   more efficiently than using fls() and fls64()
> +@@ -78,7 +72,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
> + #define ilog2(n)                              \
> + (                                             \
> +       __builtin_constant_p(n) ? (             \
> +-              (n) < 1 ? ____ilog2_NaN() :     \
> ++              (n) < 2 ? 0 :                   \
> +               (n) & (1ULL << 63) ? 63 :       \
> +               (n) & (1ULL << 62) ? 62 :       \
> +               (n) & (1ULL << 61) ? 61 :       \
> +@@ -141,10 +135,7 @@ unsigned long __rounddown_pow_of_two(unsigned long
> n)
> +               (n) & (1ULL <<  4) ?  4 :       \
> +               (n) & (1ULL <<  3) ?  3 :       \
> +               (n) & (1ULL <<  2) ?  2 :       \
> +-              (n) & (1ULL <<  1) ?  1 :       \
> +-              (n) & (1ULL <<  0) ?  0 :       \
> +-              ____ilog2_NaN()                 \
> +-                                 ) :          \
> ++              1 ) :                           \
> +       (sizeof(n) <= 4) ?                      \
> +       __ilog2_u32(n) :                        \
> +       __ilog2_u64(n)                          \
> +--
> +2.12.2
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> index bf7f266ee6..f90d5159d5 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> @@ -24,6 +24,8 @@ SRCREV_meta ?= "7140ddb86e4b01529185e6d4a60600
> 1ad152b8f3"
>  SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=
> machine;branch=${KBRANCH}; \
>             git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;
> name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
>
> +SRC_URI += "file://0001-give-up-on-gcc-ilog2-constant-optimizations.
> patch"
> +
>  LINUX_VERSION ?= "4.1.38"
>
>  PV = "${LINUX_VERSION}+git${SRCPV}"
> --
> 2.13.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

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

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

* Re: [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7
  2017-05-13 15:45   ` Bruce Ashfield
@ 2017-05-13 16:10     ` Khem Raj
  2017-05-13 16:16       ` Bruce Ashfield
  0 siblings, 1 reply; 12+ messages in thread
From: Khem Raj @ 2017-05-13 16:10 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer

On Sat, May 13, 2017 at 8:45 AM, Bruce Ashfield
<bruce.ashfield@gmail.com> wrote:
> I already have this queued, I'm just not sending any kernel pull requests
> while
> the release is finalizing.

its already done yesterday :) so you are free to send

>
> So please, do not queue or merge this change.
>

sure

> Bruce
>
> On Fri, May 12, 2017 at 10:59 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>  ...ve-up-on-gcc-ilog2-constant-optimizations.patch | 134
>> +++++++++++++++++++++
>>  meta/recipes-kernel/linux/linux-yocto_4.1.bb       |   2 +
>>  2 files changed, 136 insertions(+)
>>  create mode 100644
>> meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
>>
>> diff --git
>> a/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
>> b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
>> new file mode 100644
>> index 0000000000..35c4484f20
>> --- /dev/null
>> +++
>> b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
>> @@ -0,0 +1,134 @@
>> +From 273bf720b7acb5f808337fe57c5f400422a30051 Mon Sep 17 00:00:00 2001
>> +From: Linus Torvalds <torvalds@linux-foundation.org>
>> +Date: Thu, 2 Mar 2017 12:17:22 -0800
>> +Subject: [PATCH] give up on gcc ilog2() constant optimizations
>> +
>> +commit 474c90156c8dcc2fa815e6716cc9394d7930cb9c upstream.
>> +
>> +gcc-7 has an "optimization" pass that completely screws up, and
>> +generates the code expansion for the (impossible) case of calling
>> +ilog2() with a zero constant, even when the code gcc compiles does not
>> +actually have a zero constant.
>> +
>> +And we try to generate a compile-time error for anybody doing ilog2() on
>> +a constant where that doesn't make sense (be it zero or negative).  So
>> +now gcc7 will fail the build due to our sanity checking, because it
>> +created that constant-zero case that didn't actually exist in the source
>> +code.
>> +
>> +There's a whole long discussion on the kernel mailing about how to work
>> +around this gcc bug.  The gcc people themselevs have discussed their
>> +"feature" in
>> +
>> +   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72785
>> +
>> +but it's all water under the bridge, because while it looked at one
>> +point like it would be solved by the time gcc7 was released, that was
>> +not to be.
>> +
>> +So now we have to deal with this compiler braindamage.
>> +
>> +And the only simple approach seems to be to just delete the code that
>> +tries to warn about bad uses of ilog2().
>> +
>> +So now "ilog2()" will just return 0 not just for the value 1, but for
>> +any non-positive value too.
>> +
>> +It's not like I can recall anybody having ever actually tried to use
>> +this function on any invalid value, but maybe the sanity check just
>> +meant that such code never made it out in public.
>> +
>> +Reported-by: Laura Abbott <labbott@redhat.com>
>> +Cc: John Stultz <john.stultz@linaro.org>,
>> +Cc: Thomas Gleixner <tglx@linutronix.de>
>> +Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> +Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
>> +Cc: Jiri Slaby <jslaby@suse.cz>
>> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +---
>> +Upstream-Status: Backport
>> +
>> + include/linux/log2.h       | 13 ++-----------
>> + tools/include/linux/log2.h | 13 ++-----------
>> + 2 files changed, 4 insertions(+), 22 deletions(-)
>> +
>> +diff --git a/include/linux/log2.h b/include/linux/log2.h
>> +index fd7ff3d91e6a..f38fae23bdac 100644
>> +--- a/include/linux/log2.h
>> ++++ b/include/linux/log2.h
>> +@@ -16,12 +16,6 @@
>> + #include <linux/bitops.h>
>> +
>> + /*
>> +- * deal with unrepresentable constant logarithms
>> +- */
>> +-extern __attribute__((const, noreturn))
>> +-int ____ilog2_NaN(void);
>> +-
>> +-/*
>> +  * non-constant log of base 2 calculators
>> +  * - the arch may override these in asm/bitops.h if they can be
>> implemented
>> +  *   more efficiently than using fls() and fls64()
>> +@@ -85,7 +79,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
>> + #define ilog2(n)                              \
>> + (                                             \
>> +       __builtin_constant_p(n) ? (             \
>> +-              (n) < 1 ? ____ilog2_NaN() :     \
>> ++              (n) < 2 ? 0 :                   \
>> +               (n) & (1ULL << 63) ? 63 :       \
>> +               (n) & (1ULL << 62) ? 62 :       \
>> +               (n) & (1ULL << 61) ? 61 :       \
>> +@@ -148,10 +142,7 @@ unsigned long __rounddown_pow_of_two(unsigned long
>> n)
>> +               (n) & (1ULL <<  4) ?  4 :       \
>> +               (n) & (1ULL <<  3) ?  3 :       \
>> +               (n) & (1ULL <<  2) ?  2 :       \
>> +-              (n) & (1ULL <<  1) ?  1 :       \
>> +-              (n) & (1ULL <<  0) ?  0 :       \
>> +-              ____ilog2_NaN()                 \
>> +-                                 ) :          \
>> ++              1 ) :                           \
>> +       (sizeof(n) <= 4) ?                      \
>> +       __ilog2_u32(n) :                        \
>> +       __ilog2_u64(n)                          \
>> +diff --git a/tools/include/linux/log2.h b/tools/include/linux/log2.h
>> +index 41446668ccce..d5677d39c1e4 100644
>> +--- a/tools/include/linux/log2.h
>> ++++ b/tools/include/linux/log2.h
>> +@@ -13,12 +13,6 @@
>> + #define _TOOLS_LINUX_LOG2_H
>> +
>> + /*
>> +- * deal with unrepresentable constant logarithms
>> +- */
>> +-extern __attribute__((const, noreturn))
>> +-int ____ilog2_NaN(void);
>> +-
>> +-/*
>> +  * non-constant log of base 2 calculators
>> +  * - the arch may override these in asm/bitops.h if they can be
>> implemented
>> +  *   more efficiently than using fls() and fls64()
>> +@@ -78,7 +72,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
>> + #define ilog2(n)                              \
>> + (                                             \
>> +       __builtin_constant_p(n) ? (             \
>> +-              (n) < 1 ? ____ilog2_NaN() :     \
>> ++              (n) < 2 ? 0 :                   \
>> +               (n) & (1ULL << 63) ? 63 :       \
>> +               (n) & (1ULL << 62) ? 62 :       \
>> +               (n) & (1ULL << 61) ? 61 :       \
>> +@@ -141,10 +135,7 @@ unsigned long __rounddown_pow_of_two(unsigned long
>> n)
>> +               (n) & (1ULL <<  4) ?  4 :       \
>> +               (n) & (1ULL <<  3) ?  3 :       \
>> +               (n) & (1ULL <<  2) ?  2 :       \
>> +-              (n) & (1ULL <<  1) ?  1 :       \
>> +-              (n) & (1ULL <<  0) ?  0 :       \
>> +-              ____ilog2_NaN()                 \
>> +-                                 ) :          \
>> ++              1 ) :                           \
>> +       (sizeof(n) <= 4) ?                      \
>> +       __ilog2_u32(n) :                        \
>> +       __ilog2_u64(n)                          \
>> +--
>> +2.12.2
>> +
>> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
>> b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
>> index bf7f266ee6..f90d5159d5 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
>> +++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
>> @@ -24,6 +24,8 @@ SRCREV_meta ?=
>> "7140ddb86e4b01529185e6d4a606001ad152b8f3"
>>  SRC_URI =
>> "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH};
>> \
>>
>> git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
>>
>> +SRC_URI +=
>> "file://0001-give-up-on-gcc-ilog2-constant-optimizations.patch"
>> +
>>  LINUX_VERSION ?= "4.1.38"
>>
>>  PV = "${LINUX_VERSION}+git${SRCPV}"
>> --
>> 2.13.0
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await thee at
> its end"


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

* Re: [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7
  2017-05-13 16:10     ` Khem Raj
@ 2017-05-13 16:16       ` Bruce Ashfield
  2017-05-13 17:12         ` Khem Raj
  0 siblings, 1 reply; 12+ messages in thread
From: Bruce Ashfield @ 2017-05-13 16:16 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer


[-- Attachment #1.1: Type: text/plain, Size: 9157 bytes --]

On Sat, May 13, 2017 at 12:10 PM, Khem Raj <raj.khem@gmail.com> wrote:

> On Sat, May 13, 2017 at 8:45 AM, Bruce Ashfield
> <bruce.ashfield@gmail.com> wrote:
> > I already have this queued, I'm just not sending any kernel pull requests
> > while
> > the release is finalizing.
>
> its already done yesterday :) so you are free to send
>

oh! I hadn't noticed. I was heads down working on some features. I'll update
and send my queue tonight.

I attached the patch to show it exists :D

Cheers,

Bruce


>
> >
> > So please, do not queue or merge this change.
> >
>
> sure
>
> > Bruce
> >
> > On Fri, May 12, 2017 at 10:59 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> ---
> >>  ...ve-up-on-gcc-ilog2-constant-optimizations.patch | 134
> >> +++++++++++++++++++++
> >>  meta/recipes-kernel/linux/linux-yocto_4.1.bb       |   2 +
> >>  2 files changed, 136 insertions(+)
> >>  create mode 100644
> >> meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-
> gcc-ilog2-constant-optimizations.patch
> >>
> >> diff --git
> >> a/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-
> gcc-ilog2-constant-optimizations.patch
> >> b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-
> gcc-ilog2-constant-optimizations.patch
> >> new file mode 100644
> >> index 0000000000..35c4484f20
> >> --- /dev/null
> >> +++
> >> b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-
> gcc-ilog2-constant-optimizations.patch
> >> @@ -0,0 +1,134 @@
> >> +From 273bf720b7acb5f808337fe57c5f400422a30051 Mon Sep 17 00:00:00 2001
> >> +From: Linus Torvalds <torvalds@linux-foundation.org>
> >> +Date: Thu, 2 Mar 2017 12:17:22 -0800
> >> +Subject: [PATCH] give up on gcc ilog2() constant optimizations
> >> +
> >> +commit 474c90156c8dcc2fa815e6716cc9394d7930cb9c upstream.
> >> +
> >> +gcc-7 has an "optimization" pass that completely screws up, and
> >> +generates the code expansion for the (impossible) case of calling
> >> +ilog2() with a zero constant, even when the code gcc compiles does not
> >> +actually have a zero constant.
> >> +
> >> +And we try to generate a compile-time error for anybody doing ilog2()
> on
> >> +a constant where that doesn't make sense (be it zero or negative).  So
> >> +now gcc7 will fail the build due to our sanity checking, because it
> >> +created that constant-zero case that didn't actually exist in the
> source
> >> +code.
> >> +
> >> +There's a whole long discussion on the kernel mailing about how to work
> >> +around this gcc bug.  The gcc people themselevs have discussed their
> >> +"feature" in
> >> +
> >> +   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72785
> >> +
> >> +but it's all water under the bridge, because while it looked at one
> >> +point like it would be solved by the time gcc7 was released, that was
> >> +not to be.
> >> +
> >> +So now we have to deal with this compiler braindamage.
> >> +
> >> +And the only simple approach seems to be to just delete the code that
> >> +tries to warn about bad uses of ilog2().
> >> +
> >> +So now "ilog2()" will just return 0 not just for the value 1, but for
> >> +any non-positive value too.
> >> +
> >> +It's not like I can recall anybody having ever actually tried to use
> >> +this function on any invalid value, but maybe the sanity check just
> >> +meant that such code never made it out in public.
> >> +
> >> +Reported-by: Laura Abbott <labbott@redhat.com>
> >> +Cc: John Stultz <john.stultz@linaro.org>,
> >> +Cc: Thomas Gleixner <tglx@linutronix.de>
> >> +Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> >> +Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> >> +Cc: Jiri Slaby <jslaby@suse.cz>
> >> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> >> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> +---
> >> +Upstream-Status: Backport
> >> +
> >> + include/linux/log2.h       | 13 ++-----------
> >> + tools/include/linux/log2.h | 13 ++-----------
> >> + 2 files changed, 4 insertions(+), 22 deletions(-)
> >> +
> >> +diff --git a/include/linux/log2.h b/include/linux/log2.h
> >> +index fd7ff3d91e6a..f38fae23bdac 100644
> >> +--- a/include/linux/log2.h
> >> ++++ b/include/linux/log2.h
> >> +@@ -16,12 +16,6 @@
> >> + #include <linux/bitops.h>
> >> +
> >> + /*
> >> +- * deal with unrepresentable constant logarithms
> >> +- */
> >> +-extern __attribute__((const, noreturn))
> >> +-int ____ilog2_NaN(void);
> >> +-
> >> +-/*
> >> +  * non-constant log of base 2 calculators
> >> +  * - the arch may override these in asm/bitops.h if they can be
> >> implemented
> >> +  *   more efficiently than using fls() and fls64()
> >> +@@ -85,7 +79,7 @@ unsigned long __rounddown_pow_of_two(unsigned long
> n)
> >> + #define ilog2(n)                              \
> >> + (                                             \
> >> +       __builtin_constant_p(n) ? (             \
> >> +-              (n) < 1 ? ____ilog2_NaN() :     \
> >> ++              (n) < 2 ? 0 :                   \
> >> +               (n) & (1ULL << 63) ? 63 :       \
> >> +               (n) & (1ULL << 62) ? 62 :       \
> >> +               (n) & (1ULL << 61) ? 61 :       \
> >> +@@ -148,10 +142,7 @@ unsigned long __rounddown_pow_of_two(unsigned
> long
> >> n)
> >> +               (n) & (1ULL <<  4) ?  4 :       \
> >> +               (n) & (1ULL <<  3) ?  3 :       \
> >> +               (n) & (1ULL <<  2) ?  2 :       \
> >> +-              (n) & (1ULL <<  1) ?  1 :       \
> >> +-              (n) & (1ULL <<  0) ?  0 :       \
> >> +-              ____ilog2_NaN()                 \
> >> +-                                 ) :          \
> >> ++              1 ) :                           \
> >> +       (sizeof(n) <= 4) ?                      \
> >> +       __ilog2_u32(n) :                        \
> >> +       __ilog2_u64(n)                          \
> >> +diff --git a/tools/include/linux/log2.h b/tools/include/linux/log2.h
> >> +index 41446668ccce..d5677d39c1e4 100644
> >> +--- a/tools/include/linux/log2.h
> >> ++++ b/tools/include/linux/log2.h
> >> +@@ -13,12 +13,6 @@
> >> + #define _TOOLS_LINUX_LOG2_H
> >> +
> >> + /*
> >> +- * deal with unrepresentable constant logarithms
> >> +- */
> >> +-extern __attribute__((const, noreturn))
> >> +-int ____ilog2_NaN(void);
> >> +-
> >> +-/*
> >> +  * non-constant log of base 2 calculators
> >> +  * - the arch may override these in asm/bitops.h if they can be
> >> implemented
> >> +  *   more efficiently than using fls() and fls64()
> >> +@@ -78,7 +72,7 @@ unsigned long __rounddown_pow_of_two(unsigned long
> n)
> >> + #define ilog2(n)                              \
> >> + (                                             \
> >> +       __builtin_constant_p(n) ? (             \
> >> +-              (n) < 1 ? ____ilog2_NaN() :     \
> >> ++              (n) < 2 ? 0 :                   \
> >> +               (n) & (1ULL << 63) ? 63 :       \
> >> +               (n) & (1ULL << 62) ? 62 :       \
> >> +               (n) & (1ULL << 61) ? 61 :       \
> >> +@@ -141,10 +135,7 @@ unsigned long __rounddown_pow_of_two(unsigned
> long
> >> n)
> >> +               (n) & (1ULL <<  4) ?  4 :       \
> >> +               (n) & (1ULL <<  3) ?  3 :       \
> >> +               (n) & (1ULL <<  2) ?  2 :       \
> >> +-              (n) & (1ULL <<  1) ?  1 :       \
> >> +-              (n) & (1ULL <<  0) ?  0 :       \
> >> +-              ____ilog2_NaN()                 \
> >> +-                                 ) :          \
> >> ++              1 ) :                           \
> >> +       (sizeof(n) <= 4) ?                      \
> >> +       __ilog2_u32(n) :                        \
> >> +       __ilog2_u64(n)                          \
> >> +--
> >> +2.12.2
> >> +
> >> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> >> b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> >> index bf7f266ee6..f90d5159d5 100644
> >> --- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> >> +++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> >> @@ -24,6 +24,8 @@ SRCREV_meta ?=
> >> "7140ddb86e4b01529185e6d4a606001ad152b8f3"
> >>  SRC_URI =
> >> "git://git.yoctoproject.org/linux-yocto-4.1.git;name=
> machine;branch=${KBRANCH};
> >> \
> >>
> >> git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;
> name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
> >>
> >> +SRC_URI +=
> >> "file://0001-give-up-on-gcc-ilog2-constant-optimizations.patch"
> >> +
> >>  LINUX_VERSION ?= "4.1.38"
> >>
> >>  PV = "${LINUX_VERSION}+git${SRCPV}"
> >> --
> >> 2.13.0
> >>
> >> --
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> >
> >
> >
> >
> > --
> > "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at
> > its end"
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

[-- Attachment #1.2: Type: text/html, Size: 14015 bytes --]

[-- Attachment #2: 0001-linux-yocto-4.1-fix-gcc7-compilation.patch --]
[-- Type: application/octet-stream, Size: 3998 bytes --]

From 98aa2334b25badd080d2b6cbf87683f84ede8602 Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@windriver.com>
Date: Mon, 10 Apr 2017 18:14:09 -0400
Subject: [PATCH] linux-yocto/4.1: fix gcc7 compilation

Porting the mainline commit, to fix gcc7 builds:

  474c90156c [give up on gcc ilog2() constant optimizations]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
 meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb   |  4 ++--
 meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb |  4 ++--
 meta/recipes-kernel/linux/linux-yocto_4.1.bb      | 18 +++++++++---------
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
index 21cc635bf4f8..9fc186cdb062 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
@@ -11,8 +11,8 @@ python () {
         raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "f793c71d51277bdb14d6854c8cbcc09b4f5936b4"
-SRCREV_meta ?= "7140ddb86e4b01529185e6d4a606001ad152b8f3"
+SRCREV_machine ?= "ec0bfadaeac24cc63fa05521c6608b79b26a5e5d"
+SRCREV_meta ?= "a867edab415f0ddc1a0d8da6ddb43c8afa9611dd"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
index ce8aea628b2c..8d9d940410ee 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
@@ -9,8 +9,8 @@ LINUX_VERSION ?= "4.1.38"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "2ce56d130ddff67f43ec857cc51cd347666a0078"
-SRCREV_meta ?= "7140ddb86e4b01529185e6d4a606001ad152b8f3"
+SRCREV_machine ?= "398d1785c6bde0085b99f00f346e199a15fbdcef"
+SRCREV_meta ?= "a867edab415f0ddc1a0d8da6ddb43c8afa9611dd"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
index bf7f266ee6f2..e014026bb9fe 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
@@ -11,15 +11,15 @@ KBRANCH_qemux86  ?= "standard/base"
 KBRANCH_qemux86-64 ?= "standard/base"
 KBRANCH_qemumips64 ?= "standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "4d2c95e78cdc7d312b7ab231ce90dce317f45df9"
-SRCREV_machine_qemuarm64 ?= "2ce56d130ddff67f43ec857cc51cd347666a0078"
-SRCREV_machine_qemumips ?= "81454f95166056a253c8950980e025ee243d8074"
-SRCREV_machine_qemuppc ?= "42c41e606b70fd73a202f4146c0480f5624b0a0e"
-SRCREV_machine_qemux86 ?= "2ce56d130ddff67f43ec857cc51cd347666a0078"
-SRCREV_machine_qemux86-64 ?= "2ce56d130ddff67f43ec857cc51cd347666a0078"
-SRCREV_machine_qemumips64 ?= "8a481005da41f82d2a40bf8cb40334547160ab5b"
-SRCREV_machine ?= "2ce56d130ddff67f43ec857cc51cd347666a0078"
-SRCREV_meta ?= "7140ddb86e4b01529185e6d4a606001ad152b8f3"
+SRCREV_machine_qemuarm ?= "3b0fd24797cb11aae54010b1bbc09dd2ae8a108e"
+SRCREV_machine_qemuarm64 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef"
+SRCREV_machine_qemumips ?= "7420516ff545f8ab3e2471cf08bf851744264a6a"
+SRCREV_machine_qemuppc ?= "6952f5a70bc8a84a4c4d926cdec93e7a39878f32"
+SRCREV_machine_qemux86 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef"
+SRCREV_machine_qemux86-64 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef"
+SRCREV_machine_qemumips64 ?= "59727538774860381f42bcfb6ec05fe21facd319"
+SRCREV_machine ?= "398d1785c6bde0085b99f00f346e199a15fbdcef"
+SRCREV_meta ?= "a867edab415f0ddc1a0d8da6ddb43c8afa9611dd"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
-- 
2.5.0


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

* Re: [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7
  2017-05-13 16:16       ` Bruce Ashfield
@ 2017-05-13 17:12         ` Khem Raj
  0 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2017-05-13 17:12 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer

On Sat, May 13, 2017 at 9:16 AM, Bruce Ashfield
<bruce.ashfield@gmail.com> wrote:
>
>
> On Sat, May 13, 2017 at 12:10 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> On Sat, May 13, 2017 at 8:45 AM, Bruce Ashfield
>> <bruce.ashfield@gmail.com> wrote:
>> > I already have this queued, I'm just not sending any kernel pull
>> > requests
>> > while
>> > the release is finalizing.
>>
>> its already done yesterday :) so you are free to send
>
>
> oh! I hadn't noticed. I was heads down working on some features. I'll update
> and send my queue tonight.
>
> I attached the patch to show it exists :D

thanks. clearing ENOBELIEVE

>
> Cheers,
>
> Bruce
>
>>
>>
>> >
>> > So please, do not queue or merge this change.
>> >
>>
>> sure
>>
>> > Bruce
>> >
>> > On Fri, May 12, 2017 at 10:59 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> >>
>> >> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> >> ---
>> >>  ...ve-up-on-gcc-ilog2-constant-optimizations.patch | 134
>> >> +++++++++++++++++++++
>> >>  meta/recipes-kernel/linux/linux-yocto_4.1.bb       |   2 +
>> >>  2 files changed, 136 insertions(+)
>> >>  create mode 100644
>> >>
>> >> meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
>> >>
>> >> diff --git
>> >>
>> >> a/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
>> >>
>> >> b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
>> >> new file mode 100644
>> >> index 0000000000..35c4484f20
>> >> --- /dev/null
>> >> +++
>> >>
>> >> b/meta/recipes-kernel/linux/linux-yocto/0001-give-up-on-gcc-ilog2-constant-optimizations.patch
>> >> @@ -0,0 +1,134 @@
>> >> +From 273bf720b7acb5f808337fe57c5f400422a30051 Mon Sep 17 00:00:00 2001
>> >> +From: Linus Torvalds <torvalds@linux-foundation.org>
>> >> +Date: Thu, 2 Mar 2017 12:17:22 -0800
>> >> +Subject: [PATCH] give up on gcc ilog2() constant optimizations
>> >> +
>> >> +commit 474c90156c8dcc2fa815e6716cc9394d7930cb9c upstream.
>> >> +
>> >> +gcc-7 has an "optimization" pass that completely screws up, and
>> >> +generates the code expansion for the (impossible) case of calling
>> >> +ilog2() with a zero constant, even when the code gcc compiles does not
>> >> +actually have a zero constant.
>> >> +
>> >> +And we try to generate a compile-time error for anybody doing ilog2()
>> >> on
>> >> +a constant where that doesn't make sense (be it zero or negative).  So
>> >> +now gcc7 will fail the build due to our sanity checking, because it
>> >> +created that constant-zero case that didn't actually exist in the
>> >> source
>> >> +code.
>> >> +
>> >> +There's a whole long discussion on the kernel mailing about how to
>> >> work
>> >> +around this gcc bug.  The gcc people themselevs have discussed their
>> >> +"feature" in
>> >> +
>> >> +   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72785
>> >> +
>> >> +but it's all water under the bridge, because while it looked at one
>> >> +point like it would be solved by the time gcc7 was released, that was
>> >> +not to be.
>> >> +
>> >> +So now we have to deal with this compiler braindamage.
>> >> +
>> >> +And the only simple approach seems to be to just delete the code that
>> >> +tries to warn about bad uses of ilog2().
>> >> +
>> >> +So now "ilog2()" will just return 0 not just for the value 1, but for
>> >> +any non-positive value too.
>> >> +
>> >> +It's not like I can recall anybody having ever actually tried to use
>> >> +this function on any invalid value, but maybe the sanity check just
>> >> +meant that such code never made it out in public.
>> >> +
>> >> +Reported-by: Laura Abbott <labbott@redhat.com>
>> >> +Cc: John Stultz <john.stultz@linaro.org>,
>> >> +Cc: Thomas Gleixner <tglx@linutronix.de>
>> >> +Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> >> +Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
>> >> +Cc: Jiri Slaby <jslaby@suse.cz>
>> >> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> >> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> >> +---
>> >> +Upstream-Status: Backport
>> >> +
>> >> + include/linux/log2.h       | 13 ++-----------
>> >> + tools/include/linux/log2.h | 13 ++-----------
>> >> + 2 files changed, 4 insertions(+), 22 deletions(-)
>> >> +
>> >> +diff --git a/include/linux/log2.h b/include/linux/log2.h
>> >> +index fd7ff3d91e6a..f38fae23bdac 100644
>> >> +--- a/include/linux/log2.h
>> >> ++++ b/include/linux/log2.h
>> >> +@@ -16,12 +16,6 @@
>> >> + #include <linux/bitops.h>
>> >> +
>> >> + /*
>> >> +- * deal with unrepresentable constant logarithms
>> >> +- */
>> >> +-extern __attribute__((const, noreturn))
>> >> +-int ____ilog2_NaN(void);
>> >> +-
>> >> +-/*
>> >> +  * non-constant log of base 2 calculators
>> >> +  * - the arch may override these in asm/bitops.h if they can be
>> >> implemented
>> >> +  *   more efficiently than using fls() and fls64()
>> >> +@@ -85,7 +79,7 @@ unsigned long __rounddown_pow_of_two(unsigned long
>> >> n)
>> >> + #define ilog2(n)                              \
>> >> + (                                             \
>> >> +       __builtin_constant_p(n) ? (             \
>> >> +-              (n) < 1 ? ____ilog2_NaN() :     \
>> >> ++              (n) < 2 ? 0 :                   \
>> >> +               (n) & (1ULL << 63) ? 63 :       \
>> >> +               (n) & (1ULL << 62) ? 62 :       \
>> >> +               (n) & (1ULL << 61) ? 61 :       \
>> >> +@@ -148,10 +142,7 @@ unsigned long __rounddown_pow_of_two(unsigned
>> >> long
>> >> n)
>> >> +               (n) & (1ULL <<  4) ?  4 :       \
>> >> +               (n) & (1ULL <<  3) ?  3 :       \
>> >> +               (n) & (1ULL <<  2) ?  2 :       \
>> >> +-              (n) & (1ULL <<  1) ?  1 :       \
>> >> +-              (n) & (1ULL <<  0) ?  0 :       \
>> >> +-              ____ilog2_NaN()                 \
>> >> +-                                 ) :          \
>> >> ++              1 ) :                           \
>> >> +       (sizeof(n) <= 4) ?                      \
>> >> +       __ilog2_u32(n) :                        \
>> >> +       __ilog2_u64(n)                          \
>> >> +diff --git a/tools/include/linux/log2.h b/tools/include/linux/log2.h
>> >> +index 41446668ccce..d5677d39c1e4 100644
>> >> +--- a/tools/include/linux/log2.h
>> >> ++++ b/tools/include/linux/log2.h
>> >> +@@ -13,12 +13,6 @@
>> >> + #define _TOOLS_LINUX_LOG2_H
>> >> +
>> >> + /*
>> >> +- * deal with unrepresentable constant logarithms
>> >> +- */
>> >> +-extern __attribute__((const, noreturn))
>> >> +-int ____ilog2_NaN(void);
>> >> +-
>> >> +-/*
>> >> +  * non-constant log of base 2 calculators
>> >> +  * - the arch may override these in asm/bitops.h if they can be
>> >> implemented
>> >> +  *   more efficiently than using fls() and fls64()
>> >> +@@ -78,7 +72,7 @@ unsigned long __rounddown_pow_of_two(unsigned long
>> >> n)
>> >> + #define ilog2(n)                              \
>> >> + (                                             \
>> >> +       __builtin_constant_p(n) ? (             \
>> >> +-              (n) < 1 ? ____ilog2_NaN() :     \
>> >> ++              (n) < 2 ? 0 :                   \
>> >> +               (n) & (1ULL << 63) ? 63 :       \
>> >> +               (n) & (1ULL << 62) ? 62 :       \
>> >> +               (n) & (1ULL << 61) ? 61 :       \
>> >> +@@ -141,10 +135,7 @@ unsigned long __rounddown_pow_of_two(unsigned
>> >> long
>> >> n)
>> >> +               (n) & (1ULL <<  4) ?  4 :       \
>> >> +               (n) & (1ULL <<  3) ?  3 :       \
>> >> +               (n) & (1ULL <<  2) ?  2 :       \
>> >> +-              (n) & (1ULL <<  1) ?  1 :       \
>> >> +-              (n) & (1ULL <<  0) ?  0 :       \
>> >> +-              ____ilog2_NaN()                 \
>> >> +-                                 ) :          \
>> >> ++              1 ) :                           \
>> >> +       (sizeof(n) <= 4) ?                      \
>> >> +       __ilog2_u32(n) :                        \
>> >> +       __ilog2_u64(n)                          \
>> >> +--
>> >> +2.12.2
>> >> +
>> >> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
>> >> b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
>> >> index bf7f266ee6..f90d5159d5 100644
>> >> --- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
>> >> +++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
>> >> @@ -24,6 +24,8 @@ SRCREV_meta ?=
>> >> "7140ddb86e4b01529185e6d4a606001ad152b8f3"
>> >>  SRC_URI =
>> >>
>> >> "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH};
>> >> \
>> >>
>> >>
>> >> git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
>> >>
>> >> +SRC_URI +=
>> >> "file://0001-give-up-on-gcc-ilog2-constant-optimizations.patch"
>> >> +
>> >>  LINUX_VERSION ?= "4.1.38"
>> >>
>> >>  PV = "${LINUX_VERSION}+git${SRCPV}"
>> >> --
>> >> 2.13.0
>> >>
>> >> --
>> >> _______________________________________________
>> >> Openembedded-core mailing list
>> >> Openembedded-core@lists.openembedded.org
>> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> >
>> >
>> >
>> >
>> > --
>> > "Thou shalt not follow the NULL pointer, for chaos and madness await
>> > thee at
>> > its end"
>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await thee at
> its end"


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

end of thread, other threads:[~2017-05-13 17:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-13  2:59 [PATCH 1/7] musl: Update to latest master Khem Raj
2017-05-13  2:59 ` [PATCH 2/7] libnsl2: Add recipe Khem Raj
2017-05-13  2:59 ` [PATCH 3/7] grub: Update to 2.02 Khem Raj
2017-05-13  2:59 ` [PATCH 4/7] glew: Compile with -D_GNU_SOURCE Khem Raj
2017-05-13  2:59 ` [PATCH 5/7] vala: Upgrade to 0.36.3 release Khem Raj
2017-05-13  2:59 ` [PATCH 6/7] libidn: Fix hardened build with musl Khem Raj
2017-05-13  2:59 ` [PATCH 7/7] linux-yocto_4.1.bb: Fix build with gcc7 Khem Raj
2017-05-13 15:45   ` Bruce Ashfield
2017-05-13 16:10     ` Khem Raj
2017-05-13 16:16       ` Bruce Ashfield
2017-05-13 17:12         ` Khem Raj
2017-05-13  3:01 ` ✗ patchtest: failure for "musl: Update to latest master..." and 6 more Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox