summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
Commit message (Collapse)AuthorAgeFilesLines
* gcc-cross-intermediate: fix do_install for x32Nitin A Kamble2012-04-041-1/+1
| | | | | | | | | | | | | | | This Fixes [Ycoto #2223] bug. The gcc osdir is obtained in the do_install by invocation of command "gcc -print-multi-os-directory". For x32 it returns gcc osdir for the default abi which is x86_64. Fix this by adding target abi parameter to the gcc command line to get correct gcc osdir with invocation of command "gcc -mx32 -print-multi-os-directory" (From OE-Core rev: e65b6a4282d5c4882d0565b79ccba99db90161ff) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-intermediate: Ensure we move the libraries from the correct locationRichard Purdie2012-03-281-1/+2
| | | | | | | | | | | | | | | This fixes multilib issues if you try for example to use a BASELIB of /lib32 which wouldn't work without this change since the compiler install location is taken from gcc -print-multi-os-directory which can still turn out to be "/lib". The reason is that a 32 bit gcc has no multilib code enabled and will always return "." as that value rather than "../${base_libdir}" which our changes to gcc enable and return in 64 bit mode. (From OE-Core rev: cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Clean non shipped empty directories.Lianhao Lu2012-03-271-5/+6
| | | | | | | | | Cleaning up non shipped empty directories. (From OE-Core rev: e2fd32919e1d96136528c61677bdfeee2b064320) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Fixed packaging warnings.Lianhao Lu2012-03-261-0/+7
| | | | | | | | | | | | Removed non-shipped empty directories: -${prefix}/${TARGET_SYS} -${libdir}/../lib -${prefix}/include (From OE-Core rev: 04a08bf7e8d7cf4b6b844a88173b5d1d7917c8af) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgcc: corrected -nativesdk package namings.Lianhao Lu2012-03-232-5/+8
| | | | | | | | | | | | | | | | | 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>
* Revert "gcc-cross: aviod creating invalid symlinks"Richard Purdie2012-03-142-6/+3
| | | | | | | This reverts commit 7893e74311e53882d8f93ecb95a6bd9f5b14651e since it breaks the builds. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross: aviod creating invalid symlinksRobert Yang2012-03-142-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | There are several invalid symlinks in gcc-cross-initial, gcc-cross-intermediate and gcc-cross, these cause the error:(56 errors) tmp/work/i586-poky-linux/gcc-cross-initial-4.6.3+svnr184847-r23/temp/log.do_populate_sysroot: log.do_populate_sysroot:grep: /path/to/invalid/symlink: No such file or directory Avoid creating invalid symlinks would fix this problem. Use the: [ ! -e file ] || do_something But not use: [ -e file ] && do_something is because that if the "file" doesn't exist, then the whole statement would return false, and bitbake treats this an error, so use the "||" to let it always be true. [YOCTO #2095] (From OE-Core rev: 7893e74311e53882d8f93ecb95a6bd9f5b14651e) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Upgrade to 4.6.3 releaseKhem Raj2012-03-086-151/+131
| | | | | | | | | | 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>
* meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)Richard Purdie2012-03-052-2/+2
| | | | | | | | sed \ -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data.expand *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie2012-03-052-4/+4
| | | | | | | | | | | | Using "1" with getVar is bad coding style and "True" is preferred. This patch is a sed over the meta directory of the form: sed \ -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \ -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \ -i `grep -ril getVar *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross.inc: Fix cross testing scripts to work with dashKhem Raj2012-03-041-2/+2
| | | | | | | | | dash does not like >& so be explicit and say 2>&1 (From OE-Core rev: 1d262630853e65be9167d904b934b581acf64182) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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>