summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
Commit message (Collapse)AuthorAgeFilesLines
* Quoting fixesRichard Purdie2012-02-263-3/+3
| | | | | | | | | 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: Excluding the DATE/SRCDATE from do_patch dependency.Lianhao Lu2012-02-211-1/+1
| | | | | | | | | | Corrected the error introduced by commit afb400e of dropping DATE/SRCDATE out of the vardepsexlude list of do_patch. (From OE-Core rev: 6546096d068b51cc9cf4557cdb35aee6f62838d5) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Ensure same sstate hashes for shared soruce directoryLianhao Lu2012-02-101-0/+1
| | | | | | | | | | Ensure do_patch have the same sstate hashes for nativesdk variants of gcc family recipes, since they share the same source directory. (From OE-Core rev: afb400e9c3ddac604906bde44df5da29a6c134d9) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> 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-cross-testing: Fix evaluation of user and target nameKhem Raj2012-02-081-3/+3
| | | | | | | | | | Dont use -q to grep we pipe to /dev/null anyway all we care is the return status of grep (From OE-Core rev: 9c575b5f37ee53eaf26bfdc468d4cbb661db703f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-runtime: fix override from poky-lsb to linuxstdbaseSaul Wold2012-02-011-1/+1
| | | | | | | (From OE-Core rev: 1f5de4b36ad5853e489e47078c830f12a1c71ce9) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgcc: Add INSANE_SKIP of staticdev for libgcc-dev and libgcov-devSaul Wold2012-01-261-0/+3
| | | | | | | | | | Skip the staticdev QA test since the static archives belong with the -dev. (From OE-Core rev: 3de810a7f745b253d4b63eea353a31514d64a2e3) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross: Don't reference machine specific variablesRichard Purdie2012-01-251-6/+6
| | | | | | | | | | | | gcc-cross is installed into a package architecture specific directory and is not meant to be machine specific. This patch replaces MACHINE_ARCH with PACKAGE_ARCH to ensure this is really the case. This was found by examining sstate checksums. (From OE-Core rev: b3ca57418f47b16ed0a63d3291bf7d31e3ca5a45) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-common.inc: Fix commentRichard Purdie2012-01-241-1/+1
| | | | | | (From OE-Core rev: a4a98b6d6273d4e716afbff0880d0ac2ff7be0a9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-common.inc: Ensure WORKDIR doesn't adversly affect sstate checksumsRichard Purdie2012-01-241-0/+4
| | | | | | | | | | Changes in WORKDIR were changing the do_patch stamps between gcc-crosssdk and gcc-cross. This excludes the variable since in this case, we don't need want those changes to affect the signatures. (From OE-Core rev: 0de85d2ca3bc9674323302a35995dfddb6044a71) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: move shared .a to their own packageSaul Wold2012-01-242-3/+8
| | | | | | | | | | | 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-242-2/+4
| | | | | | | | | | 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_4.6.bb: Drop duplicated SRC_URI componentRichard Purdie2012-01-241-2/+0
| | | | | | | | | This was duplicated from the main SRC_URI and was causing incorrect task signatures. This simply removes the duplication. (From OE-Core rev: cc8d02c582a72d07fd08c59d14ee5720e01a5cd9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-package-cross.inc: Mark do_package* tasks as noexecRichard Purdie2012-01-231-0/+5
| | | | | | | | | These tasks don't do anything, this just avoids the overhead of forking to exec them. (From OE-Core rev: 6708b3e908ae383922703390ac2d39f40348e1b3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Ensure that the shared source directory shared the same sstate hashesRichard Purdie2012-01-234-17/+18
| | | | | | | | | | | | | | | | | | | | | | 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: mark upstream status for all patchesNitin A Kamble2012-01-034-0/+4
| | | | | | | | | | Some patches were missing Upstream-Status informantion, this commit adds that in those patches. (From OE-Core rev: 01c3669856538eb34d329780e03df2dc7fb985f2) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Let G++ relocate gxx-include-dir when using --sysroot optionKhem Raj2011-12-194-23/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-cross: Add cross testing driver for running regression testsuitesKhem Raj2011-12-191-1/+90
| | | | | | | | | | | | | | | | | | | This script will be generated into the build directory of gcc-cross It should be testing gcc and g++. libstdc++ tests are not run since we build them as part of gcc-runtime but we can test them here by building them with 'make all' and then running the tests The script expects passwordless ssh access to target and is used in form ./arm-oe-linux-gnueabi-testgcc kraj@192.168.7.2 inside the builddir of gcc-cross (From OE-Core rev: 130b534fdb0b292158981a12d7d5f01c1a14cb2a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgcc: reintroduce debug package, containing symbolsDmitry Eremin-Solenikov2011-12-161-0/+3
| | | | | | | (From OE-Core rev: 1c97310f76999dc68de0958485d3edb75398854d) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-recipes: Disable nls in gettext bbclassKhem Raj2011-12-153-3/+0
| | | | | | | | | | | | | | | | | Right now for cross recipes e.g. gcc-cross and binutils-cross we specify --disable-nls .... --enable-nls on configure cmdline the --enable-nls coming from gettext bbclass. So we disable nls for all cross inheriting recipes in gettext bbclass and then we remove the extra --disable-nls in gcc-cross and binutils-cross This patch needs testing. Please help (From OE-Core rev: d66b379f809b9c75981848fcc71ed5de13382bf7) 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-062-1/+36
| | | | | | | | | 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>
* Fix multiarch DISTRO_FEATUREJulian Pidancet2011-11-301-7/+10
| | | | | | | | | | | | | | Make get_gcc_multiarch_setting more elegant. Use a dictionnary to store the config options and replace bb.data.getVar with d.getVar. Remove i686 from the architecture list because it doesn't seem to be a valid TARGET_ARCH any more in OE. Configure gdb (gdb and gdb-cross) with --enable-64-bit-bfd if multiarch DISTRO_FEATURE is present (From OE-Core rev: 0b42b2fc118bef8ce0d1473b146673182f5d1f78) Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Introduce multiarch DISTRO_FEATUREJulian Pidancet2011-11-292-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a distro feature which enables gcc to produce both 32bit and 64bit code, and enables binutils to operate on both 32bit and 64bit binaries. It differs from multilib toolchains in that it does not require to compile a version of the libc for each architecture variant. However, the code produced for the secondary architecture will not be linkable against the libc. v2: - Renamed the feature name from "biarch" to "multiarch". The GCC installation manual claims that the mips-linux can be made a tri-arch compiler (http://gcc.gnu.org/install/configure.html) - For x86_64, the compiler is made bi-arch by default, so nothing has to be done in particular. - I analyzed the gcc/config.gcc from GCC sources and added in this patch all the architectures that could be made biarch with the version of gcc currently used in OE, which are powerpc, and sparc, in addition to x86. mips and s390 will probably be supported in future versions of gcc. For x86 and sparc, only the --enable-targets=all option is valid to make this work (this option doesn't have any other side effects than making the compiler bi-arch). For powerpc, I used the --enable-targets=powerpc64 option (although 'all' also works). Note: - Untested on powerpc and sparc. But I believe it works the same as with x86. - gcc in meta-toolchain is also made multiarch. (From OE-Core rev: 99e295ef30ba02db3966c66619807c037ef5089f) Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-package-target.inc: add the symbol link /lib/cppDexuan Cui2011-11-242-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-212-4/+68
| | | | | | | | | | 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: fix toolchain build for SH4Michael Brown2011-11-161-0/+2
| | | | | | | | | | | | | | | | | | (From OE-Core rev: da7bf75bcdd5759a0f551dcb7a0326aa2f40921c) Signed-off-by: Michael Brown <Michael_E_Brown@dell.com> Port patch from base openembedded. Since 4.6 already has fixes for config.gcc, the fix only requires a one line change to gcc-cross4.inc. The patch was imported from the OpenEmbedded git server (git://git.openembedded.org/openembedded) as of commit id 3aa8afe97e9cf1340feb9c4442a6ed88b7e32c96. gcc-4.5: Fix toolchain builds for SH4/SH3 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie2011-11-102-5/+5
| | | | | | | | | | | | | | | | | This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` (From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Backport fix for PR32219Khem Raj2011-10-242-1/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-configure-sdk: Point sysroot to correct locationKhem Raj2011-10-241-2/+2
| | | | | | | (From OE-Core rev: c9883733fed9267b1a936c08500a4caf8dc52d3d) 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-202-1/+394
| | | | | | | | | | | | 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: Drop old version 4.5.1Richard Purdie2011-10-1267-10389/+0
| | | | | | (From OE-Core rev: 59443380286010eda07f1434e918a3af8c8a31a9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc/binutils: Disable NLS/gettext dependenciesRichard Purdie2011-10-104-3/+15
| | | | | | | | | | | | | | | 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-282-0/+198
| | | | | | | | | | | | 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: Fix two QA issuesRichard Purdie2011-09-282-0/+6
| | | | | | | | | | | a) There is a QA warning from a .so being present in a main package. In the case of the plugin library for gcc, this is allowed. b) Remove the unwanted libiberty.a file with the strange path. We don't need/want this and this removes an unpackaged file warning. (From OE-Core rev: ca36a3edf9cede9fa0d73ba1a9538ab467cb5e3c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: include libgcov.a into libgcc-dev packagelumag2011-09-284-2/+4
| | | | | | | | | | | | 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-283-2/+4
| | | | | | | | | | | | | | | | | | | | | | | 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-223-2/+3
| | | | | | | | | | 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-072-1/+51
| | | | | | | | | | | | [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-022-9/+55
| | | | | | | | | | | | | | | 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.5.1: Drop gcc-poison-parameters.patch, replace with bug fix patchKumar Gala2011-08-293-87/+316
| | | | | | | | | | | | | | | | 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/mainline: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44618 Backport patch to gcc 4.5.1. (From OE-Core rev: fef385e37e82a0eec743fbd1da11021b9e7158b5) Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Drop gcc-poison-parameters.patch as its not needKumar Gala2011-08-292-78/+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>
* bitbake meta-toolchain with gcc 4.5.1 failedRobert Yang2011-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes bug [YOCTO #1386] 1) Add the following lines to conf/local.conf: SDKGCCVERSION="4.5.1" GCCVERSION="4.5.1" 2) bitbake meta-toolchain The we will notice the error that sed can't find the directory: ${TMPDIR}/work-shared/gcc-${PV}/gcc-${PV}-${PR} we had changed the name of S from gcc-${PV} to gcc-${PV}-${PR}, but didn't update meta/recipes-devtools/gcc/gcc-common.inc, so fix S in gcc-common.inc would make it work. (From OE-Core rev: 282773ff3e0f365c08ae7e8fe759029f33e575b1) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Delete patch=1, its default and replace pnum with striplevelKhem Raj2011-08-234-33/+33
| | | | | | | | | | 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>
* libgcc: Remove fetch/unpack/patch noexec stampsRichard Purdie2011-08-192-6/+0
| | | | | | | | | | | | | libgcc now uses shared work directories so we cannot mark these tasks as noexec. If we do, the tasks may not run and hence gcc may not get patched for example which results in failures. This patch simple removes the flags since they're unneeded. (From OE-Core rev: e2c03b2a80efeeea2298bdba385671d0ae208e95) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Various fixups to ensure consistent gcc buildsRichard Purdie2011-08-1118-33/+17
| | | | | | | | | | | | | | | 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: use ${base_lib} to match gcc default configurationKumar Gala2011-08-081-1/+1
| | | | | | | | | | | Rather than tweaking MULTILIB_DIRNAMES & MULTILIB_OSDIRNAMES like is done for x86-64 via 64bithack.patch. We can just go with gcc defaults and utilize ${base_lib} for where to find gcc libs. (From OE-Core rev: cfcc282efef30ea1988ccbe14835254a999584ea) Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Add support for the e5500 PowerPC coreKumar Gala2011-08-052-1/+467
| | | | | | | | | | 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-034-7/+11
| | | | | | | | | | | | | | | | | | | | 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>