summaryrefslogtreecommitdiff
path: root/meta/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-bsp')
-rw-r--r--meta/recipes-bsp/acpid/acpid.inc4
-rw-r--r--meta/recipes-bsp/acpid/acpid_2.0.28.bb (renamed from meta/recipes-bsp/acpid/acpid_2.0.25.bb)4
-rw-r--r--meta/recipes-bsp/apmd/apmd/linkage.patch53
-rw-r--r--meta/recipes-bsp/apmd/apmd/wexitcode.patch26
-rw-r--r--meta/recipes-bsp/apmd/apmd_3.2.2-15.bb11
-rwxr-xr-xmeta/recipes-bsp/formfactor/files/config2
-rwxr-xr-xmeta/recipes-bsp/formfactor/files/qemumips64/machconfig10
-rw-r--r--meta/recipes-bsp/formfactor/formfactor_0.0.bb3
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi/gnu-efi-Make-setjmp.S-portable-to-ARM.patch50
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb46
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb70
-rw-r--r--meta/recipes-bsp/grub/files/0001-Enforce-no-pie-if-the-compiler-supports-it.patch45
-rw-r--r--meta/recipes-bsp/grub/files/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch53
-rw-r--r--meta/recipes-bsp/grub/files/0001-Fix-build-with-glibc-2.20.patch32
-rw-r--r--meta/recipes-bsp/grub/files/0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch81
-rw-r--r--meta/recipes-bsp/grub/files/0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch92
-rw-r--r--meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch39
-rw-r--r--meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch79
-rw-r--r--meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch43
-rw-r--r--meta/recipes-bsp/grub/files/fix-texinfo.patch32
-rw-r--r--meta/recipes-bsp/grub/files/grub-2.00-fix-enable_execute_stack-check.patch2
-rw-r--r--meta/recipes-bsp/grub/files/grub-2.00-fpmath-sse-387-fix.patch2
-rw-r--r--meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch61
-rw-r--r--meta/recipes-bsp/grub/files/grub2-remove-sparc64-setup-from-x86-builds.patch140
-rw-r--r--meta/recipes-bsp/grub/grub-0.97/autohell.patch21
-rw-r--r--meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch101
-rw-r--r--meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch74
-rw-r--r--meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch31
-rw-r--r--meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch40
-rw-r--r--meta/recipes-bsp/grub/grub-efi_2.00.bb22
-rw-r--r--meta/recipes-bsp/grub/grub-git/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch46
-rw-r--r--meta/recipes-bsp/grub/grub-git/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch56
-rw-r--r--meta/recipes-bsp/grub/grub2.inc35
-rw-r--r--meta/recipes-bsp/grub/grub_0.97.bb35
-rw-r--r--meta/recipes-bsp/grub/grub_2.00.bb11
-rw-r--r--meta/recipes-bsp/grub/grub_git.bb27
-rw-r--r--meta/recipes-bsp/gummiboot/gummiboot/0001-console-Fix-C-syntax-errors-for-function-declaration.patch74
-rw-r--r--meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch45
-rw-r--r--meta/recipes-bsp/gummiboot/gummiboot_git.bb37
-rw-r--r--meta/recipes-bsp/keymaps/keymaps_1.0.bb2
-rw-r--r--meta/recipes-bsp/libacpi/files/libacpi_fix_for_x32.patch2
-rw-r--r--meta/recipes-bsp/libacpi/files/use_correct_strip_in_cross_environment.patch2
-rw-r--r--meta/recipes-bsp/libacpi/libacpi_0.2.bb4
-rw-r--r--meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch2
-rw-r--r--meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb2
-rw-r--r--meta/recipes-bsp/pciutils/pciutils_3.5.2.bb (renamed from meta/recipes-bsp/pciutils/pciutils_3.3.1.bb)12
-rw-r--r--meta/recipes-bsp/pcmciautils/pcmciautils-018/0001-fix-a-parallel-building-issue.patch45
-rw-r--r--meta/recipes-bsp/pcmciautils/pcmciautils-018/lex_sys_types.patch21
-rw-r--r--meta/recipes-bsp/pcmciautils/pcmciautils-018/makefile_race.patch43
-rw-r--r--meta/recipes-bsp/pcmciautils/pcmciautils.inc4
-rw-r--r--meta/recipes-bsp/pcmciautils/pcmciautils_018.bb10
-rw-r--r--meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb7
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/COPYING2
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/pointercal0
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/qemuarm/pointercal1
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/qemuarmv6/pointercal1
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/qemuarmv7/pointercal1
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/qemumips/pointercal1
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/qemuppc/pointercalbin36 -> 0 bytes
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/qemux86-64/pointercal1
-rw-r--r--meta/recipes-bsp/pointercal/pointercal/qemux86/pointercal1
-rw-r--r--meta/recipes-bsp/pointercal/pointercal_0.0.bb22
-rw-r--r--meta/recipes-bsp/systemd-boot/files/0001-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch40
-rw-r--r--meta/recipes-bsp/systemd-boot/systemd-boot_232.bb39
-rw-r--r--meta/recipes-bsp/u-boot/files/default-gcc.patch39
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-common_2017.01.inc14
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-fw-utils_2017.01.bb (renamed from meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb)25
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb32
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb29
-rw-r--r--meta/recipes-bsp/u-boot/u-boot.inc167
-rw-r--r--meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch185
-rw-r--r--meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch36
-rw-r--r--meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch59
-rw-r--r--meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch254
-rw-r--r--meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch93
-rw-r--r--meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch1184
-rw-r--r--meta/recipes-bsp/u-boot/u-boot_2015.10.bb19
-rw-r--r--meta/recipes-bsp/u-boot/u-boot_2017.01.bb4
-rw-r--r--meta/recipes-bsp/usbutils/usbutils-008/iconv.patch41
-rw-r--r--meta/recipes-bsp/usbutils/usbutils/iconv.patch29
-rw-r--r--meta/recipes-bsp/usbutils/usbutils_007.bb31
-rw-r--r--meta/recipes-bsp/usbutils/usbutils_008.bb7
-rw-r--r--meta/recipes-bsp/v86d/v86d/aarch64-host.patch18
-rw-r--r--meta/recipes-bsp/v86d/v86d_0.1.10.bb6
84 files changed, 1297 insertions, 2875 deletions
diff --git a/meta/recipes-bsp/acpid/acpid.inc b/meta/recipes-bsp/acpid/acpid.inc
index e0156192a0..12ec19bbb0 100644
--- a/meta/recipes-bsp/acpid/acpid.inc
+++ b/meta/recipes-bsp/acpid/acpid.inc
@@ -1,6 +1,6 @@
SUMMARY = "A daemon for delivering ACPI events"
-HOMEPAGE = "http://sourceforge.net/projects/acpid/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=33140&atid=407341"
+HOMEPAGE = "http://sourceforge.net/projects/acpid2"
+BUGTRACKER = "http://sourceforge.net/p/acpid2/tickets/?source=navbar"
SECTION = "base"
LICENSE = "GPLv2+"
diff --git a/meta/recipes-bsp/acpid/acpid_2.0.25.bb b/meta/recipes-bsp/acpid/acpid_2.0.28.bb
index f00d25af5e..686526fdaa 100644
--- a/meta/recipes-bsp/acpid/acpid_2.0.25.bb
+++ b/meta/recipes-bsp/acpid/acpid_2.0.28.bb
@@ -3,5 +3,5 @@ require acpid.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
file://acpid.h;endline=24;md5=324a9cf225ae69ddaad1bf9d942115b5"
-SRC_URI[md5sum] = "69bb0cc4a0a89eb2dfecc4851087f568"
-SRC_URI[sha256sum] = "0b700a8072bec162c512f72cbe419195601ab3e0ffd2138f9bd95ed3097a5c68"
+SRC_URI[md5sum] = "0432407b5ff75ae8e08afb43052fde2b"
+SRC_URI[sha256sum] = "980c3a54b0d3f2fd49fd845a0584c5c2abeaab9e9ac09fcbb68686bbb57a7110"
diff --git a/meta/recipes-bsp/apmd/apmd/linkage.patch b/meta/recipes-bsp/apmd/apmd/linkage.patch
new file mode 100644
index 0000000000..3d32c49cd2
--- /dev/null
+++ b/meta/recipes-bsp/apmd/apmd/linkage.patch
@@ -0,0 +1,53 @@
+When building use the libtool intermediate .lo files instead of explicitly using
+the .o files. Under libtool foo.lo is the libtool intermediate wrapper, foo.o is
+a static build, and .libs/foo.o is a shared build.
+
+If static libraries have been disabled globally then libtool won't generate them
+and explicit references to foo.o won't be satisfied.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/Makefile b/Makefile
+index bb695c6..5f60146 100644
+--- a/Makefile
++++ b/Makefile
+@@ -28,7 +28,7 @@ endif
+
+ .SUFFIXES:
+
+-OBJS=apmlib.o
++OBJS=apmlib.lo
+ EXES=apm apmd xapm apmsleep
+ HEADERS=apm.h
+
+@@ -66,22 +66,22 @@ all: $(EXES)
+
+ $(OBJS): $(HEADERS)
+
+-%.o: %.c
++%.lo: %.c
+ $(LT_COMPILE) -c $(CPPFLAGS) $(CFLAGS) $(XTRACFLAGS) $<
+
+-%: %.o $(LIBAPM)
++%: %.lo $(LIBAPM)
+ $(LT_LINK) -o $@ $< $(LDFLAGS) $(LIBAPM)
+
+-xapm.o: xapm.c
++xapm.lo: xapm.c
+ $(LT_COMPILE) -c $(CPPFLAGS) $(CFLAGS) $(XTRACFLAGS) -DNARROWPROTO $<
+
+-apmd: apmd.o
++apmd: apmd.lo
+
+-apmsleep: apmsleep.o
++apmsleep: apmsleep.lo
+
+-apmexists: apmexists.o
++apmexists: apmexists.lo
+
+-xapm: xapm.o $(LIBAPM)
++xapm: xapm.lo $(LIBAPM)
+ $(LT_LINK) -o $@ $< $(LDFLAGS) $(LIBAPM) $(XLDFLAGS) $(XLIBS)
+
+ $(LIBAPM): apmlib.lo
diff --git a/meta/recipes-bsp/apmd/apmd/wexitcode.patch b/meta/recipes-bsp/apmd/apmd/wexitcode.patch
new file mode 100644
index 0000000000..c5faa85fa7
--- /dev/null
+++ b/meta/recipes-bsp/apmd/apmd/wexitcode.patch
@@ -0,0 +1,26 @@
+Define non-posix W* funcitons
+
+C libraries like musl dont define them
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: apmd-3.2.2.orig/apmd.c
+===================================================================
+--- apmd-3.2.2.orig.orig/apmd.c
++++ apmd-3.2.2.orig/apmd.c
+@@ -55,6 +55,14 @@
+ #define MINIMUM_RATE_CALC_TIME 120
+ #endif
+
++#ifndef _POSIX_SOURCE
++
++#define __WCOREFLAG 0200
++#define __WCOREDUMP(x) (_W_INT(x) & __WCOREFLAG)
++#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
++
++#endif
++
+ /*
+ * For the verbosity level feature to be useful,
+ * we rely on the fact that syslog.h assigns adjacent
diff --git a/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb b/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
index ea105268a6..82c2649340 100644
--- a/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
+++ b/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
@@ -9,10 +9,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://apm.h;beginline=6;endline=18;md5=7d4acc1250910a89f84ce3cc6557c4c2"
DEPENDS = "libtool-cross"
-SRC_URI = "${DEBIAN_MIRROR}/main/a/apmd/apmd_3.2.2.orig.tar.gz;name=tarball \
+SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/a/${BPN}/${BPN}_3.2.2.orig.tar.gz;name=tarball \
file://legacy.patch \
file://libtool.patch \
file://unlinux.patch \
+ file://wexitcode.patch \
+ file://linkage.patch \
file://init \
file://default \
file://apmd_proxy \
@@ -22,6 +24,11 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apmd/apmd_3.2.2.orig.tar.gz;name=tarball \
SRC_URI[tarball.md5sum] = "b1e6309e8331e0f4e6efd311c2d97fa8"
SRC_URI[tarball.sha256sum] = "7f7d9f60b7766b852881d40b8ff91d8e39fccb0d1d913102a5c75a2dbb52332d"
+# for this package we're mostly interested in tracking debian patches,
+# and not in the upstream version where all development has effectively stopped
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apmd/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
+
S = "${WORKDIR}/apmd-3.2.2.orig"
inherit update-rc.d systemd
@@ -32,6 +39,8 @@ INITSCRIPT_PARAMS = "defaults"
SYSTEMD_SERVICE_${PN} = "apmd.service"
SYSTEMD_AUTO_ENABLE = "disable"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
do_compile() {
# apmd doesn't use whole autotools. Just libtool for installation
oe_runmake "LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" apm apmd
diff --git a/meta/recipes-bsp/formfactor/files/config b/meta/recipes-bsp/formfactor/files/config
index 41066def97..ecfdf26e26 100755
--- a/meta/recipes-bsp/formfactor/files/config
+++ b/meta/recipes-bsp/formfactor/files/config
@@ -9,7 +9,7 @@ if [ -z "$HAVE_TOUCHSCREEN" ]; then
fi
if [ -z "$HAVE_KEYBOARD" ]; then
- HAVE_KEYBOARD=0
+ HAVE_KEYBOARD=1
fi
if [ -z "$HAVE_KEYBOARD_PORTRAIT" ]; then
diff --git a/meta/recipes-bsp/formfactor/files/qemumips64/machconfig b/meta/recipes-bsp/formfactor/files/qemumips64/machconfig
new file mode 100755
index 0000000000..56777b6e2e
--- /dev/null
+++ b/meta/recipes-bsp/formfactor/files/qemumips64/machconfig
@@ -0,0 +1,10 @@
+HAVE_TOUCHSCREEN=1
+HAVE_KEYBOARD=1
+
+DISPLAY_CAN_ROTATE=0
+DISPLAY_ORIENTATION=0
+DISPLAY_WIDTH_PIXELS=640
+DISPLAY_HEIGHT_PIXELS=480
+DISPLAY_BPP=16
+DISPLAY_DPI=150
+#DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/meta/recipes-bsp/formfactor/formfactor_0.0.bb b/meta/recipes-bsp/formfactor/formfactor_0.0.bb
index 5c30bd510d..53cf1cf774 100644
--- a/meta/recipes-bsp/formfactor/formfactor_0.0.bb
+++ b/meta/recipes-bsp/formfactor/formfactor_0.0.bb
@@ -1,8 +1,7 @@
SUMMARY = "Device formfactor information"
SECTION = "base"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
- file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r45"
SRC_URI = "file://config file://machconfig"
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/gnu-efi-Make-setjmp.S-portable-to-ARM.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/gnu-efi-Make-setjmp.S-portable-to-ARM.patch
deleted file mode 100644
index ced128a313..0000000000
--- a/meta/recipes-bsp/gnu-efi/gnu-efi/gnu-efi-Make-setjmp.S-portable-to-ARM.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 8a356d4b6a242ce63b73920d3ed33f88f9e12fe3 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Sun, 6 Sep 2015 05:20:43 -0400
-Subject: [PATCH] gnu-efi: Make setjmp.S portable to ARM
-
-This patch fixes the following error:
-
- .../lib/arm/setjmp.S:18: Error: unrecognized symbol type ""
- .../lib/arm/setjmp.S:26: Error: unrecognized symbol type ""
-
-The problem is the assembly syntax that is used is not portable to ARM,
-where the '@' symbol is a comment:
-
- > Note on targets where the @ character is the start of a comment
- > (eg ARM) then another character is used instead. For example the
- > ARM port uses the % character.
-
-(From https://sourceware.org/binutils/docs-2.25/as/Section.html#Section)
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- lib/arm/setjmp.S | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/arm/setjmp.S b/lib/arm/setjmp.S
-index 6e3fbf0..85c8705 100644
---- a/lib/arm/setjmp.S
-+++ b/lib/arm/setjmp.S
-@@ -15,7 +15,7 @@ BASIS,
- .text
- .arm
- .globl setjmp
-- .type setjmp, @function
-+ .type setjmp, %function
- setjmp:
- mov r3, r13
- stmia r0, {r3-r12,r14}
-@@ -23,6 +23,6 @@ setjmp:
- bx lr
-
- .globl longjmp
-- .type longjmp, @function
-+ .type longjmp, %function
- longjmp:
- ldmia r0, {r3-r12,r14}
---
-1.9.1
-
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb
deleted file mode 100644
index eca34599ce..0000000000
--- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Libraries for producing EFI binaries"
-HOMEPAGE = "http://sourceforge.net/projects/gnu-efi/"
-SECTION = "devel"
-LICENSE = "GPLv2+ | BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=9;md5=2240d7bbdf0928294c2f4a68b14d6591 \
- file://gnuefi/crt0-efi-aarch64.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
- file://inc/efishellintf.h;beginline=13;endline=20;md5=202766b79d708eff3cc70fce15fb80c7 \
- file://inc/efishellparm.h;beginline=4;endline=11;md5=468b1231b05bbc84bae3a0d5774e3bb5 \
- file://lib/arm/div64.S;beginline=6;endline=12;md5=a96c84f5ad12b4f011f98b5d039242f2 \
- file://lib/arm/math.c;beginline=4;endline=10;md5=64dd1987cee1dcf59d11aa572cfa644e \
- file://lib/arm/initplat.c;beginline=4;endline=10;md5=64dd1987cee1dcf59d11aa572cfa644e \
- file://lib/arm/lib1funcs.S;beginline=9;endline=33;md5=f56d5ebbc87136bc66cfe24db82bcf01 \
- file://lib/aarch64/math.c;beginline=9;endline=33;md5=cfade4c560e033a7bb02dab282872c7d \
- file://lib/aarch64/initplat.c;beginline=9;endline=33;md5=900cb1ffbe3e1ded344102be921830f1 \
- "
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
- file://parallel-make-archives.patch \
- file://lib-Makefile-fix-parallel-issue.patch \
- file://gnu-efi-Make-setjmp.S-portable-to-ARM.patch \
- file://gcc46-compatibility.patch \
- "
-
-SRC_URI[md5sum] = "15a4bcbc18a9a5e8110ed955970622e6"
-SRC_URI[sha256sum] = "c530f21a15fd9c214dd92d29a6caa20fac989289267512020b6da1f5e6f5b4cb"
-
-COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
-
-def gnu_efi_arch(d):
- import re
- tarch = d.getVar("TARGET_ARCH", True)
- if re.match("i[3456789]86", tarch):
- return "ia32"
- return tarch
-
-EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \
- 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \
- "
-
-do_install() {
- oe_runmake install INSTALLROOT="${D}"
-}
-
-FILES_${PN} += "${libdir}/*.lds"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb
new file mode 100644
index 0000000000..6f235b7455
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb
@@ -0,0 +1,70 @@
+SUMMARY = "Libraries for producing EFI binaries"
+HOMEPAGE = "http://sourceforge.net/projects/gnu-efi/"
+SECTION = "devel"
+LICENSE = "GPLv2+ | BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
+ file://gnuefi/crt0-efi-aarch64.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
+ file://inc/efishellintf.h;beginline=13;endline=20;md5=202766b79d708eff3cc70fce15fb80c7 \
+ file://inc/efishellparm.h;beginline=4;endline=11;md5=468b1231b05bbc84bae3a0d5774e3bb5 \
+ file://lib/arm/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
+ file://lib/arm/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
+ file://lib/aarch64/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
+ file://lib/aarch64/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
+ "
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
+ file://parallel-make-archives.patch \
+ file://lib-Makefile-fix-parallel-issue.patch \
+ file://gcc46-compatibility.patch \
+ "
+
+SRC_URI[md5sum] = "1f719c9c135778aa6b087b89a1cc2423"
+SRC_URI[sha256sum] = "bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef130b22"
+
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
+COMPATIBLE_HOST_armv4 = 'null'
+
+do_configure_linux-gnux32_prepend() {
+ cp ${STAGING_INCDIR}/gnu/stubs-x32.h ${STAGING_INCDIR}/gnu/stubs-64.h
+ cp ${STAGING_INCDIR}/bits/long-double-32.h ${STAGING_INCDIR}/bits/long-double-64.h
+}
+
+def gnu_efi_arch(d):
+ import re
+ tarch = d.getVar("TARGET_ARCH")
+ if re.match("i[3456789]86", tarch):
+ return "ia32"
+ return tarch
+
+EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \
+ 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \
+ "
+
+# gnu-efi's Makefile treats prefix as toolchain prefix, so don't
+# export it.
+prefix[unexport] = "1"
+
+do_install() {
+ oe_runmake install INSTALLROOT="${D}"
+}
+
+FILES_${PN} += "${libdir}/*.lds"
+
+# 64-bit binaries are expected for EFI when targeting X32
+INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch"
+
+BBCLASSEXTEND = "native"
+
+# It doesn't support sse, its make.defaults sets:
+# CFLAGS += -mno-mmx -mno-sse
+# So also remove -mfpmath=sse from TUNE_CCARGS
+TUNE_CCARGS_remove = "-mfpmath=sse"
+
+python () {
+ ccargs = d.getVar('TUNE_CCARGS').split()
+ if '-mx32' in ccargs:
+ # use x86_64 EFI ABI
+ ccargs.remove('-mx32')
+ ccargs.append('-m64')
+ d.setVar('TUNE_CCARGS', ' '.join(ccargs))
+}
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
new file mode 100644
index 0000000000..ccdbee215d
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-Enforce-no-pie-if-the-compiler-supports-it.patch
@@ -0,0 +1,45 @@
+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
new file mode 100644
index 0000000000..65ddcaf128
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
@@ -0,0 +1,53 @@
+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-Fix-build-with-glibc-2.20.patch b/meta/recipes-bsp/grub/files/0001-Fix-build-with-glibc-2.20.patch
deleted file mode 100644
index 46aaa97cf2..0000000000
--- a/meta/recipes-bsp/grub/files/0001-Fix-build-with-glibc-2.20.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 275fe0269ecc00af4788afaf9dc151a50b25645b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 28 Aug 2014 19:26:14 -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"
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Submitted
-
----
- 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 7e725f6..8dd8e65 100644
---- a/grub-core/kern/emu/hostfs.c
-+++ b/grub-core/kern/emu/hostfs.c
-@@ -19,7 +19,7 @@
-
- #include <config-util.h>
-
--#define _BSD_SOURCE
-+#define _DEFAULT_SOURCE
- #include <grub/fs.h>
- #include <grub/file.h>
- #include <grub/disk.h>
---
-2.1.0
-
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
new file mode 100644
index 0000000000..9eabce977b
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch
@@ -0,0 +1,81 @@
+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
new file mode 100644
index 0000000000..f95b9ef9a0
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch
@@ -0,0 +1,92 @@
+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
new file mode 100644
index 0000000000..6ec2363ae3
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
@@ -0,0 +1,39 @@
+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
new file mode 100644
index 0000000000..abf08e16c9
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch
@@ -0,0 +1,79 @@
+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/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
new file mode 100644
index 0000000000..0e735ffcdc
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch
@@ -0,0 +1,43 @@
+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/files/fix-texinfo.patch b/meta/recipes-bsp/grub/files/fix-texinfo.patch
new file mode 100644
index 0000000000..b911d7370b
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/fix-texinfo.patch
@@ -0,0 +1,32 @@
+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-fix-enable_execute_stack-check.patch b/meta/recipes-bsp/grub/files/grub-2.00-fix-enable_execute_stack-check.patch
index 09ef4dbff9..1ff3c1ca09 100644
--- 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
@@ -10,7 +10,7 @@ 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>
+Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2012/04/13
Index: grub-2.00/acinclude.m4
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
index c557f13e23..dd30d94b75 100644
--- 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
@@ -6,7 +6,7 @@ configure:20574: i586-poky-linux-gcc -m32 -march=core2 -msse3 -mtune=generic
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>
+Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2012/04/13
Index: grub-1.99/configure.ac
diff --git a/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch b/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch
new file mode 100644
index 0000000000..935c472cf8
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch
@@ -0,0 +1,61 @@
+From 7461a3de38b66edbe2f5593f9bdab9f2704d32bc Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 17 Aug 2016 04:06:34 -0400
+Subject: [PATCH] grub module explicitly keeps symbole .module_license
+
+While using oe-core toolchain to strip grub module 'all_video.mod',
+it stripped symbol table:
+--------------
+root@localhost:~# objdump -t all_video.mod
+
+all_video.mod: file format elf64-x86-64
+
+SYMBOL TABLE:
+no symbols
+--------------
+
+It caused grub to load module all_video failed.
+--------------
+grub> insmod all_video
+error: no symbol table.
+--------------
+
+Tweak strip option to keep symbol .module_license could workaround
+the issue.
+--------------
+root@localhost:~# objdump -t all_video.mod
+
+all_video.mod: file format elf64-x86-64
+
+SYMBOL TABLE:
+0000000000000000 l d .text 0000000000000000 .text
+0000000000000000 l d .data 0000000000000000 .data
+0000000000000000 l d .module_license 0000000000000000 .module_license
+0000000000000000 l d .bss 0000000000000000 .bss
+0000000000000000 l d .moddeps 0000000000000000 .moddeps
+0000000000000000 l d .modname 0000000000000000 .modname
+--------------
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ grub-core/genmod.sh.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/genmod.sh.in b/grub-core/genmod.sh.in
+index 76df0bb..39a9cfc 100644
+--- a/grub-core/genmod.sh.in
++++ b/grub-core/genmod.sh.in
+@@ -59,7 +59,7 @@ if test x@TARGET_APPLE_CC@ != x1; then
+ if test x@platform@ != xemu; then
+ @STRIP@ --strip-unneeded \
+ -K grub_mod_init -K grub_mod_fini \
+- -K _grub_mod_init -K _grub_mod_fini \
++ -K _grub_mod_init -K _grub_mod_fini -K .module_license \
+ -R .note.gnu.gold-version -R .note.GNU-stack \
+ -R .note -R .comment $tmpfile || exit 1
+ fi
+--
+2.8.1
+
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
index 6259a1abe3..5168d3ca56 100644
--- 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
@@ -1,104 +1,44 @@
+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]
-remove the grub-sparc64-setup files from the x86 builds.
+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(-)
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+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
---- a/Makefile.util.am 2014-08-15 11:41:02.441011278 -0700
-+++ b/Makefile.util.am 2014-08-15 11:44:26.245021142 -0700
-@@ -4692,9 +4692,9 @@
- endif
-
- if COND_emu
--sbin_PROGRAMS += grub-sparc64-setup
-+sbin_PROGRAMS +=
- if COND_MAN_PAGES
--man_MANS += grub-sparc64-setup.8
-+man_MANS +=
-
- grub-sparc64-setup.8: grub-sparc64-setup
- chmod a+x grub-sparc64-setup
-@@ -4715,9 +4715,9 @@
- endif
-
- if COND_i386_pc
--sbin_PROGRAMS += grub-sparc64-setup
-+sbin_PROGRAMS +=
- if COND_MAN_PAGES
--man_MANS += grub-sparc64-setup.8
-+man_MANS +=
-
- grub-sparc64-setup.8: grub-sparc64-setup
- chmod a+x grub-sparc64-setup
-@@ -4738,9 +4738,9 @@
- endif
-
- if COND_i386_efi
--sbin_PROGRAMS += grub-sparc64-setup
-+sbin_PROGRAMS +=
- if COND_MAN_PAGES
--man_MANS += grub-sparc64-setup.8
-+man_MANS +=
-
- grub-sparc64-setup.8: grub-sparc64-setup
- chmod a+x grub-sparc64-setup
-@@ -4761,9 +4761,9 @@
- endif
-
- if COND_i386_qemu
--sbin_PROGRAMS += grub-sparc64-setup
-+sbin_PROGRAMS +=
- if COND_MAN_PAGES
--man_MANS += grub-sparc64-setup.8
-+man_MANS +=
-
- grub-sparc64-setup.8: grub-sparc64-setup
- chmod a+x grub-sparc64-setup
-@@ -4784,9 +4784,9 @@
- endif
-
- if COND_i386_coreboot
--sbin_PROGRAMS += grub-sparc64-setup
-+sbin_PROGRAMS +=
- if COND_MAN_PAGES
--man_MANS += grub-sparc64-setup.8
-+man_MANS +=
-
- grub-sparc64-setup.8: grub-sparc64-setup
- chmod a+x grub-sparc64-setup
-@@ -4807,9 +4807,9 @@
- endif
-
- if COND_i386_multiboot
--sbin_PROGRAMS += grub-sparc64-setup
-+sbin_PROGRAMS +=
- if COND_MAN_PAGES
--man_MANS += grub-sparc64-setup.8
-+man_MANS +=
-
- grub-sparc64-setup.8: grub-sparc64-setup
- chmod a+x grub-sparc64-setup
-@@ -4830,9 +4830,9 @@
- endif
-
- if COND_i386_ieee1275
--sbin_PROGRAMS += grub-sparc64-setup
-+sbin_PROGRAMS +=
- if COND_MAN_PAGES
--man_MANS += grub-sparc64-setup.8
-+man_MANS +=
-
- grub-sparc64-setup.8: grub-sparc64-setup
- chmod a+x grub-sparc64-setup
-@@ -4853,9 +4853,9 @@
- endif
-
- if COND_x86_64_efi
--sbin_PROGRAMS += grub-sparc64-setup
-+sbin_PROGRAMS +=
- if COND_MAN_PAGES
--man_MANS += grub-sparc64-setup.8
-+man_MANS +=
-
- grub-sparc64-setup.8: grub-sparc64-setup
- chmod a+x grub-sparc64-setup
diff --git a/meta/recipes-bsp/grub/grub-0.97/autohell.patch b/meta/recipes-bsp/grub/grub-0.97/autohell.patch
deleted file mode 100644
index d66207ae6c..0000000000
--- a/meta/recipes-bsp/grub/grub-0.97/autohell.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: grub-0.97/configure.ac
-===================================================================
---- grub-0.97.orig/configure.ac 2008-09-12 17:39:52.000000000 +0200
-+++ grub-0.97/configure.ac 2008-09-12 17:40:21.000000000 +0200
-@@ -60,8 +60,8 @@ AC_PROG_CC
- _AM_DEPENDENCIES(CC)
-
- dnl Because recent automake complains about AS, set it here.
--CCAS="$CC"
--AC_SUBST(CCAS)
-+AM_PROG_AS
-+AC_SUBST(AS)
-
- AC_ARG_WITH(binutils,
- [ --with-binutils=DIR search the directory DIR to find binutils])
diff --git a/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch b/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch
deleted file mode 100644
index d225d13dce..0000000000
--- a/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Upstream-Status: Inappropriate [No Longer Maintained]
-
-diff -Naur grub-0.97-800/stage2/fsys_ext2fs.c grub-0.97-810/stage2/fsys_ext2fs.c
---- grub-0.97-800/stage2/fsys_ext2fs.c 2008-07-21 00:40:21.668879475 -0600
-+++ grub-0.97-810/stage2/fsys_ext2fs.c 2008-07-21 01:01:11.063953773 -0600
-@@ -79,7 +79,52 @@
- __u32 s_rev_level; /* Revision level */
- __u16 s_def_resuid; /* Default uid for reserved blocks */
- __u16 s_def_resgid; /* Default gid for reserved blocks */
-- __u32 s_reserved[235]; /* Padding to the end of the block */
-+ /*
-+ * These fields are for EXT2_DYNAMIC_REV superblocks only.
-+ *
-+ * Note: the difference between the compatible feature set and
-+ * the incompatible feature set is that if there is a bit set
-+ * in the incompatible feature set that the kernel doesn't
-+ * know about, it should refuse to mount the filesystem.
-+ *
-+ * e2fsck's requirements are more strict; if it doesn't know
-+ * about a feature in either the compatible or incompatible
-+ * feature set, it must abort and not try to meddle with
-+ * things it doesn't understand...
-+ */
-+ __u32 s_first_ino; /* First non-reserved inode */
-+ __u16 s_inode_size; /* size of inode structure */
-+ __u16 s_block_group_nr; /* block group # of this superblock */
-+ __u32 s_feature_compat; /* compatible feature set */
-+ __u32 s_feature_incompat; /* incompatible feature set */
-+ __u32 s_feature_ro_compat; /* readonly-compatible feature set */
-+ __u8 s_uuid[16]; /* 128-bit uuid for volume */
-+ char s_volume_name[16]; /* volume name */
-+ char s_last_mounted[64]; /* directory where last mounted */
-+ __u32 s_algorithm_usage_bitmap; /* For compression */
-+ /*
-+ * Performance hints. Directory preallocation should only
-+ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on.
-+ */
-+ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
-+ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
-+ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */
-+ /*
-+ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set.
-+ */
-+ __u8 s_journal_uuid[16]; /* uuid of journal superblock */
-+ __u32 s_journal_inum; /* inode number of journal file */
-+ __u32 s_journal_dev; /* device number of journal file */
-+ __u32 s_last_orphan; /* start of list of inodes to delete */
-+ __u32 s_hash_seed[4]; /* HTREE hash seed */
-+ __u8 s_def_hash_version; /* Default hash version to use */
-+ __u8 s_jnl_backup_type; /* Default type of journal backup */
-+ __u16 s_reserved_word_pad;
-+ __u32 s_default_mount_opts;
-+ __u32 s_first_meta_bg; /* First metablock group */
-+ __u32 s_mkfs_time; /* When the filesystem was created */
-+ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */
-+ __u32 s_reserved[172]; /* Padding to the end of the block */
- };
-
- struct ext2_group_desc
-@@ -218,6 +263,14 @@
- #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
- #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s)))
-
-+#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */
-+#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */
-+#define EXT2_GOOD_OLD_INODE_SIZE 128
-+#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \
-+ EXT2_GOOD_OLD_INODE_SIZE : \
-+ (s)->s_inode_size)
-+#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
-+
- /* linux/ext2_fs.h */
- #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
- /* kind of from ext2/super.c */
-@@ -553,7 +606,7 @@
- gdp = GROUP_DESC;
- ino_blk = gdp[desc].bg_inode_table +
- (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group))
-- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)));
-+ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK)));
- #ifdef E2DEBUG
- printf ("inode table fsblock=%d\n", ino_blk);
- #endif /* E2DEBUG */
-@@ -565,13 +618,12 @@
- /* reset indirect blocks! */
- mapblock2 = mapblock1 = -1;
-
-- raw_inode = INODE +
-- ((current_ino - 1)
-- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1));
-+ raw_inode = (struct ext2_inode *)((char *)INODE +
-+ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) *
-+ EXT2_INODE_SIZE (SUPERBLOCK));
- #ifdef E2DEBUG
- printf ("ipb=%d, sizeof(inode)=%d\n",
-- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)),
-- sizeof (struct ext2_inode));
-+ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK));
- printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode);
- printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE);
- for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode;
diff --git a/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch b/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch
deleted file mode 100644
index 0cf7dc96d7..0000000000
--- a/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Upstream-Status: Inappropriate
-
-Subject: [PATCH] grub: fix for automake-1.12
-
-automake 1.12 has depricated automatic de-ANSI-fication support
-
-this patch avoids these kinds of errors:
-
-| stage1/Makefile.am:2: error: 'pkglibdir' is not a legitimate directory for 'DATA'
-| stage2/Makefile.am:35: error: 'pkglibdir' is not a legitimate directory for 'DATA'
-| stage2/Makefile.am:46: error: 'pkglibdir' is not a legitimate directory for 'DATA'
-| autoreconf: automake failed with exit status: 1
-| ERROR: autoreconf execution failed.
-
-The upstream status is marked as 'Inappropriate' because this problem is not uncommon,
-it has been there for a long time and no change in upstream.
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
-Index: grub-0.97/stage1/Makefile.am
-===================================================================
---- a/stage1/Makefile.am
-+++ b/stage1/Makefile.am
-@@ -1,7 +1,7 @@
--pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
--nodist_pkglib_DATA = stage1
-+pkgdatadir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
-+nodist_pkgdata_DATA = stage1
-
--CLEANFILES = $(nodist_pkglib_DATA)
-+CLEANFILES = $(nodist_pkgdata_DATA)
-
- # We can't use builtins or standard includes.
- AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc
-Index: grub-0.97/stage2/Makefile.am
-===================================================================
---- a/stage2/Makefile.am
-+++ b/stage2/Makefile.am
-@@ -27,12 +27,12 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \
- -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1
-
- # Stage 2 and Stage 1.5's.
--pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
-+pkgdatadir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
-
- EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec
-
- if DISKLESS_SUPPORT
--pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
-+pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
- ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
- reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \
- nbgrub pxegrub
-@@ -43,7 +43,7 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \
- reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \
- xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec
- else
--pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
-+pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
- ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
- reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5
- noinst_DATA = pre_stage2 start start_eltorito
-@@ -105,7 +105,7 @@ else
- BUILT_SOURCES = stage2_size.h
- endif
-
--CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES)
-+CLEANFILES = $(pkgdata_DATA) $(noinst_DATA) $(BUILT_SOURCES)
-
- stage2_size.h: pre_stage2
- -rm -f stage2_size.h
---
-1.7.9.5
-
diff --git a/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch b/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch
deleted file mode 100644
index 70037e47c7..0000000000
--- a/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Inappropriate [disable feature]
-
-After the commit "tcmode-default: switch to gcc 4.6.0 for x86, x86-64 & arm",
-we got bug 1099 (http://bugzilla.yoctoproject.org/show_bug.cgi?id=1099):
-
-Running "install --stage2=/ssd/boot/grub/stage2 /boot/grub/stage1(hd0)
- /boot/grub/stage2 p /boot/grub/menu list" failed
-Error 6: Mismatched or corrupt version of stage1/stage2
-
-This turned out to be a gcc's bug. See
-https://bugs.gentoo.org/show_bug.cgi?id=360513
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39333
-
-Upstream gcc seems uninterested in the bug, so at present we can disable the
-option as a workaround. Thanks Ryan Hill for the investigation and the
-workaround patch.
-
-Dexuan Cui <dexuan.cui@intel.com>
-Wed Jun 29 20:21:39 CST 2011
-
---- grub-0.97/stage2/Makefile.am.orig
-+++ grub-0.97/stage2/Makefile.am
-@@ -79,7 +79,7 @@
- HERCULES_FLAGS =
- endif
-
--STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
-+STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-reorder-functions -fno-builtin -nostdinc \
- $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS)
-
- STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000
diff --git a/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch b/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch
deleted file mode 100644
index bd8e0a89fc..0000000000
--- a/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-
-This patch is from ubuntu:
- * objcopy-absolute.diff (update): Remove .note, .comment, and
- .note.gnu.build-id sections from images (LP: #444703).
-
-Upstream-Status: Inappropriate [no longer maintained]
-
-Index: b/acinclude.m4
-===================================================================
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -61,7 +61,7 @@
- else
- AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr])
- fi
-- if AC_TRY_COMMAND([${OBJCOPY-objcopy} -O binary conftest.exec conftest]); then :
-+ if AC_TRY_COMMAND([${OBJCOPY-objcopy} --only-section=.text -O binary conftest.exec conftest]); then :
- else
- AC_MSG_ERROR([${OBJCOPY-objcopy} cannot create binary files])
- fi
-Index: b/stage1/Makefile.am
-===================================================================
---- a/stage1/Makefile.am
-+++ b/stage1/Makefile.am
-@@ -12,4 +12,4 @@
-
- SUFFIXES = .exec
- .exec:
-- $(OBJCOPY) -O binary $< $@
-+ $(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
-Index: b/stage2/Makefile.am
-===================================================================
---- a/stage2/Makefile.am
-+++ b/stage2/Makefile.am
-@@ -293,4 +293,4 @@
- # General rule for making a raw binary.
- SUFFIXES = .exec
- .exec:
-- $(OBJCOPY) -O binary $< $@
-+ $(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
diff --git a/meta/recipes-bsp/grub/grub-efi_2.00.bb b/meta/recipes-bsp/grub/grub-efi_2.00.bb
index 7b44eab8d1..e12f1d773f 100644
--- a/meta/recipes-bsp/grub/grub-efi_2.00.bb
+++ b/meta/recipes-bsp/grub/grub-efi_2.00.bb
@@ -13,13 +13,13 @@ S = "${WORKDIR}/grub-${PV}"
# Determine the target arch for the grub modules
python __anonymous () {
import re
- target = d.getVar('TARGET_ARCH', True)
+ target = d.getVar('TARGET_ARCH')
if target == "x86_64":
grubtarget = 'x86_64'
- grubimage = "bootx64.efi"
+ grubimage = "grub-efi-bootx64.efi"
elif re.match('i.86', target):
grubtarget = 'i386'
- grubimage = "bootia32.efi"
+ grubimage = "grub-efi-bootia32.efi"
else:
raise bb.parse.SkipPackage("grub-efi is incompatible with target %s" % target)
d.setVar("GRUB_TARGET", grubtarget)
@@ -31,7 +31,13 @@ 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-liblzma=no --enable-device-mapper=no --enable-libzfs=no \
+ --enable-largefile \
+"
+
+# 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)
+CFLAGS_append_class-native = " -Wno-error=trampolines"
do_install_class-native() {
install -d ${D}${bindir}
@@ -55,12 +61,12 @@ do_deploy_class-native() {
addtask deploy after do_install before do_build
-FILES_${PN}-dbg += "${libdir}/grub/${GRUB_TARGET}-efi/.debug \
- /boot/efi/EFI/BOOT/${GRUB_TARGET}-efi/.debug \
- "
FILES_${PN} += "${libdir}/grub/${GRUB_TARGET}-efi \
${datadir}/grub \
"
-BBCLASSEXTEND = "native"
+# 64-bit binaries are expected for the bootloader with an x32 userland
+INSANE_SKIP_${PN}_append_linux-gnux32 = " arch"
+INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch"
+BBCLASSEXTEND = "native"
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/grub-git/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch
new file mode 100644
index 0000000000..ce3238f3a1
--- /dev/null
+++ b/meta/recipes-bsp/grub/grub-git/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch
@@ -0,0 +1,46 @@
+From fb7b827a56b1f92f882d0f5ef130acc968b23293 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jan 2016 19:17:31 +0000
+Subject: [PATCH] Disable -mfpmath=sse as well when SSE is disabled
+
+Fixes
+
+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>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 26d2f33..9ce56de 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -783,7 +783,7 @@ fi
+ if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ) && test "x$platform" != xemu; 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-sse3 -mno-3dnow"
++ TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow -mfpmath=387"
+ fi
+
+ # GRUB doesn't use float or doubles at all. Yet some toolchains may decide
+--
+2.7.0
+
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/grub-git/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch
new file mode 100644
index 0000000000..d5bfaa177a
--- /dev/null
+++ b/meta/recipes-bsp/grub/grub-git/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch
@@ -0,0 +1,56 @@
+From b512c77222a8b133d7dd71a0dcef081a921d97d4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jan 2016 19:28:00 +0000
+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.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Inappropriate [OE specific]
+
+ util/grub.d/10_linux.in | 6 +++---
+ util/grub.d/20_linux_xen.in | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index 859b608..946be5d 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -148,12 +148,12 @@ machine=`uname -m`
+ case "x$machine" in
+ xi?86 | xx86_64)
+ list=
+- for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
++ for i in /boot/bzImage-* /bzImage-* /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
+ if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
+ done ;;
+- *)
++ *)
+ list=
+- for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
++ for i in /boot/bzImage-* /boot/vmlinuz-* /boot/vmlinux-* /bzImage-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
+ if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
+ done ;;
+ esac
+diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
+index f532fb9..1994244 100644
+--- a/util/grub.d/20_linux_xen.in
++++ b/util/grub.d/20_linux_xen.in
+@@ -138,7 +138,7 @@ EOF
+ }
+
+ linux_list=
+-for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
++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")
+--
+2.7.0
+
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc
index 312771b47f..ef893b327f 100644
--- a/meta/recipes-bsp/grub/grub2.inc
+++ b/meta/recipes-bsp/grub/grub2.inc
@@ -12,6 +12,7 @@ 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 \
@@ -27,9 +28,17 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
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 \
"
-DEPENDS = "flex-native bison-native xz"
+DEPENDS = "flex-native bison-native autogen-native"
SRC_URI[md5sum] = "e927540b6eda8b024fb0391eeaa4091c"
SRC_URI[sha256sum] = "65b39a0558f8c802209c574f4d02ca263a804e8a564bc6caf1cd0fd3b3cc11e3"
@@ -42,10 +51,24 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG[grub-mount] = "--enable-grub-mount,--disable-grub-mount,fuse"
PACKAGECONFIG[device-mapper] = "--enable-device-mapper,--disable-device-mapper,lvm2"
-# grub and grub-efi's sysroot/${datadir}/grub/grub-mkconfig_lib are
-# conflicted, remove it since no one uses it.
-SYSROOT_PREPROCESS_FUNCS_class-target += "remove_sysroot_mkconfig_lib"
-remove_sysroot_mkconfig_lib() {
- rm -r "${SYSROOT_DESTDIR}${datadir}/grub/grub-mkconfig_lib"
+# grub2 creates its own set of -nostdinc / -isystem / -ffreestanding CFLAGS and
+# OE's default BUILD_CFLAGS (assigned to CFLAGS for native builds) etc, conflict
+# with that. Note that since BUILD_CFLAGS etc are not used by grub2 target
+# builds, it's safe to clear them unconditionally for both target and native.
+BUILD_CPPFLAGS = ""
+BUILD_CFLAGS = ""
+BUILD_CXXFLAGS = ""
+BUILD_LDFLAGS = ""
+
+do_configure_prepend() {
+ # The grub2 configure script uses variables such as TARGET_CFLAGS etc
+ # for its own purposes. Remove the OE versions from the environment to
+ # avoid conflicts.
+ unset TARGET_CPPFLAGS TARGET_CFLAGS TARGET_CXXFLAGS TARGET_LDFLAGS
+ ( cd ${S}
+ ${S}/autogen.sh )
}
+# grub and grub-efi's sysroot/${datadir}/grub/grub-mkconfig_lib are
+# conflicted, remove it since no one uses it.
+SYSROOT_DIRS_BLACKLIST += "${datadir}/grub/grub-mkconfig_lib"
diff --git a/meta/recipes-bsp/grub/grub_0.97.bb b/meta/recipes-bsp/grub/grub_0.97.bb
deleted file mode 100644
index 997a045b2e..0000000000
--- a/meta/recipes-bsp/grub/grub_0.97.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "GRUB is the GRand Unified Bootloader"
-DESCRIPTION = "GRUB is a GPLed bootloader intended to unify bootloading across x86 \
-operating systems. In addition to loading the Linux kernel, it implements the Multiboot \
-standard, which allows for flexible loading of multiple boot images."
-HOMEPAGE = "http://www.gnu.org/software/grub/"
-SECTION = "bootloaders"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b \
- file://grub/main.c;beginline=3;endline=9;md5=22a5f28d2130fff9f2a17ed54be90ed6"
-
-RDEPENDS_${PN} = "diffutils"
-PR = "r6"
-
-SRC_URI = "ftp://alpha.gnu.org/gnu/grub/grub-${PV}.tar.gz; \
- file://no-reorder-functions.patch \
- file://autohell.patch \
- file://grub_fix_for_automake-1.12.patch \
- file://objcopy-absolute.patch \
- file://grub-support-256byte-inode.patch \
-"
-
-SRC_URI[md5sum] = "cd3f3eb54446be6003156158d51f4884"
-SRC_URI[sha256sum] = "4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b"
-
-inherit autotools texinfo
-
-COMPATIBLE_HOST = "i.86.*-linux"
-
-EXTRA_OECONF = "--without-curses"
-
-do_install_append_vmware() {
- mkdir -p ${D}/boot/
- ln -sf ../usr/lib/grub/{$TARGET_ARCH}{$TARGET_VENDOR}/ ${D}/boot/grub
-}
diff --git a/meta/recipes-bsp/grub/grub_2.00.bb b/meta/recipes-bsp/grub/grub_2.00.bb
index 88a709edb6..c3829381ae 100644
--- a/meta/recipes-bsp/grub/grub_2.00.bb
+++ b/meta/recipes-bsp/grub/grub_2.00.bb
@@ -1,13 +1,16 @@
require grub2.inc
-RDEPENDS_${PN} = "diffutils freetype"
+RDEPENDS_${PN} = "diffutils freetype grub-editenv"
PR = "r1"
-FILES_${PN}-dbg += "${libdir}/${BPN}/i386-pc/.debug"
+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"
-EXTRA_OECONF = "--with-platform=pc --disable-grub-mkfont --program-prefix="" \
- --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no"
+FILES_grub-editenv = "${bindir}/grub-editenv"
do_install_append () {
install -d ${D}${sysconfdir}/grub.d
diff --git a/meta/recipes-bsp/grub/grub_git.bb b/meta/recipes-bsp/grub/grub_git.bb
index c2760c9ace..0a81e530f4 100644
--- a/meta/recipes-bsp/grub/grub_git.bb
+++ b/meta/recipes-bsp/grub/grub_git.bb
@@ -1,24 +1,23 @@
require grub2.inc
-DEPENDS += "autogen-native"
-
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_arm = "1"
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/grub-git:"
+
PV = "2.00+${SRCPV}"
-SRCREV = "87de66d9d83446ecddb29cfbdf7369102c8e209e"
+SRCREV = "ce95549cc54b5d6f494608a7c390dba3aab4fba7"
SRC_URI = "git://git.savannah.gnu.org/grub.git \
- file://grub-2.00-fpmath-sse-387-fix.patch \
+ file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \
file://autogen.sh-exclude-pc.patch \
- file://grub-2.00-add-oe-kernel.patch \
- file://0001-Fix-build-with-glibc-2.20.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.*)'
-
-inherit autotools gettext texinfo
+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.
@@ -28,23 +27,19 @@ 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"
-
-do_configure_prepend() {
- ( cd ${S}
- ${S}/autogen.sh )
-}
+ --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"
-FILES_${PN}-dbg += "${libdir}/${BPN}/*/.debug"
INSANE_SKIP_${PN} = "arch"
INSANE_SKIP_${PN}-dbg = "arch"
diff --git a/meta/recipes-bsp/gummiboot/gummiboot/0001-console-Fix-C-syntax-errors-for-function-declaration.patch b/meta/recipes-bsp/gummiboot/gummiboot/0001-console-Fix-C-syntax-errors-for-function-declaration.patch
deleted file mode 100644
index fa50bc4a6e..0000000000
--- a/meta/recipes-bsp/gummiboot/gummiboot/0001-console-Fix-C-syntax-errors-for-function-declaration.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 55957faf1272c8f5f304909faeebf647a78e3701 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 9 Sep 2015 07:19:45 +0000
-Subject: [PATCH] console: Fix C syntax errors for function declaration
-
-To address this, the semicolons after the function parameters should be
-replaced by commas, and the last one should be omitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/efi/console.c | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/src/efi/console.c b/src/efi/console.c
-index 6206c80..66aa88f 100644
---- a/src/efi/console.c
-+++ b/src/efi/console.c
-@@ -27,8 +27,8 @@
- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
-
- typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
-- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
-- BOOLEAN ExtendedVerification;
-+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+ BOOLEAN ExtendedVerification
- );
-
- typedef UINT8 EFI_KEY_TOGGLE_STATE;
-@@ -44,29 +44,29 @@ typedef struct {
- } EFI_KEY_DATA;
-
- typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
-- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
-- EFI_KEY_DATA *KeyData;
-+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+ EFI_KEY_DATA *KeyData
- );
-
- typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
-- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
-- EFI_KEY_TOGGLE_STATE *KeyToggleState;
-+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+ EFI_KEY_TOGGLE_STATE *KeyToggleState
- );
-
- typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
-- EFI_KEY_DATA *KeyData;
-+ EFI_KEY_DATA *KeyData
- );
-
- typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
-- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
-- EFI_KEY_DATA KeyData;
-- EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction;
-- VOID **NotifyHandle;
-+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+ EFI_KEY_DATA KeyData,
-+ EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
-+ VOID **NotifyHandle
- );
-
- typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
-- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
-- VOID *NotificationHandle;
-+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+ VOID *NotificationHandle
- );
-
- typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
---
-2.5.1
-
diff --git a/meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch b/meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch
deleted file mode 100644
index 49f55930df..0000000000
--- a/meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 0f7f9e3bb1d0e1b93f3ad8a1d5d7bdd3fbf27494 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 27 Mar 2014 07:20:33 +0000
-Subject: [PATCH] Makefile.am: use objcopy from the env
-
-It uses the "objcopy" directly, which is not suitable for cross compile.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-Index: git/Makefile.am
-===================================================================
---- git.orig/Makefile.am
-+++ git/Makefile.am
-@@ -19,6 +19,8 @@
- ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
- AM_MAKEFLAGS = --no-print-directory
-
-+OBJCOPY ?= objcopy
-+
- gummibootlibdir = $(prefix)/lib/gummiboot
-
- AM_CPPFLAGS = -include config.h
-@@ -148,7 +150,7 @@ $(gummiboot_solib): $(gummiboot_objects)
- .DELETE_ON_ERROR: $(gummboot_solib)
-
- $(gummiboot): $(gummiboot_solib)
-- $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
-+ $(AM_V_GEN) $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \
- -j .dynsym -j .rel -j .rela -j .reloc \
- --target=efi-app-$(ARCH) $< $@
-
-@@ -183,7 +185,7 @@ $(stub_solib): $(stub_objects)
- .DELETE_ON_ERROR: $(gummboot_solib)
-
- $(stub): $(stub_solib)
-- $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
-+ $(AM_V_GEN) $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \
- -j .dynsym -j .rel -j .rela -j .reloc \
- --target=efi-app-$(ARCH) $< $@
-
diff --git a/meta/recipes-bsp/gummiboot/gummiboot_git.bb b/meta/recipes-bsp/gummiboot/gummiboot_git.bb
deleted file mode 100644
index 376ab542dd..0000000000
--- a/meta/recipes-bsp/gummiboot/gummiboot_git.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Gummiboot is a simple UEFI boot manager which executes configured EFI images."
-HOMEPAGE = "http://freedesktop.org/wiki/Software/gummiboot"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "gnu-efi util-linux"
-
-inherit autotools pkgconfig
-inherit deploy
-
-PV = "48+git${SRCPV}"
-SRCREV = "2bcd919c681c952eb867ef1bdb458f1bc49c2d55"
-SRC_URI = "git://anongit.freedesktop.org/gummiboot \
- file://fix-objcopy.patch \
- file://0001-console-Fix-C-syntax-errors-for-function-declaration.patch \
- "
-
-# Note: Add COMPATIBLE_HOST here is only because it depends on gnu-efi
-# which has set the COMPATIBLE_HOST, the gummiboot itself may work on
-# more hosts.
-COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = "--disable-manpages --with-efi-includedir=${STAGING_INCDIR} \
- --with-efi-ldsdir=${STAGING_LIBDIR} \
- --with-efi-libdir=${STAGING_LIBDIR}"
-
-EXTRA_OEMAKE += "gummibootlibdir=${libdir}/gummiboot"
-
-TUNE_CCARGS_remove = "-mfpmath=sse"
-
-do_deploy () {
- install ${B}/gummiboot*.efi ${DEPLOYDIR}
-}
-addtask deploy before do_build after do_compile
diff --git a/meta/recipes-bsp/keymaps/keymaps_1.0.bb b/meta/recipes-bsp/keymaps/keymaps_1.0.bb
index 5793a76529..34b208c5b3 100644
--- a/meta/recipes-bsp/keymaps/keymaps_1.0.bb
+++ b/meta/recipes-bsp/keymaps/keymaps_1.0.bb
@@ -37,7 +37,7 @@ do_install () {
fi
}
-DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
+PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
pkg_postinst_${PN} () {
if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
if [ -n "$D" ]; then
diff --git a/meta/recipes-bsp/libacpi/files/libacpi_fix_for_x32.patch b/meta/recipes-bsp/libacpi/files/libacpi_fix_for_x32.patch
index 2fed344ba5..86a16c262f 100644
--- a/meta/recipes-bsp/libacpi/files/libacpi_fix_for_x32.patch
+++ b/meta/recipes-bsp/libacpi/files/libacpi_fix_for_x32.patch
@@ -7,7 +7,7 @@ Fix libacpi for x32
Patch Received from: H.J. Lu <hjl.tools@gmail.com>
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/05
+Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/05
Index: libacpi-0.2/Makefile
===================================================================
diff --git a/meta/recipes-bsp/libacpi/files/use_correct_strip_in_cross_environment.patch b/meta/recipes-bsp/libacpi/files/use_correct_strip_in_cross_environment.patch
index bca75fb472..ef376aa316 100644
--- a/meta/recipes-bsp/libacpi/files/use_correct_strip_in_cross_environment.patch
+++ b/meta/recipes-bsp/libacpi/files/use_correct_strip_in_cross_environment.patch
@@ -6,7 +6,7 @@ Used the cross strip instead of host strip to avoid this build error:
| make: *** [test-libacpi] Error 1
| ERROR: oe_runmake failed
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/07
+Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/07
Index: libacpi-0.2/Makefile
===================================================================
diff --git a/meta/recipes-bsp/libacpi/libacpi_0.2.bb b/meta/recipes-bsp/libacpi/libacpi_0.2.bb
index bf302f3ce4..6dc66ea25f 100644
--- a/meta/recipes-bsp/libacpi/libacpi_0.2.bb
+++ b/meta/recipes-bsp/libacpi/libacpi_0.2.bb
@@ -16,12 +16,14 @@ SRC_URI = "http://www.ngolde.de/download/libacpi-${PV}.tar.gz \
SRC_URI[md5sum] = "05b53dd7bead66dda35fec502b91066c"
SRC_URI[sha256sum] = "13086e31d428b9c125954d48ac497b754bbbce2ef34ea29ecd903e82e25bad29"
+UPSTREAM_CHECK_URI = "http://www.ngolde.de/libacpi.html"
+
inherit lib_package
COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)'
CFLAGS += "-fPIC"
-EXTRA_OEMAKE += 'STRIP="echo"'
+EXTRA_OEMAKE = '-e MAKEFLAGS= STRIP="echo"'
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch
index b4529f4c7a..682f1c9c8d 100644
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch
+++ b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch
@@ -9,7 +9,7 @@ This patch fixes following issue with automake 1.12
| src/Makefile.am:11: error: automatic de-ANSI-fication support has been removed
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2012/05/03
Index: lrzsz-0.12.20/configure.in
diff --git a/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb b/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
index e0ce57d020..4b349be32f 100644
--- a/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
+++ b/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
@@ -24,6 +24,8 @@ SRC_URI = "http://www.ohse.de/uwe/releases/lrzsz-${PV}.tar.gz \
SRC_URI[md5sum] = "b5ce6a74abc9b9eb2af94dffdfd372a4"
SRC_URI[sha256sum] = "c28b36b14bddb014d9e9c97c52459852f97bd405f89113f30bee45ed92728ff1"
+UPSTREAM_CHECK_URI = "http://ohse.de/uwe/software/lrzsz.html"
+
inherit autotools gettext
do_install() {
diff --git a/meta/recipes-bsp/pciutils/pciutils_3.3.1.bb b/meta/recipes-bsp/pciutils/pciutils_3.5.2.bb
index 91a8cd394f..9a7297e21c 100644
--- a/meta/recipes-bsp/pciutils/pciutils_3.3.1.bb
+++ b/meta/recipes-bsp/pciutils/pciutils_3.5.2.bb
@@ -13,8 +13,8 @@ SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz \
file://guess-fix.patch \
file://makefile.patch"
-SRC_URI[md5sum] = "4c340a317987d61a11ee2cf139ef1191"
-SRC_URI[sha256sum] = "514a3bdb77e4cdbe9e970e1885af46e0ba2011bf97364368c455ade0edd4e3a9"
+SRC_URI[md5sum] = "1bf5b068bd9f7512e8c68b060b25a1b2"
+SRC_URI[sha256sum] = "3a99141a9f40528d0a0035665a06dc37ddb1ae341658e51b50a76ecf86235efc"
inherit multilib_header
@@ -27,9 +27,9 @@ PCI_CONF_FLAG = "ZLIB=yes DNS=yes SHARED=yes"
do_configure () {
(
cd lib && \
- # EXTRA_OECONF for this recipe could only possibly contain 'HWDB=yes/no', so we put it
- # before ./configure
- ${PCI_CONF_FLAG} ${EXTRA_OECONF} ./configure ${PV} ${datadir} ${TARGET_OS} ${TARGET_ARCH}
+ # PACKAGECONFIG_CONFARGS for this recipe could only possibly contain 'HWDB=yes/no',
+ # so we put it before ./configure
+ ${PCI_CONF_FLAG} ${PACKAGECONFIG_CONFARGS} ./configure ${PV} ${datadir} ${TARGET_OS} ${TARGET_ARCH}
)
}
@@ -38,7 +38,7 @@ export SBINDIR = "${sbindir}"
export SHAREDIR = "${datadir}"
export MANDIR = "${mandir}"
-EXTRA_OEMAKE += "${PCI_CONF_FLAG}"
+EXTRA_OEMAKE = "-e MAKEFLAGS= ${PCI_CONF_FLAG}"
# The configure script breaks if the HOST variable is set
HOST[unexport] = "1"
diff --git a/meta/recipes-bsp/pcmciautils/pcmciautils-018/0001-fix-a-parallel-building-issue.patch b/meta/recipes-bsp/pcmciautils/pcmciautils-018/0001-fix-a-parallel-building-issue.patch
deleted file mode 100644
index 7b010400f7..0000000000
--- a/meta/recipes-bsp/pcmciautils/pcmciautils-018/0001-fix-a-parallel-building-issue.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 5a793a1a9fb3477719aabf7e27ff22ed1acdf559 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Tue, 19 May 2015 15:54:24 +0800
-Subject: [PATCH] fix a parallel building issue
-
-Fixed:
-| src/lex_config.c:34:25: fatal error: yacc_config.h: No such file or directory
-|
-| #include "yacc_config.h"
-| ^
-| compilation terminated.
-
-And:
-Compiling lex_config.c.
- src/lex_config.l:34:25: fatal error: yacc_config.h: No such file or directory
-
-Upstream-Status: Pending
-
-there are two Makefile rules to generate lex_config.o, one is to generate
-lex_config.o other is to generate src/lex_config.o, so we can remove one.
-and add the needed dependence for lex_config.o
-
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- Makefile | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index d45fdc3..4c53bc2 100644
---- a/Makefile
-+++ b/Makefile
-@@ -246,8 +246,7 @@ $(PCMCIA_SOCKET_STARTUP): $(LIBC) src/startup.o src/yacc_config.o src/lex_config
- $(QUIET) $(LD) $(LDFLAGS) -o $@ $(CRT0) src/startup.o src/yacc_config.o src/lex_config.o $(LIB_OBJS) $(ARCH_LIB_OBJS)
- $(QUIET) $(STRIPCMD) $@
-
--yacc_config.o lex_config.o: %.o: %.c
-- $(CC) -c -MD -O -pipe $(CPPFLAGS) $<
-+src/lex_config.o:src/yacc_config.h
-
- debugtools: ccdv $(CBDUMP) $(CISDUMP)
-
---
-1.9.1
-
diff --git a/meta/recipes-bsp/pcmciautils/pcmciautils-018/lex_sys_types.patch b/meta/recipes-bsp/pcmciautils/pcmciautils-018/lex_sys_types.patch
new file mode 100644
index 0000000000..d4c2bed15c
--- /dev/null
+++ b/meta/recipes-bsp/pcmciautils/pcmciautils-018/lex_sys_types.patch
@@ -0,0 +1,21 @@
+Include sys/types.h for u_long definition
+
+Fix errors like
+In file included from src/lex_config.l:34:0:
+src/yacc_config.y:45:5: error: unknown type name 'u_long'
+ u_long num;
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: pcmciautils-018/src/lex_config.l
+===================================================================
+--- pcmciautils-018.orig/src/lex_config.l
++++ pcmciautils-018/src/lex_config.l
+@@ -22,6 +22,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <syslog.h>
++#include <sys/types.h>
+
+ #ifdef HAS_WORDEXP
+ #include <wordexp.h>
diff --git a/meta/recipes-bsp/pcmciautils/pcmciautils-018/makefile_race.patch b/meta/recipes-bsp/pcmciautils/pcmciautils-018/makefile_race.patch
new file mode 100644
index 0000000000..f5a518ff73
--- /dev/null
+++ b/meta/recipes-bsp/pcmciautils/pcmciautils-018/makefile_race.patch
@@ -0,0 +1,43 @@
+"make src/lex_config.o"
+
+results in:
+
+src/lex_config.l:35:25: fatal error: yacc_config.h: No such file or directory
+
+so add missing dependency through a missing rule. Also remove a rule which
+doesn't appear to do anything.
+
+RP
+2016/1/31
+
+Upstream-Status: Pending
+
+Index: pcmciautils-018/Makefile
+===================================================================
+--- pcmciautils-018.orig/Makefile
++++ pcmciautils-018/Makefile
+@@ -249,6 +249,9 @@ $(PCMCIA_SOCKET_STARTUP): $(LIBC) src/st
+ yacc_config.o lex_config.o: %.o: %.c src/yacc_config.h
+ $(CC) -c -MD -O -pipe $(CPPFLAGS) $<
+
++src/lex_config.o : src/lex_config.c src/yacc_config.h
++ $(QUIET) $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
++
+ debugtools: ccdv $(CBDUMP) $(CISDUMP)
+
+ $(CBDUMP): $(LIBC) debug/cbdump.o
+Index: pcmciautils-018/Makefile
+===================================================================
+--- pcmciautils-018.orig/Makefile
++++ pcmciautils-018/Makefile
+@@ -246,8 +246,8 @@ $(PCMCIA_SOCKET_STARTUP): $(LIBC) src/st
+ $(QUIET) $(LD) $(LDFLAGS) -o $@ $(CRT0) src/startup.o src/yacc_config.o src/lex_config.o $(LIB_OBJS) $(ARCH_LIB_OBJS)
+ $(QUIET) $(STRIPCMD) $@
+
+-yacc_config.o lex_config.o: %.o: %.c
+- $(CC) -c -MD -O -pipe $(CPPFLAGS) $<
++src/lex_config.o : src/lex_config.c src/yacc_config.h ccdv
++ $(QUIET) $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
+ debugtools: ccdv $(CBDUMP) $(CISDUMP)
+
diff --git a/meta/recipes-bsp/pcmciautils/pcmciautils.inc b/meta/recipes-bsp/pcmciautils/pcmciautils.inc
index 9d1c55bbad..0524980509 100644
--- a/meta/recipes-bsp/pcmciautils/pcmciautils.inc
+++ b/meta/recipes-bsp/pcmciautils/pcmciautils.inc
@@ -8,10 +8,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "udev sysfsutils flex-native"
RDEPENDS_${PN} = "udev module-init-tools"
-SRC_URI = "http://mirror.linux.org.au/linux/utils/kernel/pcmcia/${BP}.tar.bz2"
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/pcmcia/${BP}.tar.xz"
S = "${WORKDIR}/pcmciautils-${PV}"
+inherit pkgconfig
+
export HOSTCC = "${BUILD_CC}"
export etcdir = "${sysconfdir}"
export sbindir = "${base_sbindir}"
diff --git a/meta/recipes-bsp/pcmciautils/pcmciautils_018.bb b/meta/recipes-bsp/pcmciautils/pcmciautils_018.bb
index 857bd0753f..bf0f58a7cc 100644
--- a/meta/recipes-bsp/pcmciautils/pcmciautils_018.bb
+++ b/meta/recipes-bsp/pcmciautils/pcmciautils_018.bb
@@ -1,13 +1,11 @@
require pcmciautils.inc
SRC_URI += "file://makefile_fix.patch \
- file://0001-fix-a-parallel-building-issue.patch \
+ file://makefile_race.patch \
+ file://lex_sys_types.patch \
"
-SRC_URI[md5sum] = "5d85669b3440baa4532363da6caaf1b4"
-SRC_URI[sha256sum] = "79e6ae441278e178c07501d492394ed2c0326fdb66894f6d040ec811b0dc8ed5"
+SRC_URI[md5sum] = "885431c3cefb76ffdad8cb985134e996"
+SRC_URI[sha256sum] = "57c27be8f04ef4d535bcfa988567316cc57659fe69068327486dab53791e6558"
PR = "r1"
-
-FILES_${PN}-dbg += "*/udev/.debug */*/udev/.debug"
-FILES_${PN} += "*/udev */*/udev"
diff --git a/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb b/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
index 8d35187d63..cac09101c4 100644
--- a/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
+++ b/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
@@ -13,7 +13,9 @@ SRC_URI = "http://pm-utils.freedesktop.org/releases/pm-utils-${PV}.tar.gz"
SRC_URI[md5sum] = "1742a556089c36c3a89eb1b957da5a60"
SRC_URI[sha256sum] = "8ed899032866d88b2933a1d34cc75e8ae42dcde20e1cc21836baaae3d4370c0b"
-inherit pkgconfig autotools
+inherit pkgconfig autotools manpages
+
+PACKAGECONFIG[manpages] = "--enable-doc, --disable-doc, libxslt-native xmlto-native"
RDEPENDS_${PN} = "grep bash"
@@ -22,5 +24,4 @@ do_configure_prepend () {
}
FILES_${PN} += "${libdir}/${BPN}/*"
-FILES_${PN}-dbg += "${libdir}/${BPN}/bin/.debug \
- ${datadir}/doc/pm-utils/README.debugging"
+FILES_${PN}-dbg += "${datadir}/doc/pm-utils/README.debugging"
diff --git a/meta/recipes-bsp/pointercal/pointercal/COPYING b/meta/recipes-bsp/pointercal/pointercal/COPYING
deleted file mode 100644
index 63f5293810..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/COPYING
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a blank COPYING file, and should be filled in by original author in future.
-
diff --git a/meta/recipes-bsp/pointercal/pointercal/pointercal b/meta/recipes-bsp/pointercal/pointercal/pointercal
deleted file mode 100644
index e69de29bb2..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/pointercal
+++ /dev/null
diff --git a/meta/recipes-bsp/pointercal/pointercal/qemuarm/pointercal b/meta/recipes-bsp/pointercal/pointercal/qemuarm/pointercal
deleted file mode 100644
index abd84ca4b5..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/qemuarm/pointercal
+++ /dev/null
@@ -1 +0,0 @@
-8313 4 -8526 7 8334 -82604 65536
diff --git a/meta/recipes-bsp/pointercal/pointercal/qemuarmv6/pointercal b/meta/recipes-bsp/pointercal/pointercal/qemuarmv6/pointercal
deleted file mode 100644
index abd84ca4b5..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/qemuarmv6/pointercal
+++ /dev/null
@@ -1 +0,0 @@
-8313 4 -8526 7 8334 -82604 65536
diff --git a/meta/recipes-bsp/pointercal/pointercal/qemuarmv7/pointercal b/meta/recipes-bsp/pointercal/pointercal/qemuarmv7/pointercal
deleted file mode 100644
index abd84ca4b5..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/qemuarmv7/pointercal
+++ /dev/null
@@ -1 +0,0 @@
-8313 4 -8526 7 8334 -82604 65536
diff --git a/meta/recipes-bsp/pointercal/pointercal/qemumips/pointercal b/meta/recipes-bsp/pointercal/pointercal/qemumips/pointercal
deleted file mode 100644
index abd84ca4b5..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/qemumips/pointercal
+++ /dev/null
@@ -1 +0,0 @@
-8313 4 -8526 7 8334 -82604 65536
diff --git a/meta/recipes-bsp/pointercal/pointercal/qemuppc/pointercal b/meta/recipes-bsp/pointercal/pointercal/qemuppc/pointercal
deleted file mode 100644
index c2d6e37bf0..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/qemuppc/pointercal
+++ /dev/null
Binary files differ
diff --git a/meta/recipes-bsp/pointercal/pointercal/qemux86-64/pointercal b/meta/recipes-bsp/pointercal/pointercal/qemux86-64/pointercal
deleted file mode 100644
index 640053d393..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/qemux86-64/pointercal
+++ /dev/null
@@ -1 +0,0 @@
-1280 0 1002 0 960 328 65536
diff --git a/meta/recipes-bsp/pointercal/pointercal/qemux86/pointercal b/meta/recipes-bsp/pointercal/pointercal/qemux86/pointercal
deleted file mode 100644
index 640053d393..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal/qemux86/pointercal
+++ /dev/null
@@ -1 +0,0 @@
-1280 0 1002 0 960 328 65536
diff --git a/meta/recipes-bsp/pointercal/pointercal_0.0.bb b/meta/recipes-bsp/pointercal/pointercal_0.0.bb
deleted file mode 100644
index df735a59f2..0000000000
--- a/meta/recipes-bsp/pointercal/pointercal_0.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Touchscreen calibration data"
-SECTION = "base"
-PR = "r11"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4b5fcfc87fb615860d398b5e38685edf"
-
-SRC_URI = "file://pointercal \
- file://COPYING"
-
-S = "${WORKDIR}"
-
-do_install() {
- # Only install file if it has a contents
- if [ -s ${S}/pointercal ]; then
- install -d ${D}${sysconfdir}/
- install -m 0644 ${S}/pointercal ${D}${sysconfdir}/
- fi
-}
-
-ALLOW_EMPTY_${PN} = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-INHIBIT_DEFAULT_DEPS = "1"
diff --git a/meta/recipes-bsp/systemd-boot/files/0001-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch b/meta/recipes-bsp/systemd-boot/files/0001-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
new file mode 100644
index 0000000000..bc92db7468
--- /dev/null
+++ b/meta/recipes-bsp/systemd-boot/files/0001-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
@@ -0,0 +1,40 @@
+From a3482c91642cf568b3ac27fa6c0cb3c6b30669b7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Nov 2016 19:32:14 -0800
+Subject: [PATCH 07/19] use lnr wrapper instead of looking for --relative
+ option for ln
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 2 +-
+ configure.ac | 2 --
+ 2 files changed, 1 insertion(+), 3 deletions(-)
+
+Index: git/Makefile.am
+===================================================================
+--- git.orig/Makefile.am
++++ git/Makefile.am
+@@ -320,7 +320,7 @@ define install-relative-aliases
+ while [ -n "$$1" ]; do \
+ $(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
+ rm -f $(DESTDIR)$$dir/$$2 && \
+- $(LN_S) --relative $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \
++ lnr $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \
+ shift 2 || exit $$?; \
+ done
+ endef
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -110,8 +110,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr
+ AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin])
+ AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin])
+
+-AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
+-
+ M4_DEFINES=
+
+ AC_CHECK_TOOL(OBJCOPY, objcopy)
diff --git a/meta/recipes-bsp/systemd-boot/systemd-boot_232.bb b/meta/recipes-bsp/systemd-boot/systemd-boot_232.bb
new file mode 100644
index 0000000000..0471ce246b
--- /dev/null
+++ b/meta/recipes-bsp/systemd-boot/systemd-boot_232.bb
@@ -0,0 +1,39 @@
+require recipes-core/systemd/systemd.inc
+
+DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
+
+SRC_URI += "file://0001-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch"
+
+inherit autotools pkgconfig gettext
+inherit deploy
+
+# Man pages are packaged through the main systemd recipe
+EXTRA_OECONF = " --enable-gnuefi \
+ --with-efi-includedir=${STAGING_INCDIR} \
+ --with-efi-ldsdir=${STAGING_LIBDIR} \
+ --with-efi-libdir=${STAGING_LIBDIR} \
+ --disable-manpages \
+ "
+
+# Imported from the old gummiboot recipe
+TUNE_CCARGS_remove = "-mfpmath=sse"
+COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
+
+do_compile() {
+ SYSTEMD_BOOT_EFI_ARCH="ia32"
+ if [ "${TARGET_ARCH}" = "x86_64" ]; then
+ SYSTEMD_BOOT_EFI_ARCH="x64"
+ fi
+
+ oe_runmake systemd-boot${SYSTEMD_BOOT_EFI_ARCH}.efi
+}
+
+do_install() {
+ # Bypass systemd installation with a NOP
+ :
+}
+
+do_deploy () {
+ install ${B}/systemd-boot*.efi ${DEPLOYDIR}
+}
+addtask deploy before do_build after do_compile
diff --git a/meta/recipes-bsp/u-boot/files/default-gcc.patch b/meta/recipes-bsp/u-boot/files/default-gcc.patch
new file mode 100644
index 0000000000..04184df8b3
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/default-gcc.patch
@@ -0,0 +1,39 @@
+OE needs to be able to change the default compiler. If we pass in HOSTCC
+through the make command, it overwrites not only this setting but also the
+setting in tools/Makefile wrapped in ifneq ($(CROSS_BUILD_TOOLS),) which
+breaks the build.
+
+We therefore use override to ensure the value of HOSTCC is overwritten when
+needed.
+
+RP: Updated the patch to the version being submitted to upstream u-boot
+
+Upstream-Status: Submitted [emailed to Masahiro Yamada for discussion]
+RP 2017/3/11
+
+Index: git/tools/Makefile
+===================================================================
+--- git.orig/tools/Makefile
++++ git/tools/Makefile
+@@ -262,7 +262,7 @@ $(LICENSE_H): $(obj)/bin2header $(srctre
+ subdir- += env
+
+ ifneq ($(CROSS_BUILD_TOOLS),)
+-HOSTCC = $(CC)
++override HOSTCC = $(CC)
+
+ quiet_cmd_crosstools_strip = STRIP $^
+ cmd_crosstools_strip = $(STRIP) $^; touch $@
+Index: git/tools/env/Makefile
+===================================================================
+--- git.orig/tools/env/Makefile
++++ git/tools/env/Makefile
+@@ -8,7 +8,7 @@
+ # fw_printenv is supposed to run on the target system, which means it should be
+ # built with cross tools. Although it may look weird, we only replace "HOSTCC"
+ # with "CC" here for the maximum code reuse of scripts/Makefile.host.
+-HOSTCC = $(CC)
++override HOSTCC = $(CC)
+
+ # Compile for a hosted environment on the target
+ HOST_EXTRACFLAGS = $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \
diff --git a/meta/recipes-bsp/u-boot/u-boot-common_2017.01.inc b/meta/recipes-bsp/u-boot/u-boot-common_2017.01.inc
new file mode 100644
index 0000000000..df24c853dd
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/u-boot-common_2017.01.inc
@@ -0,0 +1,14 @@
+HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
+SECTION = "bootloaders"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
+PE = "1"
+
+# We use the revision in order to avoid having to fetch it from the
+# repo during parse
+SRCREV = "a705ebc81b7f91bbd0ef7c634284208342901149"
+
+SRC_URI = "git://git.denx.de/u-boot.git"
+
+S = "${WORKDIR}/git"
diff --git a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2017.01.bb
index 93c06e18c4..26314990b9 100644
--- a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb
+++ b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2017.01.bb
@@ -1,22 +1,12 @@
-SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
-SECTION = "bootloader"
-DEPENDS = "mtd-utils"
-
-# This revision corresponds to the tag "v2015.10"
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
-
-PV = "v2015.10+git${SRCPV}"
+require u-boot-common_${PV}.inc
-SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
+SRC_URI += "file://default-gcc.patch"
-S = "${WORKDIR}/git"
+SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
+DEPENDS = "mtd-utils"
INSANE_SKIP_${PN} = "already-stripped"
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" V=1'
EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
inherit uboot-config
@@ -40,10 +30,7 @@ do_install_class-cross () {
install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
}
-SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
-uboot_fw_utils_cross() {
- sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
-}
+SYSROOT_DIRS_append_class-cross = " ${bindir_cross}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
BBCLASSEXTEND = "cross"
diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb
deleted file mode 100644
index 301b6e2bec..0000000000
--- a/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "U-Boot bootloader image creation tool"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
-SECTION = "bootloader"
-
-DEPENDS = "openssl"
-
-# This revision corresponds to the tag "v2015.10"
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
-
-PV = "v2015.10+git${SRCPV}"
-
-SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" STRIP=true V=1'
-
-do_compile () {
- oe_runmake sandbox_defconfig
- oe_runmake cross_tools NO_SDL=1
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
- ln -sf uboot-mkimage ${D}${bindir}/mkimage
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb
new file mode 100644
index 0000000000..1aa95e7c86
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb
@@ -0,0 +1,29 @@
+require u-boot-common_${PV}.inc
+
+SRC_URI += "file://default-gcc.patch"
+
+SUMMARY = "U-Boot bootloader image creation tool"
+DEPENDS = "openssl"
+
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+EXTRA_OEMAKE_class-nativesdk = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+
+do_compile () {
+ oe_runmake sandbox_defconfig
+
+ # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
+ # generating it requires bin2header tool, which for target build
+ # is built with target tools and thus cannot be executed on host.
+ sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
+
+ oe_runmake cross_tools NO_SDL=1
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
+ ln -sf uboot-mkimage ${D}${bindir}/mkimage
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index e66ffd1458..aa21c0e556 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -1,18 +1,11 @@
SUMMARY = "Universal Boot Loader for embedded devices"
-HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
-SECTION = "bootloaders"
PROVIDES = "virtual/bootloader"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
-
-SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
-
-S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-inherit uboot-config deploy
+inherit uboot-config uboot-extlinux-config uboot-sign deploy
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1'
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
@@ -32,7 +25,6 @@ UBOOT_LOCALVERSION ?= ""
# but enable individual recipes to change this value.
UBOOT_SUFFIX ??= "bin"
UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
-UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
UBOOT_MAKE_TARGET ?= "all"
@@ -50,8 +42,9 @@ UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}"
# deploy directory. For those versions they can set the following variables
# to allow packaging the SPL.
SPL_BINARY ?= ""
-SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}"
-SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
+SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}"
+SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}"
+SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}"
# Additional environment variables or a script can be installed alongside
# u-boot to be used automatically on boot. This file, typically 'uEnv.txt'
@@ -64,9 +57,15 @@ UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
+# U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf
+# to find EXTLINUX conf file.
+UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
+UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf"
+UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}"
+
do_compile () {
- if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
- sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
+ sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
fi
unset LDFLAGS
@@ -78,41 +77,48 @@ do_compile () {
echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
fi
-
- if [ "x${UBOOT_CONFIG}" != "x" ]
+
+ if [ -n "${UBOOT_CONFIG}" ]
then
+ unset i j k
for config in ${UBOOT_MACHINE}; do
- i=`expr $i + 1`;
- for type in ${UBOOT_CONFIG}; do
- j=`expr $j + 1`;
+ i=$(expr $i + 1);
+ for type in ${UBOOT_CONFIG}; do
+ j=$(expr $j + 1);
if [ $j -eq $i ]
then
- oe_runmake O=${config} ${config}
- oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
- cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
+ oe_runmake -C ${S} O=${B}/${config} ${config}
+ oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
+ for binary in ${UBOOT_BINARIES}; do
+ k=$(expr $k + 1);
+ if [ $k -eq $i ]; then
+ cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
+ fi
+ done
+ unset k
fi
done
unset j
done
unset i
else
- oe_runmake ${UBOOT_MACHINE}
- oe_runmake ${UBOOT_MAKE_TARGET}
+ oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
+ oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
fi
}
do_install () {
- if [ "x${UBOOT_CONFIG}" != "x" ]
+ if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
- i=`expr $i + 1`;
+ i=$(expr $i + 1);
for type in ${UBOOT_CONFIG}; do
- j=`expr $j + 1`;
+ j=$(expr $j + 1);
if [ $j -eq $i ]
then
install -d ${D}/boot
- install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
+ install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
fi
@@ -122,21 +128,21 @@ do_install () {
unset i
else
install -d ${D}/boot
- install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
+ install -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
fi
- if [ "x${UBOOT_ELF}" != "x" ]
+ if [ -n "${UBOOT_ELF}" ]
then
- if [ "x${UBOOT_CONFIG}" != "x" ]
+ if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
- i=`expr $i + 1`;
+ i=$(expr $i + 1);
for type in ${UBOOT_CONFIG}; do
- j=`expr $j + 1`;
+ j=$(expr $j + 1);
if [ $j -eq $i ]
then
- install ${S}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
+ install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}
fi
@@ -145,7 +151,7 @@ do_install () {
done
unset i
else
- install ${S}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE}
+ install -m 644 ${B}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE}
ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY}
fi
fi
@@ -155,82 +161,86 @@ do_install () {
install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
fi
- if [ "x${SPL_BINARY}" != "x" ]
+ if [ -n "${SPL_BINARY}" ]
then
- if [ "x${UBOOT_CONFIG}" != "x" ]
+ if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
- i=`expr $i + 1`;
+ i=$(expr $i + 1);
for type in ${UBOOT_CONFIG}; do
- j=`expr $j + 1`;
+ j=$(expr $j + 1);
if [ $j -eq $i ]
then
- install ${S}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARY}-${type}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARY}
+ install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR}
+ ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}-${type}
+ ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}
fi
done
unset j
done
unset i
else
- install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
- ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
+ install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
+ ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME}
fi
fi
- if [ "x${UBOOT_ENV}" != "x" ]
+ if [ -n "${UBOOT_ENV}" ]
then
- install ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
+ install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY}
fi
+
+ if [ "${UBOOT_EXTLINUX}" = "1" ]
+ then
+ install -Dm 0644 ${UBOOT_EXTLINUX_CONFIG} ${D}/${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}
+ fi
+
}
FILES_${PN} = "/boot ${sysconfdir}"
-# Ensure the split debug part of any elf files are put into dbg
-FILES_${PN}-dbg += "/boot/.debug"
do_deploy () {
- if [ "x${UBOOT_CONFIG}" != "x" ]
+ if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
- i=`expr $i + 1`;
+ i=$(expr $i + 1);
for type in ${UBOOT_CONFIG}; do
- j=`expr $j + 1`;
+ j=$(expr $j + 1);
if [ $j -eq $i ]
then
install -d ${DEPLOYDIR}
- install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
+ install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
cd ${DEPLOYDIR}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
- fi
- done
+ fi
+ done
unset j
done
unset i
else
install -d ${DEPLOYDIR}
- install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
+ install -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
cd ${DEPLOYDIR}
rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
fi
- if [ "x${UBOOT_ELF}" != "x" ]
+ if [ -n "${UBOOT_ELF}" ]
then
- if [ "x${UBOOT_CONFIG}" != "x" ]
+ if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
- i=`expr $i + 1`;
+ i=$(expr $i + 1);
for type in ${UBOOT_CONFIG}; do
- j=`expr $j + 1`;
+ j=$(expr $j + 1);
if [ $j -eq $i ]
then
- install ${S}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
+ install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type}
@@ -241,27 +251,27 @@ do_deploy () {
done
unset i
else
- install ${S}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE}
+ install -m 644 ${B}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE}
ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
fi
fi
- if [ "x${SPL_BINARY}" != "x" ]
+ if [ -n "${SPL_BINARY}" ]
then
- if [ "x${UBOOT_CONFIG}" != "x" ]
+ if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
- i=`expr $i + 1`;
+ i=$(expr $i + 1);
for type in ${UBOOT_CONFIG}; do
- j=`expr $j + 1`;
+ j=$(expr $j + 1);
if [ $j -eq $i ]
then
- install ${S}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR}
- rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARY}-${type}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARY}
+ install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR}
+ rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
+ ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}
+ ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
@@ -270,21 +280,28 @@ do_deploy () {
done
unset i
else
- install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
- rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}
- ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
+ install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
+ rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}
+ ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME}
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
fi
- if [ "x${UBOOT_ENV}" != "x" ]
+ if [ -n "${UBOOT_ENV}" ]
then
- install ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
+ install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY}
ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
fi
+
+ if [ "${UBOOT_EXTLINUX}" = "1" ]
+ then
+ install -m 644 ${UBOOT_EXTLINUX_CONFIG} ${DEPLOYDIR}/${UBOOT_EXTLINUX_SYMLINK}
+ ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}
+ ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}
+ fi
}
-addtask deploy before do_build after do_compile
+addtask deploy before do_build after do_install
diff --git a/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch b/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch
deleted file mode 100644
index b709acf40a..0000000000
--- a/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From 47092c85a2d3dea6fb3ffa59ae6fe737112db93e Mon Sep 17 00:00:00 2001
-From: Zhenhua Luo <zhenhua.luo@freescale.com>
-Date: Mon, 9 Feb 2015 18:33:56 +0800
-Subject: [PATCH 1/6] powerpc/cpu/*/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_
- definition
-Organization: O.S. Systems Software LTDA.
-
-In binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbols defined by PROVIDE in
-u-boot.lds overrides the linker built-in symbols
-(https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=b893397a4b1316610f49819344817715e4305de9),
-so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into the .reloc section.
-
-To align with the change of binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbol
-should not be defined in sections, and the symbols in linker generated .got
-section should be used(https://sourceware.org/ml/binutils/2008-09/msg00122.html).
-
-Fixed the following build errors with binutils-2.25:
-| powerpc-poky-linux-gnuspe-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined in linker created .got
-
-Upstream-Status: Pending
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- arch/powerpc/cpu/mpc512x/u-boot.lds | 1 -
- arch/powerpc/cpu/mpc5xx/u-boot.lds | 1 -
- arch/powerpc/cpu/mpc5xxx/u-boot.lds | 1 -
- arch/powerpc/cpu/mpc8260/u-boot.lds | 1 -
- arch/powerpc/cpu/mpc83xx/u-boot-spl.lds | 1 -
- arch/powerpc/cpu/mpc83xx/u-boot.lds | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot-spl.lds | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot.lds | 1 -
- arch/powerpc/cpu/mpc86xx/u-boot.lds | 1 -
- arch/powerpc/cpu/ppc4xx/u-boot.lds | 1 -
- 12 files changed, 12 deletions(-)
-
-diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds
-index 9658b21..b32f74e 100644
---- a/arch/powerpc/cpu/mpc512x/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc512x/u-boot.lds
-@@ -24,7 +24,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- *(.fixup)
-diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds
-index 7198465..6a53571 100644
---- a/arch/powerpc/cpu/mpc5xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds
-@@ -33,7 +33,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
-index cd9e23f..aa80d3d 100644
---- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
-@@ -28,7 +28,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds
-index 50cbf85..469fc29 100644
---- a/arch/powerpc/cpu/mpc8260/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc8260/u-boot.lds
-@@ -27,7 +27,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
-index 774772b..4101eaf 100644
---- a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
-+++ b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
-@@ -24,7 +24,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-
-diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds
-index 3c177fa..dbd8bbe 100644
---- a/arch/powerpc/cpu/mpc83xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds
-@@ -26,7 +26,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-index f933b21..0399f93 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-@@ -44,7 +44,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-index b83c553..f044564 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-@@ -22,7 +22,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-index 5ae7b3e..889a4c2 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-@@ -29,7 +29,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
-index 2cf0b25..f15eaf3 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
-@@ -50,7 +50,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds
-index 58467c2..6c48f40 100644
---- a/arch/powerpc/cpu/mpc86xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds
-@@ -32,7 +32,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
-diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds
-index 1980508..55dd4e1 100644
---- a/arch/powerpc/cpu/ppc4xx/u-boot.lds
-+++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds
-@@ -46,7 +46,6 @@ SECTIONS
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
-- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
---
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch b/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch
deleted file mode 100644
index 0d1a714f4c..0000000000
--- a/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0a8c59720155c30f01d4cd1c53da3647a3f4decd Mon Sep 17 00:00:00 2001
-From: Tom Rini <trini@konsulko.com>
-Date: Tue, 27 Oct 2015 19:04:40 -0400
-Subject: [PATCH 2/6] image.c: Fix non-Android booting with ramdisk and/or
- device tree
-Organization: O.S. Systems Software LTDA.
-
-In 1fec3c5 I added a check that if we had an Android image we default to
-trying the kernel address for a ramdisk. However when we don't have an
-Android image buf is NULL and we oops here. Ensure that we have 'buf'
-to check first.
-
-Upstream-Status: Backport [2016.01]
-
-Reported-by: elipe Balbi <balbi@ti.com>
-Signed-off-by: Tom Rini <trini@konsulko.com>
----
- common/image.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/common/image.c b/common/image.c
-index e607109..85c4f39 100644
---- a/common/image.c
-+++ b/common/image.c
-@@ -913,7 +913,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
- * Look for an Android boot image.
- */
- buf = map_sysmem(images->os.start, 0);
-- if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
-+ if (buf && genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
- select = argv[0];
- #endif
-
---
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch b/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch
deleted file mode 100644
index 45d20b8a4b..0000000000
--- a/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From e5ebba40a3b8a1405e48d49dc873ffe2fa1963a1 Mon Sep 17 00:00:00 2001
-From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Date: Sun, 1 Nov 2015 17:36:13 +0100
-Subject: [PATCH 3/6] common/board_f: enable setup_board_part1() for MIPS
-Organization: O.S. Systems Software LTDA.
-
-The variables bd_t:bi_memstart and bd_t:bi_memsize have to be
-initialized also on MIPS. Otherwise LMB and cmd_bdinfo do not
-correctly work. This currently breaks the booting of FIT images
-on MIPS. Enable the board_init_f hook setup_board_part1()
-for MIPS to fix this.
-
-Upstream-Status: Backport [2016.01]
-
-Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Reviewed-by: Tom Rini <trini@konsulko.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
----
- common/board_f.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/common/board_f.c b/common/board_f.c
-index 613332e..33cc5c0 100644
---- a/common/board_f.c
-+++ b/common/board_f.c
-@@ -551,7 +551,7 @@ static int display_new_sp(void)
- return 0;
- }
-
--#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
-+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
- static int setup_board_part1(void)
- {
- bd_t *bd = gd->bd;
-@@ -580,7 +580,9 @@ static int setup_board_part1(void)
-
- return 0;
- }
-+#endif
-
-+#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
- static int setup_board_part2(void)
- {
- bd_t *bd = gd->bd;
-@@ -933,8 +935,10 @@ static init_fnc_t init_sequence_f[] = {
- reserve_stacks,
- setup_dram_config,
- show_dram_config,
--#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
-+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
- setup_board_part1,
-+#endif
-+#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
- INIT_FUNC_WATCHDOG_RESET
- setup_board_part2,
- #endif
---
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch b/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch
deleted file mode 100644
index 5692c6056c..0000000000
--- a/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From da9d99765476b10fe0a75140a2d4c1f284ffc333 Mon Sep 17 00:00:00 2001
-From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Date: Sun, 1 Nov 2015 17:36:14 +0100
-Subject: [PATCH 4/6] MIPS: bootm: rework and fix broken bootm code
-Organization: O.S. Systems Software LTDA.
-
-The move to 'generic board' as well as changes in the generic
-bootm code broke the boot of FIT uImage's. Especially uImage's
-with additional initramfs images or FDT's do not work anymore.
-
-Refactor the bootm code to work again with the generic bootm code.
-
-Always relocate ramdisk and FDT in step 'bootm prep' because the
-generic bootm code does this only for legacy uImage's.
-
-Move the step 'bootm cmdline' to 'bootm prep' because the Linux
-kernel parameters rd_start and rd_size have to be initialized after
-the relocation of the ramdisk.
-
-Furthermore support the step 'bootm fake'.
-
-Upstream-Status: Backport [2016.01]
-
-Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Reviewed-by: Tom Rini <trini@konsulko.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
----
- arch/mips/lib/bootm.c | 163 ++++++++++++++++++++++++--------------------------
- 1 file changed, 78 insertions(+), 85 deletions(-)
-
-diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
-index 9c647aa..a7eddd3 100644
---- a/arch/mips/lib/bootm.c
-+++ b/arch/mips/lib/bootm.c
-@@ -21,18 +21,6 @@ DECLARE_GLOBAL_DATA_PTR;
- #define mips_boot_malta 0
- #endif
-
--#if defined(CONFIG_MIPS_BOOT_CMDLINE_LEGACY)
--#define mips_boot_cmdline_legacy 1
--#else
--#define mips_boot_cmdline_legacy 0
--#endif
--
--#if defined(CONFIG_MIPS_BOOT_ENV_LEGACY)
--#define mips_boot_env_legacy 1
--#else
--#define mips_boot_env_legacy 0
--#endif
--
- static int linux_argc;
- static char **linux_argv;
- static char *linux_argp;
-@@ -62,50 +50,6 @@ void arch_lmb_reserve(struct lmb *lmb)
- lmb_reserve(lmb, sp, CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp);
- }
-
--static int boot_setup_linux(bootm_headers_t *images)
--{
-- int ret;
-- ulong rd_len;
--
-- rd_len = images->rd_end - images->rd_start;
-- ret = boot_ramdisk_high(&images->lmb, images->rd_start,
-- rd_len, &images->initrd_start, &images->initrd_end);
-- if (ret)
-- return ret;
--
--#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT)
-- if (images->ft_len) {
-- boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
--
-- ret = boot_relocate_fdt(&images->lmb, &images->ft_addr,
-- &images->ft_len);
-- if (ret)
-- return ret;
-- }
--#endif
--
-- return 0;
--}
--
--static void boot_setup_fdt(bootm_headers_t *images)
--{
--#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT)
-- u64 mem_start = 0;
-- u64 mem_size = gd->ram_size;
--
-- debug("## setup FDT\n");
--
-- fdt_chosen(images->ft_addr);
-- fdt_fixup_memory_banks(images->ft_addr, &mem_start, &mem_size, 1);
-- fdt_fixup_ethernet(images->ft_addr);
-- fdt_initrd(images->ft_addr, images->initrd_start, images->initrd_end);
--
--#if defined(CONFIG_OF_BOARD_SETUP)
-- ft_board_setup(images->ft_addr, gd->bd);
--#endif
--#endif
--}
--
- static void linux_cmdline_init(void)
- {
- linux_argc = 1;
-@@ -197,18 +141,6 @@ static void linux_cmdline_append(bootm_headers_t *images)
- }
- }
-
--static void boot_cmdline_linux(bootm_headers_t *images)
--{
-- if (mips_boot_cmdline_legacy && !images->ft_len) {
-- linux_cmdline_legacy(images);
--
-- if (!mips_boot_env_legacy)
-- linux_cmdline_append(images);
--
-- linux_cmdline_dump();
-- }
--}
--
- static void linux_env_init(void)
- {
- linux_env = (char **)(((ulong) linux_argp + 15) & ~15);
-@@ -288,13 +220,81 @@ static void linux_env_legacy(bootm_headers_t *images)
- }
- }
-
-+static int boot_reloc_ramdisk(bootm_headers_t *images)
-+{
-+ ulong rd_len = images->rd_end - images->rd_start;
-+
-+ /*
-+ * In case of legacy uImage's, relocation of ramdisk is already done
-+ * by do_bootm_states() and should not repeated in 'bootm prep'.
-+ */
-+ if (images->state & BOOTM_STATE_RAMDISK) {
-+ debug("## Ramdisk already relocated\n");
-+ return 0;
-+ }
-+
-+ return boot_ramdisk_high(&images->lmb, images->rd_start,
-+ rd_len, &images->initrd_start, &images->initrd_end);
-+}
-+
-+static int boot_reloc_fdt(bootm_headers_t *images)
-+{
-+ /*
-+ * In case of legacy uImage's, relocation of FDT is already done
-+ * by do_bootm_states() and should not repeated in 'bootm prep'.
-+ */
-+ if (images->state & BOOTM_STATE_FDT) {
-+ debug("## FDT already relocated\n");
-+ return 0;
-+ }
-+
-+#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
-+ boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
-+ return boot_relocate_fdt(&images->lmb, &images->ft_addr,
-+ &images->ft_len);
-+#else
-+ return 0;
-+#endif
-+}
-+
-+int arch_fixup_memory_node(void *blob)
-+{
-+#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
-+ u64 mem_start = 0;
-+ u64 mem_size = gd->ram_size;
-+
-+ return fdt_fixup_memory_banks(blob, &mem_start, &mem_size, 1);
-+#else
-+ return 0;
-+#endif
-+}
-+
-+static int boot_setup_fdt(bootm_headers_t *images)
-+{
-+ return image_setup_libfdt(images, images->ft_addr, images->ft_len,
-+ &images->lmb);
-+}
-+
- static void boot_prep_linux(bootm_headers_t *images)
- {
-- if (mips_boot_env_legacy && !images->ft_len)
-- linux_env_legacy(images);
-+ boot_reloc_ramdisk(images);
-
-- if (images->ft_len)
-+ if (CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && images->ft_len) {
-+ boot_reloc_fdt(images);
- boot_setup_fdt(images);
-+ } else {
-+ if (CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
-+ linux_env_legacy(images);
-+
-+ if (CONFIG_IS_ENABLED(MIPS_BOOT_CMDLINE_LEGACY)) {
-+ linux_cmdline_legacy(images);
-+
-+ if (!CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
-+ linux_cmdline_append(images);
-+
-+ linux_cmdline_dump();
-+ }
-+ }
- }
-
- static void boot_jump_linux(bootm_headers_t *images)
-@@ -327,35 +327,28 @@ static void boot_jump_linux(bootm_headers_t *images)
- int do_bootm_linux(int flag, int argc, char * const argv[],
- bootm_headers_t *images)
- {
-- int ret;
--
- /* No need for those on MIPS */
- if (flag & BOOTM_STATE_OS_BD_T)
- return -1;
-
-- if (flag & BOOTM_STATE_OS_CMDLINE) {
-- boot_cmdline_linux(images);
-+ /*
-+ * Cmdline init has been moved to 'bootm prep' because it has to be
-+ * done after relocation of ramdisk to always pass correct values
-+ * for rd_start and rd_size to Linux kernel.
-+ */
-+ if (flag & BOOTM_STATE_OS_CMDLINE)
- return 0;
-- }
-
- if (flag & BOOTM_STATE_OS_PREP) {
- boot_prep_linux(images);
- return 0;
- }
-
-- if (flag & BOOTM_STATE_OS_GO) {
-+ if (flag & (BOOTM_STATE_OS_GO | BOOTM_STATE_OS_FAKE_GO)) {
- boot_jump_linux(images);
- return 0;
- }
-
-- ret = boot_setup_linux(images);
-- if (ret)
-- return ret;
--
-- boot_cmdline_linux(images);
-- boot_prep_linux(images);
-- boot_jump_linux(images);
--
- /* does not return */
- return 1;
- }
---
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch b/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch
deleted file mode 100644
index 210ca4dae7..0000000000
--- a/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From ebaf1eda6f3b8a339837bc0dbcbb9002d751ab75 Mon Sep 17 00:00:00 2001
-From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Date: Sun, 1 Nov 2015 17:36:15 +0100
-Subject: [PATCH 5/6] MIPS: bootm: use CONFIG_IS_ENABLED() everywhere
-Organization: O.S. Systems Software LTDA.
-
-Upstream-Status: Backport [2016.01]
-
-Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Reviewed-by: Tom Rini <trini@konsulko.com>
----
- arch/mips/lib/bootm.c | 33 ++++++++++++++-------------------
- 1 file changed, 14 insertions(+), 19 deletions(-)
-
-diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
-index a7eddd3..eed159c 100644
---- a/arch/mips/lib/bootm.c
-+++ b/arch/mips/lib/bootm.c
-@@ -15,12 +15,6 @@ DECLARE_GLOBAL_DATA_PTR;
- #define LINUX_MAX_ENVS 256
- #define LINUX_MAX_ARGS 256
-
--#if defined(CONFIG_MALTA)
--#define mips_boot_malta 1
--#else
--#define mips_boot_malta 0
--#endif
--
- static int linux_argc;
- static char **linux_argv;
- static char *linux_argp;
-@@ -157,7 +151,7 @@ static void linux_env_set(const char *env_name, const char *env_val)
- strcpy(linux_env_p, env_name);
- linux_env_p += strlen(env_name);
-
-- if (mips_boot_malta) {
-+ if (CONFIG_IS_ENABLED(MALTA)) {
- linux_env_p++;
- linux_env[++linux_env_idx] = linux_env_p;
- } else {
-@@ -178,14 +172,15 @@ static void linux_env_legacy(bootm_headers_t *images)
- const char *cp;
- ulong rd_start, rd_size;
-
--#ifdef CONFIG_MEMSIZE_IN_BYTES
-- sprintf(env_buf, "%lu", (ulong)gd->ram_size);
-- debug("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size);
--#else
-- sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
-- debug("## Giving linux memsize in MB, %lu\n",
-- (ulong)(gd->ram_size >> 20));
--#endif /* CONFIG_MEMSIZE_IN_BYTES */
-+ if (CONFIG_IS_ENABLED(MEMSIZE_IN_BYTES)) {
-+ sprintf(env_buf, "%lu", (ulong)gd->ram_size);
-+ debug("## Giving linux memsize in bytes, %lu\n",
-+ (ulong)gd->ram_size);
-+ } else {
-+ sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
-+ debug("## Giving linux memsize in MB, %lu\n",
-+ (ulong)(gd->ram_size >> 20));
-+ }
-
- rd_start = UNCACHED_SDRAM(images->initrd_start);
- rd_size = images->initrd_end - images->initrd_start;
-@@ -214,7 +209,7 @@ static void linux_env_legacy(bootm_headers_t *images)
- if (cp)
- linux_env_set("eth1addr", cp);
-
-- if (mips_boot_malta) {
-+ if (CONFIG_IS_ENABLED(MALTA)) {
- sprintf(env_buf, "%un8r", gd->baudrate);
- linux_env_set("modetty0", env_buf);
- }
-@@ -307,13 +302,13 @@ static void boot_jump_linux(bootm_headers_t *images)
-
- bootstage_mark(BOOTSTAGE_ID_RUN_OS);
-
-- if (mips_boot_malta)
-+ if (CONFIG_IS_ENABLED(MALTA))
- linux_extra = gd->ram_size;
-
--#ifdef CONFIG_BOOTSTAGE_FDT
-+#if CONFIG_IS_ENABLED(BOOTSTAGE_FDT)
- bootstage_fdt_add_report();
- #endif
--#ifdef CONFIG_BOOTSTAGE_REPORT
-+#if CONFIG_IS_ENABLED(BOOTSTAGE_REPORT)
- bootstage_report();
- #endif
-
---
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch b/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch
deleted file mode 100644
index 52ef687cc6..0000000000
--- a/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch
+++ /dev/null
@@ -1,1184 +0,0 @@
-From 69ce393f6ef57a8a0029df78dbdc9f9def2dbb8c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= <mans@mansr.com>
-Date: Fri, 6 Nov 2015 12:44:01 +0000
-Subject: [PATCH 6/6] Replace "extern inline" with "static inline"
-Organization: O.S. Systems Software LTDA.
-
-A number of headers define functions as "extern inline" which is
-causing problems with gcc5. The reason is that starting with
-version 5.1, gcc defaults to the standard C99 semantics for the
-inline keyword.
-
-Under the traditional GNU inline semantics, an "extern inline"
-function would never create an external definition, the same
-as inline *without* extern in C99. In C99, and "extern inline"
-definition is simply an external definition with an inline hint.
-In short, the meanings of inline with and without extern are
-swapped between GNU and C99.
-
-The upshot is that all these definitions in header files create
-an external definition wherever those headers are included,
-resulting in multiple definition errors at link time.
-
-Changing all these functions to "static inline" fixes the problem
-since this works as desired in all gcc versions. Although the
-semantics are slightly different (a static inline definition may
-result in an actual function being emitted), it works as intended
-in practice.
-
-This patch also removes extern prototype declarations for the
-changed functions where they existed.
-
-Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/540952/]
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- arch/blackfin/include/asm/delay.h | 4 +--
- arch/m68k/include/asm/bitops.h | 5 ++--
- arch/m68k/include/asm/byteorder.h | 8 +++---
- arch/m68k/include/asm/io.h | 40 ++++++++++++++---------------
- arch/powerpc/include/asm/atomic.h | 8 +++---
- arch/powerpc/include/asm/bitops.h | 35 ++++++++++---------------
- arch/powerpc/include/asm/byteorder.h | 8 +++---
- arch/powerpc/include/asm/io.h | 20 +++++++--------
- arch/powerpc/include/asm/iopin_8260.h | 40 ++++++++++++++---------------
- arch/powerpc/include/asm/iopin_8xx.h | 48 +++++++++++++++++------------------
- arch/sparc/include/asm/irq.h | 4 +--
- arch/sparc/include/asm/psr.h | 6 ++---
- arch/sparc/include/asm/srmmu.h | 30 +++++++++++-----------
- include/mpc8260.h | 2 +-
- 14 files changed, 125 insertions(+), 133 deletions(-)
-
-diff --git a/arch/blackfin/include/asm/delay.h b/arch/blackfin/include/asm/delay.h
-index 97401a7..f146efd 100644
---- a/arch/blackfin/include/asm/delay.h
-+++ b/arch/blackfin/include/asm/delay.h
-@@ -16,7 +16,7 @@
- * Delay routines, using a pre-computed "loops_per_second" value.
- */
-
--extern __inline__ void __delay(unsigned long loops)
-+static __inline__ void __delay(unsigned long loops)
- {
- __asm__ __volatile__("1:\t%0 += -1;\n\t"
- "cc = %0 == 0;\n\t"
-@@ -31,7 +31,7 @@ extern __inline__ void __delay(unsigned long loops)
- * first constant multiplications gets optimized away if the delay is
- * a constant)
- */
--extern __inline__ void __udelay(unsigned long usecs)
-+static __inline__ void __udelay(unsigned long usecs)
- {
- __delay(usecs);
- }
-diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h
-index f9c434b..6b79a0d 100644
---- a/arch/m68k/include/asm/bitops.h
-+++ b/arch/m68k/include/asm/bitops.h
-@@ -10,21 +10,20 @@
- extern void set_bit(int nr, volatile void *addr);
- extern void clear_bit(int nr, volatile void *addr);
- extern void change_bit(int nr, volatile void *addr);
--extern int test_and_set_bit(int nr, volatile void *addr);
- extern int test_and_clear_bit(int nr, volatile void *addr);
- extern int test_and_change_bit(int nr, volatile void *addr);
-
- #ifdef __KERNEL__
-
-
--extern inline int test_bit(int nr, __const__ volatile void *addr)
-+static inline int test_bit(int nr, __const__ volatile void *addr)
- {
- __const__ unsigned int *p = (__const__ unsigned int *) addr;
-
- return (p[nr >> 5] & (1UL << (nr & 31))) != 0;
- }
-
--extern inline int test_and_set_bit(int nr, volatile void *vaddr)
-+static inline int test_and_set_bit(int nr, volatile void *vaddr)
- {
- char retval;
-
-diff --git a/arch/m68k/include/asm/byteorder.h b/arch/m68k/include/asm/byteorder.h
-index 908a99b..7244b75 100644
---- a/arch/m68k/include/asm/byteorder.h
-+++ b/arch/m68k/include/asm/byteorder.h
-@@ -22,25 +22,25 @@
- (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \
- (((__u32)(x)) >> 24) ))
-
--extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
-+static __inline__ unsigned ld_le16(const volatile unsigned short *addr)
- {
- unsigned result = *addr;
- return __sw16(result);
- }
-
--extern __inline__ void st_le16(volatile unsigned short *addr,
-+static __inline__ void st_le16(volatile unsigned short *addr,
- const unsigned val)
- {
- *addr = __sw16(val);
- }
-
--extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
-+static __inline__ unsigned ld_le32(const volatile unsigned *addr)
- {
- unsigned result = *addr;
- return __sw32(result);
- }
-
--extern __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
-+static __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
- {
- *addr = __sw32(val);
- }
-diff --git a/arch/m68k/include/asm/io.h b/arch/m68k/include/asm/io.h
-index 2d2a519..384308b 100644
---- a/arch/m68k/include/asm/io.h
-+++ b/arch/m68k/include/asm/io.h
-@@ -67,28 +67,28 @@
-
- #define mb() __asm__ __volatile__ ("" : : : "memory")
-
--extern inline void _insb(volatile u8 * port, void *buf, int ns)
-+static inline void _insb(volatile u8 * port, void *buf, int ns)
- {
- u8 *data = (u8 *) buf;
- while (ns--)
- *data++ = *port;
- }
-
--extern inline void _outsb(volatile u8 * port, const void *buf, int ns)
-+static inline void _outsb(volatile u8 * port, const void *buf, int ns)
- {
- u8 *data = (u8 *) buf;
- while (ns--)
- *port = *data++;
- }
-
--extern inline void _insw(volatile u16 * port, void *buf, int ns)
-+static inline void _insw(volatile u16 * port, void *buf, int ns)
- {
- u16 *data = (u16 *) buf;
- while (ns--)
- *data++ = __sw16(*port);
- }
-
--extern inline void _outsw(volatile u16 * port, const void *buf, int ns)
-+static inline void _outsw(volatile u16 * port, const void *buf, int ns)
- {
- u16 *data = (u16 *) buf;
- while (ns--) {
-@@ -97,14 +97,14 @@ extern inline void _outsw(volatile u16 * port, const void *buf, int ns)
- }
- }
-
--extern inline void _insl(volatile u32 * port, void *buf, int nl)
-+static inline void _insl(volatile u32 * port, void *buf, int nl)
- {
- u32 *data = (u32 *) buf;
- while (nl--)
- *data++ = __sw32(*port);
- }
-
--extern inline void _outsl(volatile u32 * port, const void *buf, int nl)
-+static inline void _outsl(volatile u32 * port, const void *buf, int nl)
- {
- u32 *data = (u32 *) buf;
- while (nl--) {
-@@ -113,14 +113,14 @@ extern inline void _outsl(volatile u32 * port, const void *buf, int nl)
- }
- }
-
--extern inline void _insw_ns(volatile u16 * port, void *buf, int ns)
-+static inline void _insw_ns(volatile u16 * port, void *buf, int ns)
- {
- u16 *data = (u16 *) buf;
- while (ns--)
- *data++ = *port;
- }
-
--extern inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
-+static inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
- {
- u16 *data = (u16 *) buf;
- while (ns--) {
-@@ -128,14 +128,14 @@ extern inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
- }
- }
-
--extern inline void _insl_ns(volatile u32 * port, void *buf, int nl)
-+static inline void _insl_ns(volatile u32 * port, void *buf, int nl)
- {
- u32 *data = (u32 *) buf;
- while (nl--)
- *data++ = *port;
- }
-
--extern inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
-+static inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
- {
- u32 *data = (u32 *) buf;
- while (nl--) {
-@@ -159,52 +159,52 @@ extern inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
- /*
- * 8, 16 and 32 bit, big and little endian I/O operations, with barrier.
- */
--extern inline int in_8(volatile u8 * addr)
-+static inline int in_8(volatile u8 * addr)
- {
- return (int)*addr;
- }
-
--extern inline void out_8(volatile u8 * addr, int val)
-+static inline void out_8(volatile u8 * addr, int val)
- {
- *addr = (u8) val;
- }
-
--extern inline int in_le16(volatile u16 * addr)
-+static inline int in_le16(volatile u16 * addr)
- {
- return __sw16(*addr);
- }
-
--extern inline int in_be16(volatile u16 * addr)
-+static inline int in_be16(volatile u16 * addr)
- {
- return (*addr & 0xFFFF);
- }
-
--extern inline void out_le16(volatile u16 * addr, int val)
-+static inline void out_le16(volatile u16 * addr, int val)
- {
- *addr = __sw16(val);
- }
-
--extern inline void out_be16(volatile u16 * addr, int val)
-+static inline void out_be16(volatile u16 * addr, int val)
- {
- *addr = (u16) val;
- }
-
--extern inline unsigned in_le32(volatile u32 * addr)
-+static inline unsigned in_le32(volatile u32 * addr)
- {
- return __sw32(*addr);
- }
-
--extern inline unsigned in_be32(volatile u32 * addr)
-+static inline unsigned in_be32(volatile u32 * addr)
- {
- return (*addr);
- }
-
--extern inline void out_le32(volatile unsigned *addr, int val)
-+static inline void out_le32(volatile unsigned *addr, int val)
- {
- *addr = __sw32(val);
- }
-
--extern inline void out_be32(volatile unsigned *addr, int val)
-+static inline void out_be32(volatile unsigned *addr, int val)
- {
- *addr = val;
- }
-diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
-index 43a2bb2..87efcca 100644
---- a/arch/powerpc/include/asm/atomic.h
-+++ b/arch/powerpc/include/asm/atomic.h
-@@ -19,7 +19,7 @@ typedef struct { int counter; } atomic_t;
- extern void atomic_clear_mask(unsigned long mask, unsigned long *addr);
- extern void atomic_set_mask(unsigned long mask, unsigned long *addr);
-
--extern __inline__ int atomic_add_return(int a, atomic_t *v)
-+static __inline__ int atomic_add_return(int a, atomic_t *v)
- {
- int t;
-
-@@ -35,7 +35,7 @@ extern __inline__ int atomic_add_return(int a, atomic_t *v)
- return t;
- }
-
--extern __inline__ int atomic_sub_return(int a, atomic_t *v)
-+static __inline__ int atomic_sub_return(int a, atomic_t *v)
- {
- int t;
-
-@@ -51,7 +51,7 @@ extern __inline__ int atomic_sub_return(int a, atomic_t *v)
- return t;
- }
-
--extern __inline__ int atomic_inc_return(atomic_t *v)
-+static __inline__ int atomic_inc_return(atomic_t *v)
- {
- int t;
-
-@@ -67,7 +67,7 @@ extern __inline__ int atomic_inc_return(atomic_t *v)
- return t;
- }
-
--extern __inline__ int atomic_dec_return(atomic_t *v)
-+static __inline__ int atomic_dec_return(atomic_t *v)
- {
- int t;
-
-diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h
-index a6bcf3c..986ca96 100644
---- a/arch/powerpc/include/asm/bitops.h
-+++ b/arch/powerpc/include/asm/bitops.h
-@@ -7,13 +7,6 @@
-
- #include <asm/byteorder.h>
-
--extern void set_bit(int nr, volatile void *addr);
--extern void clear_bit(int nr, volatile void *addr);
--extern void change_bit(int nr, volatile void *addr);
--extern int test_and_set_bit(int nr, volatile void *addr);
--extern int test_and_clear_bit(int nr, volatile void *addr);
--extern int test_and_change_bit(int nr, volatile void *addr);
--
- /*
- * Arguably these bit operations don't imply any memory barrier or
- * SMP ordering, but in fact a lot of drivers expect them to imply
-@@ -34,7 +27,7 @@ extern int test_and_change_bit(int nr, volatile void *addr);
- * These used to be if'd out here because using : "cc" as a constraint
- * resulted in errors from egcs. Things may be OK with gcc-2.95.
- */
--extern __inline__ void set_bit(int nr, volatile void * addr)
-+static __inline__ void set_bit(int nr, volatile void * addr)
- {
- unsigned long old;
- unsigned long mask = 1 << (nr & 0x1f);
-@@ -51,7 +44,7 @@ extern __inline__ void set_bit(int nr, volatile void * addr)
- : "cc" );
- }
-
--extern __inline__ void clear_bit(int nr, volatile void *addr)
-+static __inline__ void clear_bit(int nr, volatile void *addr)
- {
- unsigned long old;
- unsigned long mask = 1 << (nr & 0x1f);
-@@ -68,7 +61,7 @@ extern __inline__ void clear_bit(int nr, volatile void *addr)
- : "cc");
- }
-
--extern __inline__ void change_bit(int nr, volatile void *addr)
-+static __inline__ void change_bit(int nr, volatile void *addr)
- {
- unsigned long old;
- unsigned long mask = 1 << (nr & 0x1f);
-@@ -85,7 +78,7 @@ extern __inline__ void change_bit(int nr, volatile void *addr)
- : "cc");
- }
-
--extern __inline__ int test_and_set_bit(int nr, volatile void *addr)
-+static __inline__ int test_and_set_bit(int nr, volatile void *addr)
- {
- unsigned int old, t;
- unsigned int mask = 1 << (nr & 0x1f);
-@@ -104,7 +97,7 @@ extern __inline__ int test_and_set_bit(int nr, volatile void *addr)
- return (old & mask) != 0;
- }
-
--extern __inline__ int test_and_clear_bit(int nr, volatile void *addr)
-+static __inline__ int test_and_clear_bit(int nr, volatile void *addr)
- {
- unsigned int old, t;
- unsigned int mask = 1 << (nr & 0x1f);
-@@ -123,7 +116,7 @@ extern __inline__ int test_and_clear_bit(int nr, volatile void *addr)
- return (old & mask) != 0;
- }
-
--extern __inline__ int test_and_change_bit(int nr, volatile void *addr)
-+static __inline__ int test_and_change_bit(int nr, volatile void *addr)
- {
- unsigned int old, t;
- unsigned int mask = 1 << (nr & 0x1f);
-@@ -143,7 +136,7 @@ extern __inline__ int test_and_change_bit(int nr, volatile void *addr)
- }
- #endif /* __INLINE_BITOPS */
-
--extern __inline__ int test_bit(int nr, __const__ volatile void *addr)
-+static __inline__ int test_bit(int nr, __const__ volatile void *addr)
- {
- __const__ unsigned int *p = (__const__ unsigned int *) addr;
-
-@@ -152,7 +145,7 @@ extern __inline__ int test_bit(int nr, __const__ volatile void *addr)
-
- /* Return the bit position of the most significant 1 bit in a word */
- /* - the result is undefined when x == 0 */
--extern __inline__ int __ilog2(unsigned int x)
-+static __inline__ int __ilog2(unsigned int x)
- {
- int lz;
-
-@@ -160,7 +153,7 @@ extern __inline__ int __ilog2(unsigned int x)
- return 31 - lz;
- }
-
--extern __inline__ int ffz(unsigned int x)
-+static __inline__ int ffz(unsigned int x)
- {
- if ((x = ~x) == 0)
- return 32;
-@@ -226,7 +219,7 @@ static inline int ffs64(u64 x)
- * the libc and compiler builtin ffs routines, therefore
- * differs in spirit from the above ffz (man ffs).
- */
--extern __inline__ int ffs(int x)
-+static __inline__ int ffs(int x)
- {
- return __ilog2(x & -x) + 1;
- }
-@@ -250,7 +243,7 @@ extern __inline__ int ffs(int x)
- #define find_first_zero_bit(addr, size) \
- find_next_zero_bit((addr), (size), 0)
-
--extern __inline__ unsigned long find_next_zero_bit(void * addr,
-+static __inline__ unsigned long find_next_zero_bit(void * addr,
- unsigned long size, unsigned long offset)
- {
- unsigned int * p = ((unsigned int *) addr) + (offset >> 5);
-@@ -298,7 +291,7 @@ found_middle:
- #define ext2_clear_bit(nr, addr) test_and_clear_bit((nr) ^ 0x18, addr)
-
- #else
--extern __inline__ int ext2_set_bit(int nr, void * addr)
-+static __inline__ int ext2_set_bit(int nr, void * addr)
- {
- int mask;
- unsigned char *ADDR = (unsigned char *) addr;
-@@ -311,7 +304,7 @@ extern __inline__ int ext2_set_bit(int nr, void * addr)
- return oldbit;
- }
-
--extern __inline__ int ext2_clear_bit(int nr, void * addr)
-+static __inline__ int ext2_clear_bit(int nr, void * addr)
- {
- int mask;
- unsigned char *ADDR = (unsigned char *) addr;
-@@ -325,7 +318,7 @@ extern __inline__ int ext2_clear_bit(int nr, void * addr)
- }
- #endif /* __KERNEL__ */
-
--extern __inline__ int ext2_test_bit(int nr, __const__ void * addr)
-+static __inline__ int ext2_test_bit(int nr, __const__ void * addr)
- {
- __const__ unsigned char *ADDR = (__const__ unsigned char *) addr;
-
-diff --git a/arch/powerpc/include/asm/byteorder.h b/arch/powerpc/include/asm/byteorder.h
-index 3f5bcf6..f731d18 100644
---- a/arch/powerpc/include/asm/byteorder.h
-+++ b/arch/powerpc/include/asm/byteorder.h
-@@ -5,7 +5,7 @@
-
- #ifdef __GNUC__
-
--extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
-+static __inline__ unsigned ld_le16(const volatile unsigned short *addr)
- {
- unsigned val;
-
-@@ -13,12 +13,12 @@ extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
- return val;
- }
-
--extern __inline__ void st_le16(volatile unsigned short *addr, const unsigned val)
-+static __inline__ void st_le16(volatile unsigned short *addr, const unsigned val)
- {
- __asm__ __volatile__ ("sthbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
- }
-
--extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
-+static __inline__ unsigned ld_le32(const volatile unsigned *addr)
- {
- unsigned val;
-
-@@ -26,7 +26,7 @@ extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
- return val;
- }
-
--extern __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
-+static __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
- {
- __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
- }
-diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h
-index a5257e9..a54fc46 100644
---- a/arch/powerpc/include/asm/io.h
-+++ b/arch/powerpc/include/asm/io.h
-@@ -163,7 +163,7 @@ static inline void __raw_writel(unsigned int v, volatile void __iomem *addr)
- * is actually performed (i.e. the data has come back) before we start
- * executing any following instructions.
- */
--extern inline u8 in_8(const volatile unsigned char __iomem *addr)
-+static inline u8 in_8(const volatile unsigned char __iomem *addr)
- {
- u8 ret;
-
-@@ -174,7 +174,7 @@ extern inline u8 in_8(const volatile unsigned char __iomem *addr)
- return ret;
- }
-
--extern inline void out_8(volatile unsigned char __iomem *addr, u8 val)
-+static inline void out_8(volatile unsigned char __iomem *addr, u8 val)
- {
- __asm__ __volatile__("sync;\n"
- "stb%U0%X0 %1,%0;\n"
-@@ -182,7 +182,7 @@ extern inline void out_8(volatile unsigned char __iomem *addr, u8 val)
- : "r" (val));
- }
-
--extern inline u16 in_le16(const volatile unsigned short __iomem *addr)
-+static inline u16 in_le16(const volatile unsigned short __iomem *addr)
- {
- u16 ret;
-
-@@ -193,7 +193,7 @@ extern inline u16 in_le16(const volatile unsigned short __iomem *addr)
- return ret;
- }
-
--extern inline u16 in_be16(const volatile unsigned short __iomem *addr)
-+static inline u16 in_be16(const volatile unsigned short __iomem *addr)
- {
- u16 ret;
-
-@@ -203,18 +203,18 @@ extern inline u16 in_be16(const volatile unsigned short __iomem *addr)
- return ret;
- }
-
--extern inline void out_le16(volatile unsigned short __iomem *addr, u16 val)
-+static inline void out_le16(volatile unsigned short __iomem *addr, u16 val)
- {
- __asm__ __volatile__("sync; sthbrx %1,0,%2" : "=m" (*addr) :
- "r" (val), "r" (addr));
- }
-
--extern inline void out_be16(volatile unsigned short __iomem *addr, u16 val)
-+static inline void out_be16(volatile unsigned short __iomem *addr, u16 val)
- {
- __asm__ __volatile__("sync; sth%U0%X0 %1,%0" : "=m" (*addr) : "r" (val));
- }
-
--extern inline u32 in_le32(const volatile unsigned __iomem *addr)
-+static inline u32 in_le32(const volatile unsigned __iomem *addr)
- {
- u32 ret;
-
-@@ -225,7 +225,7 @@ extern inline u32 in_le32(const volatile unsigned __iomem *addr)
- return ret;
- }
-
--extern inline u32 in_be32(const volatile unsigned __iomem *addr)
-+static inline u32 in_be32(const volatile unsigned __iomem *addr)
- {
- u32 ret;
-
-@@ -235,13 +235,13 @@ extern inline u32 in_be32(const volatile unsigned __iomem *addr)
- return ret;
- }
-
--extern inline void out_le32(volatile unsigned __iomem *addr, u32 val)
-+static inline void out_le32(volatile unsigned __iomem *addr, u32 val)
- {
- __asm__ __volatile__("sync; stwbrx %1,0,%2" : "=m" (*addr) :
- "r" (val), "r" (addr));
- }
-
--extern inline void out_be32(volatile unsigned __iomem *addr, u32 val)
-+static inline void out_be32(volatile unsigned __iomem *addr, u32 val)
- {
- __asm__ __volatile__("sync; stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val));
- }
-diff --git a/arch/powerpc/include/asm/iopin_8260.h b/arch/powerpc/include/asm/iopin_8260.h
-index 619f3a8..617584d 100644
---- a/arch/powerpc/include/asm/iopin_8260.h
-+++ b/arch/powerpc/include/asm/iopin_8260.h
-@@ -23,140 +23,140 @@ iopin_t;
- #define IOPIN_PORTC 2
- #define IOPIN_PORTD 3
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_high(iopin_t *iopin)
- {
- volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
- datp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_low(iopin_t *iopin)
- {
- volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
- datp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_high(iopin_t *iopin)
- {
- volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
- return (datp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_low(iopin_t *iopin)
- {
- volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
- return ((datp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_out(iopin_t *iopin)
- {
- volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
- dirp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_in(iopin_t *iopin)
- {
- volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
- dirp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_out(iopin_t *iopin)
- {
- volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
- return (dirp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_in(iopin_t *iopin)
- {
- volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
- return ((dirp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_odr(iopin_t *iopin)
- {
- volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
- odrp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_act(iopin_t *iopin)
- {
- volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
- odrp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_odr(iopin_t *iopin)
- {
- volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
- return (odrp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_act(iopin_t *iopin)
- {
- volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
- return ((odrp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_ded(iopin_t *iopin)
- {
- volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
- parp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_gen(iopin_t *iopin)
- {
- volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
- parp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_ded(iopin_t *iopin)
- {
- volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
- return (parp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_gen(iopin_t *iopin)
- {
- volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
- return ((parp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_opt2(iopin_t *iopin)
- {
- volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
- sorp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_opt1(iopin_t *iopin)
- {
- volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
- sorp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_opt2(iopin_t *iopin)
- {
- volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
- return (sorp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_opt1(iopin_t *iopin)
- {
- volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
-diff --git a/arch/powerpc/include/asm/iopin_8xx.h b/arch/powerpc/include/asm/iopin_8xx.h
-index 0123baf..8db0fa2 100644
---- a/arch/powerpc/include/asm/iopin_8xx.h
-+++ b/arch/powerpc/include/asm/iopin_8xx.h
-@@ -26,7 +26,7 @@ typedef struct {
- #define IOPIN_PORTC 2
- #define IOPIN_PORTD 3
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_high(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -44,7 +44,7 @@ iopin_set_high(iopin_t *iopin)
- }
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_low(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -62,7 +62,7 @@ iopin_set_low(iopin_t *iopin)
- }
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_high(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -81,7 +81,7 @@ iopin_is_high(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_low(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -100,7 +100,7 @@ iopin_is_low(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_out(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -118,7 +118,7 @@ iopin_set_out(iopin_t *iopin)
- }
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_in(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -136,7 +136,7 @@ iopin_set_in(iopin_t *iopin)
- }
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_out(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -155,7 +155,7 @@ iopin_is_out(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_in(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -174,7 +174,7 @@ iopin_is_in(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_odr(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -186,7 +186,7 @@ iopin_set_odr(iopin_t *iopin)
- }
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_act(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -198,7 +198,7 @@ iopin_set_act(iopin_t *iopin)
- }
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_odr(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -211,7 +211,7 @@ iopin_is_odr(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_act(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -224,7 +224,7 @@ iopin_is_act(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_ded(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -242,7 +242,7 @@ iopin_set_ded(iopin_t *iopin)
- }
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_gen(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -260,7 +260,7 @@ iopin_set_gen(iopin_t *iopin)
- }
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_ded(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -279,7 +279,7 @@ iopin_is_ded(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_gen(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTA) {
-@@ -298,7 +298,7 @@ iopin_is_gen(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_opt2(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTC) {
-@@ -307,7 +307,7 @@ iopin_set_opt2(iopin_t *iopin)
- }
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_opt1(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTC) {
-@@ -316,7 +316,7 @@ iopin_set_opt1(iopin_t *iopin)
- }
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_opt2(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTC) {
-@@ -326,7 +326,7 @@ iopin_is_opt2(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_opt1(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTC) {
-@@ -336,7 +336,7 @@ iopin_is_opt1(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_falledge(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTC) {
-@@ -345,7 +345,7 @@ iopin_set_falledge(iopin_t *iopin)
- }
- }
-
--extern __inline__ void
-+static __inline__ void
- iopin_set_anyedge(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTC) {
-@@ -354,7 +354,7 @@ iopin_set_anyedge(iopin_t *iopin)
- }
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_falledge(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTC) {
-@@ -364,7 +364,7 @@ iopin_is_falledge(iopin_t *iopin)
- return 0;
- }
-
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_anyedge(iopin_t *iopin)
- {
- if (iopin->port == IOPIN_PORTC) {
-diff --git a/arch/sparc/include/asm/irq.h b/arch/sparc/include/asm/irq.h
-index bbe0204..2faf7a0 100644
---- a/arch/sparc/include/asm/irq.h
-+++ b/arch/sparc/include/asm/irq.h
-@@ -12,7 +12,7 @@
- #include <asm/psr.h>
-
- /* Set SPARC Processor Interrupt Level */
--extern inline void set_pil(unsigned int level)
-+static inline void set_pil(unsigned int level)
- {
- unsigned int psr = get_psr();
-
-@@ -20,7 +20,7 @@ extern inline void set_pil(unsigned int level)
- }
-
- /* Get SPARC Processor Interrupt Level */
--extern inline unsigned int get_pil(void)
-+static inline unsigned int get_pil(void)
- {
- unsigned int psr = get_psr();
- return (psr & PSR_PIL) >> PSR_PIL_OFS;
-diff --git a/arch/sparc/include/asm/psr.h b/arch/sparc/include/asm/psr.h
-index 70af8e0..a91bdc9 100644
---- a/arch/sparc/include/asm/psr.h
-+++ b/arch/sparc/include/asm/psr.h
-@@ -42,7 +42,7 @@
-
- #ifndef __ASSEMBLY__
- /* Get the %psr register. */
--extern __inline__ unsigned int get_psr(void)
-+static __inline__ unsigned int get_psr(void)
- {
- unsigned int psr;
- __asm__ __volatile__("rd %%psr, %0\n\t"
-@@ -53,7 +53,7 @@ extern __inline__ unsigned int get_psr(void)
- return psr;
- }
-
--extern __inline__ void put_psr(unsigned int new_psr)
-+static __inline__ void put_psr(unsigned int new_psr)
- {
- __asm__ __volatile__("wr %0, 0x0, %%psr\n\t" "nop\n\t" "nop\n\t" "nop\n\t": /* no outputs */
- :"r"(new_psr)
-@@ -67,7 +67,7 @@ extern __inline__ void put_psr(unsigned int new_psr)
-
- extern unsigned int fsr_storage;
-
--extern __inline__ unsigned int get_fsr(void)
-+static __inline__ unsigned int get_fsr(void)
- {
- unsigned int fsr = 0;
-
-diff --git a/arch/sparc/include/asm/srmmu.h b/arch/sparc/include/asm/srmmu.h
-index 74b1554..8da2f67 100644
---- a/arch/sparc/include/asm/srmmu.h
-+++ b/arch/sparc/include/asm/srmmu.h
-@@ -148,7 +148,7 @@ extern void *srmmu_nocache_pool;
- #define __nocache_fix(VADDR) __va(__nocache_pa(VADDR))
-
- /* Accessing the MMU control register. */
--extern __inline__ unsigned int srmmu_get_mmureg(void)
-+static __inline__ unsigned int srmmu_get_mmureg(void)
- {
- unsigned int retval;
- __asm__ __volatile__("lda [%%g0] %1, %0\n\t":
-@@ -156,14 +156,14 @@ extern __inline__ unsigned int srmmu_get_mmureg(void)
- return retval;
- }
-
--extern __inline__ void srmmu_set_mmureg(unsigned long regval)
-+static __inline__ void srmmu_set_mmureg(unsigned long regval)
- {
- __asm__ __volatile__("sta %0, [%%g0] %1\n\t"::"r"(regval),
- "i"(ASI_M_MMUREGS):"memory");
-
- }
-
--extern __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
-+static __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
- {
- paddr = ((paddr >> 4) & SRMMU_CTX_PMASK);
- __asm__ __volatile__("sta %0, [%1] %2\n\t"::"r"(paddr),
-@@ -171,7 +171,7 @@ extern __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
- "i"(ASI_M_MMUREGS):"memory");
- }
-
--extern __inline__ unsigned long srmmu_get_ctable_ptr(void)
-+static __inline__ unsigned long srmmu_get_ctable_ptr(void)
- {
- unsigned int retval;
-
-@@ -181,13 +181,13 @@ extern __inline__ unsigned long srmmu_get_ctable_ptr(void)
- return (retval & SRMMU_CTX_PMASK) << 4;
- }
-
--extern __inline__ void srmmu_set_context(int context)
-+static __inline__ void srmmu_set_context(int context)
- {
- __asm__ __volatile__("sta %0, [%1] %2\n\t"::"r"(context),
- "r"(SRMMU_CTX_REG), "i"(ASI_M_MMUREGS):"memory");
- }
-
--extern __inline__ int srmmu_get_context(void)
-+static __inline__ int srmmu_get_context(void)
- {
- register int retval;
- __asm__ __volatile__("lda [%1] %2, %0\n\t":
-@@ -196,7 +196,7 @@ extern __inline__ int srmmu_get_context(void)
- return retval;
- }
-
--extern __inline__ unsigned int srmmu_get_fstatus(void)
-+static __inline__ unsigned int srmmu_get_fstatus(void)
- {
- unsigned int retval;
-
-@@ -206,7 +206,7 @@ extern __inline__ unsigned int srmmu_get_fstatus(void)
- return retval;
- }
-
--extern __inline__ unsigned int srmmu_get_faddr(void)
-+static __inline__ unsigned int srmmu_get_faddr(void)
- {
- unsigned int retval;
-
-@@ -217,7 +217,7 @@ extern __inline__ unsigned int srmmu_get_faddr(void)
- }
-
- /* This is guaranteed on all SRMMU's. */
--extern __inline__ void srmmu_flush_whole_tlb(void)
-+static __inline__ void srmmu_flush_whole_tlb(void)
- {
- __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(0x400), /* Flush entire TLB!! */
- "i"(ASI_M_FLUSH_PROBE):"memory");
-@@ -225,14 +225,14 @@ extern __inline__ void srmmu_flush_whole_tlb(void)
- }
-
- /* These flush types are not available on all chips... */
--extern __inline__ void srmmu_flush_tlb_ctx(void)
-+static __inline__ void srmmu_flush_tlb_ctx(void)
- {
- __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(0x300), /* Flush TLB ctx.. */
- "i"(ASI_M_FLUSH_PROBE):"memory");
-
- }
-
--extern __inline__ void srmmu_flush_tlb_region(unsigned long addr)
-+static __inline__ void srmmu_flush_tlb_region(unsigned long addr)
- {
- addr &= SRMMU_PGDIR_MASK;
- __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(addr | 0x200), /* Flush TLB region.. */
-@@ -240,7 +240,7 @@ extern __inline__ void srmmu_flush_tlb_region(unsigned long addr)
-
- }
-
--extern __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
-+static __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
- {
- addr &= SRMMU_REAL_PMD_MASK;
- __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(addr | 0x100), /* Flush TLB segment.. */
-@@ -248,7 +248,7 @@ extern __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
-
- }
-
--extern __inline__ void srmmu_flush_tlb_page(unsigned long page)
-+static __inline__ void srmmu_flush_tlb_page(unsigned long page)
- {
- page &= PAGE_MASK;
- __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(page), /* Flush TLB page.. */
-@@ -256,7 +256,7 @@ extern __inline__ void srmmu_flush_tlb_page(unsigned long page)
-
- }
-
--extern __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
-+static __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
- {
- unsigned long retval;
-
-@@ -268,7 +268,7 @@ extern __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
- return retval;
- }
-
--extern __inline__ int srmmu_get_pte(unsigned long addr)
-+static __inline__ int srmmu_get_pte(unsigned long addr)
- {
- register unsigned long entry;
-
-diff --git a/include/mpc8260.h b/include/mpc8260.h
-index 9980c74..75f1b0c 100644
---- a/include/mpc8260.h
-+++ b/include/mpc8260.h
-@@ -892,7 +892,7 @@
- #define UPMC 3
-
- #if !defined(__ASSEMBLY__) && defined(CONFIG_WATCHDOG)
--extern __inline__ void
-+static __inline__ void
- reset_8260_watchdog(volatile immap_t *immr)
- {
- immr->im_siu_conf.sc_swsr = 0x556c;
---
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot_2015.10.bb
deleted file mode 100644
index 2abfcfa921..0000000000
--- a/meta/recipes-bsp/u-boot/u-boot_2015.10.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require u-boot.inc
-
-DEPENDS += "dtc-native"
-
-# This revision corresponds to the tag "v2015.10"
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
-
-SRC_URI += " \
- file://0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch \
- file://0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch \
- file://0003-common-board_f-enable-setup_board_part1-for-MIPS.patch \
- file://0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch \
- file://0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch \
- file://0006-Replace-extern-inline-with-static-inline.patch \
-"
-
-PV = "v2015.10+git${SRCPV}"
diff --git a/meta/recipes-bsp/u-boot/u-boot_2017.01.bb b/meta/recipes-bsp/u-boot/u-boot_2017.01.bb
new file mode 100644
index 0000000000..37c21dcaa3
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/u-boot_2017.01.bb
@@ -0,0 +1,4 @@
+require u-boot-common_${PV}.inc
+require u-boot.inc
+
+DEPENDS += "bc-native dtc-native"
diff --git a/meta/recipes-bsp/usbutils/usbutils-008/iconv.patch b/meta/recipes-bsp/usbutils/usbutils-008/iconv.patch
deleted file mode 100644
index 6455567174..0000000000
--- a/meta/recipes-bsp/usbutils/usbutils-008/iconv.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-This patch adds support for detecting iconv support using autotools
-uclibc does not have iconv implementation inside libc like glibc, therefore
-the existing checks were not sufficient, it worked for glibc but not for
-uclibc. The new patch portably detects the iconv support and adds the
-libiconv to linker cmdline
-
-This patch should be submitted upstream too
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: usbutils-008/configure.ac
-===================================================================
---- usbutils-008.orig/configure.ac
-+++ usbutils-008/configure.ac
-@@ -10,7 +10,9 @@ AC_USE_SYSTEM_EXTENSIONS
- AC_SYS_LARGEFILE
-
- AC_CHECK_HEADERS([byteswap.h])
--AC_CHECK_FUNCS([nl_langinfo iconv])
-+
-+AM_GNU_GETTEXT
-+AM_ICONV
-
- PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.0)
-
-Index: usbutils-008/Makefile.am
-===================================================================
---- usbutils-008.orig/Makefile.am
-+++ usbutils-008/Makefile.am
-@@ -29,7 +29,8 @@ lsusb_CPPFLAGS = \
-
- lsusb_LDADD = \
- $(LIBUSB_LIBS) \
-- $(UDEV_LIBS)
-+ $(UDEV_LIBS) \
-+ $(LIBICONV)
-
- man_MANS = \
- lsusb.8 \
diff --git a/meta/recipes-bsp/usbutils/usbutils/iconv.patch b/meta/recipes-bsp/usbutils/usbutils/iconv.patch
index c557334a75..6455567174 100644
--- a/meta/recipes-bsp/usbutils/usbutils/iconv.patch
+++ b/meta/recipes-bsp/usbutils/usbutils/iconv.patch
@@ -10,10 +10,10 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: usbutils-007/configure.ac
+Index: usbutils-008/configure.ac
===================================================================
---- usbutils-007.orig/configure.ac
-+++ usbutils-007/configure.ac
+--- usbutils-008.orig/configure.ac
++++ usbutils-008/configure.ac
@@ -10,7 +10,9 @@ AC_USE_SYSTEM_EXTENSIONS
AC_SYS_LARGEFILE
@@ -23,18 +23,19 @@ Index: usbutils-007/configure.ac
+AM_GNU_GETTEXT
+AM_ICONV
- AC_ARG_ENABLE(zlib,
- AS_HELP_STRING(--disable-zlib,disable support for zlib))
-Index: usbutils-007/Makefile.am
+ PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.0)
+
+Index: usbutils-008/Makefile.am
===================================================================
---- usbutils-007.orig/Makefile.am
-+++ usbutils-007/Makefile.am
-@@ -27,7 +27,7 @@ lsusb_CPPFLAGS = \
- -DDATADIR=\"$(datadir)\"
+--- usbutils-008.orig/Makefile.am
++++ usbutils-008/Makefile.am
+@@ -29,7 +29,8 @@ lsusb_CPPFLAGS = \
lsusb_LDADD = \
-- $(LIBUSB_LIBS)
-+ $(LIBUSB_LIBS) $(LIBICONV)
+ $(LIBUSB_LIBS) \
+- $(UDEV_LIBS)
++ $(UDEV_LIBS) \
++ $(LIBICONV)
- if HAVE_ZLIB
- lsusb_CPPFLAGS += -DHAVE_LIBZ
+ man_MANS = \
+ lsusb.8 \
diff --git a/meta/recipes-bsp/usbutils/usbutils_007.bb b/meta/recipes-bsp/usbutils/usbutils_007.bb
deleted file mode 100644
index b93b2bd9e5..0000000000
--- a/meta/recipes-bsp/usbutils/usbutils_007.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Host side USB console utilities"
-DESCRIPTION = "Contains the lsusb utility for inspecting the devices connected to the USB bus."
-HOMEPAGE = "http://www.linux-usb.org"
-SECTION = "base"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "libusb zlib virtual/libiconv"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \
- file://usb-devices-avoid-dependency-on-bash.patch \
- file://Fix-NULL-pointer-crash.patch \
- file://iconv.patch \
- "
-
-SRC_URI[md5sum] = "be6c42294be5c940f208190d3479d50c"
-SRC_URI[sha256sum] = "e65c234cadf7c81b6b1567c440e3b9b31b44f51c27df3e45741b88848d8b37d3"
-
-inherit autotools gettext pkgconfig
-
-do_install_append() {
- # We only need the compressed copy, remove the uncompressed version
- rm -f ${D}${datadir}/usb.ids
-}
-
-PACKAGES += "${PN}-ids"
-FILES_${PN}-dev += "${datadir}/pkgconfig"
-FILES_${PN}-ids = "${datadir}/usb*"
-
-RDEPENDS_${PN} = "${PN}-ids"
diff --git a/meta/recipes-bsp/usbutils/usbutils_008.bb b/meta/recipes-bsp/usbutils/usbutils_008.bb
index 0f2d8d47c4..d3c5bd52a4 100644
--- a/meta/recipes-bsp/usbutils/usbutils_008.bb
+++ b/meta/recipes-bsp/usbutils/usbutils_008.bb
@@ -6,7 +6,7 @@ SECTION = "base"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "libusb zlib virtual/libiconv systemd"
+DEPENDS = "libusb zlib virtual/libiconv udev"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \
file://usb-devices-avoid-dependency-on-bash.patch \
@@ -18,11 +18,8 @@ SRC_URI[md5sum] = "cb20148c2e784577e924a7b4c560c8fb"
SRC_URI[sha256sum] = "6d5f16c2961df37e22e492c736a3e162a8fde24480f23a40d85f79af80d3fe95"
inherit autotools gettext pkgconfig distro_features_check
-# This version of usbutils relies on the udev from systemd, so unless
-# we can decouple udev from system, we require systemd for now.
-REQUIRED_DISTRO_FEATURES = "systemd"
FILES_${PN}-dev += "${datadir}/pkgconfig"
-RDEPENDS_${PN} = "libudev"
+RRECOMMENDS_${PN} = "udev-hwdb"
RDEPENDS_${PN}-ptest = "libboost-system libboost-thread"
diff --git a/meta/recipes-bsp/v86d/v86d/aarch64-host.patch b/meta/recipes-bsp/v86d/v86d/aarch64-host.patch
new file mode 100644
index 0000000000..701fed7b5d
--- /dev/null
+++ b/meta/recipes-bsp/v86d/v86d/aarch64-host.patch
@@ -0,0 +1,18 @@
+Accept aarch64 as valid build host
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: v86d-0.1.10/configure
+===================================================================
+--- v86d-0.1.10.orig/configure
++++ v86d-0.1.10/configure
+@@ -26,7 +26,7 @@ copt_x86emu_test()
+ local m=`uname -m`
+ if [ "$m" = "i686" -o "$m" = "i586" -o "$m" = "i486" -o "$m" = "i386" ]; then
+ echo "n";
+- elif [ "$m" = "x86_64" ]; then
++ elif [ "$m" = "x86_64" -o "$m" = "aarch64" ]; then
+ echo "y";
+ else
+ echo "It looks like your architecture '$m' isn't supported by this version of v86d." >&2
diff --git a/meta/recipes-bsp/v86d/v86d_0.1.10.bb b/meta/recipes-bsp/v86d/v86d_0.1.10.bb
index f50207212f..eab466d30d 100644
--- a/meta/recipes-bsp/v86d/v86d_0.1.10.bb
+++ b/meta/recipes-bsp/v86d/v86d_0.1.10.bb
@@ -13,7 +13,9 @@ SRC_URI = "http://distfiles.gentoo.org/distfiles/${BP}.tar.bz2 \
file://Update-x86emu-from-X.org.patch \
file://fbsetup \
file://uvesafb.conf \
- file://ar-from-env.patch"
+ file://ar-from-env.patch \
+ file://aarch64-host.patch \
+"
SRC_URI[md5sum] = "51c792ba7b874ad8c43f0d3da4cfabe0"
SRC_URI[sha256sum] = "634964ae18ef68c8493add2ce150e3b4502badeb0d9194b4bd81241d25e6735c"
@@ -58,7 +60,7 @@ python __anonymous() {
inherit update-rc.d
-DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
+PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
pkg_postinst_${PN} () {
if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
if [ -n "$D" ]; then