diff options
Diffstat (limited to 'meta/recipes-bsp')
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 Binary files differdeleted file mode 100644 index c2d6e37bf0..0000000000 --- a/meta/recipes-bsp/pointercal/pointercal/qemuppc/pointercal +++ /dev/null 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 |
