summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-4.6.inc
Commit message (Collapse)AuthorAgeFilesLines
* gcc-4.6: Add fix for relocation problem and ccacheRichard Purdie2012-04-131-1/+2
| | | | | | | | | | | | | | | | | | | If the toolchain is reused from sstate and ccache is installed, build failures were occuring due to gcc trying to access the original sysroot rather than the new one, particularly if the old sysroot existed but was not readable by the current user. This turns out of the an issue inside gcc to do with preservation of the sysroot option. See the gcc patch for more details. It only triggers when preprocessed sources are used which happens when ccache is used. The same issue occurs with c++ and c++-cpp-output so the same fix is applied there. [YOCTO #2074] (From OE-Core rev: d3a3e81869631ba69874f6fc172240e3aac388f5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgcc: corrected -nativesdk package namings.Lianhao Lu2012-03-231-1/+1
| | | | | | | | | | | | | | | | | 1. Corrected the -nativesdk package namings. 2. Fixed package QA warnings: WARNING: QA Issue: non -staticdev package contains static .a library: libgcc-nativesdk-dev path '/work/x86_64-nativesdk-pokysdk-linux/libgcc-nativesdk-4.6.3+svnr184847-r23/packages-split/libgcc-nativesdk-dev/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/x86_64-pokysdk-linux/4.6.4/libgcc.a' WARNING: QA Issue: non -staticdev package contains static .a library: libgcc-nativesdk-dev path '/work/x86_64-nativesdk-pokysdk-linux/libgcc-nativesdk-4.6.3+svnr184847-r23/packages-split/libgcc-nativesdk-dev/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/x86_64-pokysdk-linux/4.6.4/libgcc_eh.a' (From OE-Core rev: aff0373d8bfb7e9ea600fcc558433387818c520a) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Upgrade to 4.6.3 releaseKhem Raj2012-03-081-5/+4
| | | | | | | | | | core-image-sato/core-image-minimal builds and boots on all qemu machines (From OE-Core rev: 40d7a4b70d342f75e13de7872fb62e2b9d6d40bf) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Quoting fixesRichard Purdie2012-02-261-1/+1
| | | | | | | | | We have various variables which are either not quoted at all or are half quoted. This patch fixes the bad exmaples so everything is consistent. (From OE-Core rev: 30253358f5e76fb7b25be27198b4c125e0dbdf2c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Some small performance tweaksRichard Purdie2012-02-101-6/+8
| | | | | | | | | | a) Use the system zlib to avoid building it for each gcc. b) -initial and -intermediate don't need plugins or lto-plugin so disable them. (From OE-Core rev: a124a0883507caf4ffb7e25be666f6781b30abdd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: move shared .a to their own packageSaul Wold2012-01-241-1/+1
| | | | | | | | | | | Keep the *_nonshared.a in the libgcc-dev package as required for linking, moved the other *.a libraries into their respective packages (libstdc++ and libssp). (From OE-Core rev: c2838d949ffd15282c72551b40c5fd81d0db1fa0) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgcc: Seperate out libgcov.a from libgcc-devSaul Wold2012-01-241-1/+1
| | | | | | | | | | libgcov.a is moved to it's own libgcov-dev package, instead of being part of libgcc-dev. (From OE-Core rev: a82a3f8ec55e68a003420549392d638e565562fc) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Ensure that the shared source directory shared the same sstate hashesRichard Purdie2012-01-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | The fetch/unpack/patch/headerfix tasks are shared and hence their sstate hashes should also match. Sadly this is not the case since: a) gcc-runtime applies an additional patch b) The do_headerfix task was missing from libgcc c) The do_headerfix task is a shell task and hence depends on all exported variables which can vary between cross and target recipes. To fix this, the patch moves the patch to the common code, adds the headerfix task to a common include file and disabled shell dependencies on the do_headerfix task since its clear in this case we don't need thsoe dependencies since we just call sed. With this patch applied, all these recipes now share common sstate checksums. (From OE-Core rev: 2c4569801a710f34a695b8d2a0ee7fc127fb34e4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Let G++ relocate gxx-include-dir when using --sysroot optionKhem Raj2011-12-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we have a problem in our cross compiler since we use /usr/include/c++ to be default gxx-include-dir and then expect the patch we did to do the relocation w.r.t. sysroot however it does not quite work so and we end up gxx-include-dirs not respecting sysroot. A small test case would be tst-unique4.cc and it would fails like tst-unique4.cc:1:18: fatal error: cstdio: No such file or directory compilation terminated. weather we use --sysroot or not it does not matter arm-oe-linux-gnueabi-g++ -S tst-unique4.cc --sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm failed in same way. so we redo the GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch based on upstream submitted patch which tries to relocate the gxx-include-dir and to achieve the relocation it has to be specified w.r.t to --with-sysroot directory. e.g. --with-sysroot=${SYSROOT} --with-gxx-include-dir=${SYSROOT}/usr/include/c++ if we configure gcc like above then it becomes relocatable when we run the compiler and specify --sysroot=<blah> then g++ will search for gxx-headers under <blah>/usr/include/c++ if sysroot is not defined then it will use the default sysroot and gxx-include-dir will be w.r.t. default sysroot. Tested on qemuarm /arm-oe-linux-gnueabi-g++ -S tst-unique4.cc --sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm -v ... /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++ /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++/arm-oe-linux-gnueabi /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++/backward ... and if I now change --sysroot to something else /arm-oe-linux-gnueabi-g++ -S tst-unique4.cc --sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4 -v ... ignoring nonexistent directory "/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++" ignoring nonexistent directory "/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++/arm-oe-linux-gnueabi" ignoring nonexistent directory "/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++/backward" ... See now its looking for them in 'qemuarm4' sysroot (From OE-Core rev: 28b772e42a20faebe1b4f415d28b42b7e0a424fb) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlibKhem Raj2011-12-061-1/+2
| | | | | | | | | This patch is a backport of http://patchwork.ozlabs.org/patch/110517/ (From OE-Core rev: 048c31c4e19d1bb060c79011cb25dfeff51c3ef1) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-package-target.inc: add the symbol link /lib/cppDexuan Cui2011-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When I was trying self-hosted-image, eglibc's do_install failed in the target: ERROR: cannot stat bootparam_prot.h: the cause is: rpcgen doesn't work properly: rpcgen can't exec /lib/cpp since it doesn't exist. According to http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/lib.html: "if a C preprocessor is installed, /lib/cpp must be a reference to it, for historical reasons. The usual placement of this binary is /usr/bin/cpp". Typical distros, like Ubuntu, openSuSE, Fedora and RHEL, all comply with the rule. Actually in meta/recipes-devtools/gcc/gcc-package-target.inc, we do try to package ${base_libdir}/cpp: FILES_cpp = "\ ${bindir}/${TARGET_PREFIX}cpp \ ${base_libdir}/cpp \ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1" But unluckily we didn't create a symbol link in do_install. This patch adds the symbol link. (From OE-Core rev: 58fb9fbce2af05a469691390e75aebb2de16ca96) Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Fix gcc ICE on qt4-x11-free/armv7-aKhem Raj2011-11-211-4/+5
| | | | | | | | | | Backport fix for PR 47551 fixes the ICE seen on armv7-a/qt4-x11-free Bump up SRCREV past gcc 4.6.2 release (From OE-Core rev: dd2fdf9f5a3923c37e4ea2e46e347bb0657c2f5b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Backport fix for PR32219Khem Raj2011-10-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix is needed for gold to work. Otherwise connman fails to build since it used hidden weak symbols. See http://gcc.gnu.org/bugzilla/PR32219 http://www.cygwin.com/ml/binutils/2008-02/msg00239.html The fix proposed to gcc had reviews which were not addressed hence the patch is not yet applied to gcc upstream. connman can also have workaround by changing the visibility of these symbols to be default __attribute__ ((weak, visibility("hidden"))) to __attribute__ ((weak, visibility("default"))) in include/plugin.h (From OE-Core rev: 3cb2b003db7371b3a47d02c08352a262e1e419b4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Backport PR46934 fixKhem Raj2011-10-201-1/+2
| | | | | | | | | | | | We have been hitting this issue on ARM/thumb and have a workaround in place to compile samba http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15 This backport should fix the gcc bug (From OE-Core rev: 75f7269a7a1da2494768d4be63c44b12c5cfeeeb) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branchKhem Raj2011-10-201-1/+1
| | | | | | | (From OE-Core rev: b1af6951e14d645fe861f289011c91ab6f1b6865) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc/binutils: Disable NLS/gettext dependenciesRichard Purdie2011-10-101-1/+2
| | | | | | | | | | | | | | | We force the C locale when running builds for determinstic error messages. We therefore have no need to NLS support in binutils cross or gcc cross. We also don't need the standard base/autotools dependencies for our toolchain components since we don't autoreconf these. This patch turns off nls and cleans up some of the dependencies resulting in a slightly less convoluted set of build dependencies. (From OE-Core rev: 54a3e2ee37003fc56af0339f857b0b6442790c26) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Update to tip of FSF gcc-4_6-branchKhem Raj2011-09-281-3/+3
| | | | | | | (From OE-Core rev: ed7deecb9503420fbf8071445e077c32beda8dc4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Use --with-linker-hash-style configure optionKhem Raj2011-09-281-0/+2
| | | | | | | | | | | | Depending upon what hash style is in use this uses the right flag for setting the hash style type. This fixes the QA errors about missing GNU hash style reported in gcc-runtime build particularly libgcc (From OE-Core rev: f8edd9b872bcf14da037bd0b501ccc8c6fcc79bf) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: include libgcov.a into libgcc-dev packagelumag2011-09-281-1/+1
| | | | | | | | | | | | First, this lib is usefull for coverage analysis-enabled building. Second, this fixes the warning about unpackaged files in libgcc recipe. (From OE-Core rev: 2a807a98d8be3f486e703321773db32657c71d9e) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: fix possible problems with nscd compilation during eglibc-nativesdk buildDmitry Eremin-Solenikov2011-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Long time ago a066e7ca90a28d5681c5fa895a29e999ed7c88b was committed to address possible problems with compilation of nscd during eglibc-nativesdk build. Problems were related to the way gcc searches for headers to check if it should enable it's own stack smash protection bits or it can relay on eglibc for it. However after 934d38530c9a67562e53d4034aee5531f0f26750 things got broken, as for gcc-crosssdk-intermediate packages: 1) EXTRA_OECONF is ignored 2) headers are installed in a different location than expected by that patch. This results in eglibc-nativesdk build broken on some systems (e.g. mine Debian x86_64 squeeze). Fix that by providing with-headers options to crosssdk-intermediate gcc configuration. (From OE-Core rev: 63494d638b7a9b88a5b7d7a02d2afcb3aa0fa064) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: include plugin-related headers into packaged SDKDmitry Eremin-Solenikov2011-09-221-1/+1
| | | | | | | | | | Include headers necessary to compile gcc plugins into cross-canadian gcc packages. (From OE-Core rev: d12aa92b3dac1109d510e7b6f74055d1ab927817) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: add patch for ice 50099, which caused lttng-ust not to buildSaul Wold2011-09-071-1/+2
| | | | | | | | | | | | [YOCTO #1381] This patch came from from GCC Bugzilla via Khem Cc: Khem Raj <raj.khem@gmail.com> (From OE-Core rev: 61dac2f6f68bc46d8f3f6f7a8757924f103c7c54) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Fix multilib baselib confusionRichard Purdie2011-09-021-1/+1
| | | | | | | | | | | | | | | Commit 35fa8dc5f7da90fdd40091a3c3600d3fcd232922 changed the gcc recipes to use baselib for the compiler location. This is fine as long as baselib happens to match the platform multilib definition which is enabled at the time. This patch fixes things so that gcc will honour whatever ${base_libdir} is set to re-allowing suitable customisation of the system layout. [YOCTO #1362] (From OE-Core rev: bc5f293b151b9ba0d6660814d88ee5041efce318) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Drop gcc-poison-parameters.patch as its not needKumar Gala2011-08-291-2/+1
| | | | | | | | | | | | | | The gcc-poison-parameters was added specifically to deal with an issue on ppc targets and a bug when we build with -Os -frename-registers. This bug below reports the issue and is fixed in gcc-4.6.x: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44618 (From OE-Core rev: 0fabe078a31591f41c3fdabe5aa9de1111ef82c7) Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Delete patch=1, its default and replace pnum with striplevelKhem Raj2011-08-231-4/+4
| | | | | | | | | | Some place pnum=1 is used which is removed as well since striplevel=1 is default (From OE-Core rev: 4e108857e0d40105f7ecbc55e99bd6c367bb7386) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Various fixups to ensure consistent gcc buildsRichard Purdie2011-08-111-2/+2
| | | | | | | | | | | | | | | We ensure that: * the shared work directory contains PR and ensure PR values are consistent across gcc builds * the regexp to handle library directories is in a specific task and run once This avoids breakage that was seen in incremental builds after commit be1f70d68b6b75772ebab8bdff683ddd7c42b0cd where the interpretor could become corrupted. This was due to the sed expression corrupting the source directory. (From OE-Core rev: 970af6b09e1d69041b0d82fa56ace19543405eb1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Add support for the e5500 PowerPC coreKumar Gala2011-08-051-1/+2
| | | | | | | | | | Implements basic e5500 enablement in gcc, with a scheduler, -mcpu flag, etc... (From OE-Core rev: b4f6fb7033d3798cae32d42bce5a0f8402ad57c1) Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Fix setting of GLIBC_DYNAMIC_LINKERKumar Gala2011-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | The sed regex in do_configure_prepend was producing the following result: #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "/lib64/ld-linux-x86-64.so.2" instead of removing the leading "/lib" or "/lib64". Now we have it do: #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" Additionally, with the regex fixed the manipulation of SYSTEMLIBS_DIR needs to be removed. (From OE-Core rev: b343436d03fa5690b16ee8ef5d4a738c5194b301) Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Fix packaging of native toolchainsKumar Gala2011-07-251-1/+1
| | | | | | | | | | | | | | | | | The base gcc package is missing liblto_plugin.so. If we try a simple hello world compile we get something like: root@p5020-ds:~# gcc hello.c gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found compilation terminated. We need to include liblto_plugin.so in the base gcc package and not gcc-dev. (From OE-Core rev: 282326a188467edf6caef21b07a7e51288674245) Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Add gcc configure for PowerPC e500v2/SPE embedded floating point ABIKumar Gala2011-07-201-1/+1
| | | | | | | | | | | | The e500v2 core utilizes a unique floating point programming model / ABI. We utilize TARGET_FPU = "ppc-efd" to distinguish this choice (Embedded scalar single-precision floating-point). When building the toolchain for this ABI we need configure gcc with --enable-e500_double. (From OE-Core rev: 5136c4ad6279c1593301f6dde9b959ad26a2fd0f) Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: update to 4.6.1 releasePhil Blundell2011-07-191-3/+3
| | | | | | | | | Set SRCREV to match the point at which 4.6.1 was released, update PV appropriately. (From OE-Core rev: d575031f3bcd7acbc7dae25f17a60f0d493643fb) Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Fix packaging correctlySaul Wold2011-07-121-1/+1
| | | | | | | | | | | | [YOCTO #1233] This fix directly packages the contents in and adds the lib*.so correctly to the -dev package. (From OE-Core rev: d3c5f93714165e5c089ce80194f2be07e31d920c) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Remove unneeded module .la file and .so linkRichard Purdie2011-07-051-1/+1
| | | | | | | | This avoids a QA error. (From OE-Core rev: 6d284d656e129be526e272f61405d1b004fe0ec9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Fix removal of libiberty.aRichard Purdie2011-07-051-1/+1
| | | | | | | | | | | | | The changes in commit 553a92c442bc3a35d1520a22e640a3a0e377b8f7 were not applying correctly due to the error: "find: paths must precede expression" This patch corrects the find syntax. [YOCTO #1199] (From OE-Core rev: b8d72e3af93ff9e2808fef4fe7b9d00b68bf9715) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: share work directoriesRobert Yang2011-06-301-1/+4
| | | | | | | | | | | | * Fix configure and Makefile to read the defaults.h and t-oe from ${B}, so that the ${S} can be shared. * Change ${S} to the shared source directory. (From OE-Core rev: c1ec5100da76d35afb91de7353599564e5b653dc) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: Additions and correctionsBeth Flanagan2011-06-231-1/+1
| | | | | | | | | | | | | I've added more licenses from SPDX and corrected the gcc license so that it is a. parsable and b. accurate to the SPDX standard. I've also done some cleanup of license text and gdb's LICENSE field. (From OE-Core rev: e47343d12ee571281238bbf5663b074c0e32049f) Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Switch to using svn SRC_URI for recipeKhem Raj2011-06-231-0/+104
We call the recipes 4.6 Remove the backport patches (From OE-Core rev: 68b545f4ff719f2b6e57d68b002dc9845c7a14ae) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>