aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
AgeCommit message (Collapse)Author
2012-09-28eglibc/gcc: add patches to fix eglibc 2.15 buildMatthew McClintock
This drops one patch against eglibc for 2.15 and adds two new ones, also it adds a gcc patch. We use all of these internally and they are tested quite well. (From OE-Core rev: a7014c446b0d2f3b40c4b058c64bb61c8720d799) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21gcc-package-runtime.inc: Fix QA warningMatthew McClintock
> ERROR: QA Issue: gcc-runtime: Files/directories were installed but not shipped > /usr/lib/libgomp.so.1.0.0 > /usr/lib/libgomp.so.1 (From OE-Core rev: 4ec107f822453bd9468009d7a2124a3d592610b5) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21libgomp: add libgomp (openmp) library, and build for powerpc targets by defaultMatthew McClintock
(From OE-Core rev: d58668c6770f519199192c7e3817fbc7d6576af3) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21gcc: gcc-cross-canadian: use correct location for libraries for powerpc64Matthew McClintock
This fixes the issue where gcc invokes the linker with an incorrect -L library location and gives up because it can't find libraries. It was looking in a /lib folder instead of /lib64 (From OE-Core rev: aa010039a38188f1b1b38a978287d1597138b8b9) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21gcc-configure-common.inc: use --with-long-double-128 on powerpc to comply ↵Matthew McClintock
with ABI (From OE-Core rev: a2e00d2cae8e4b58fc3b9fc7853da519a615aa31) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31gcc: Add plugins package for ARM, fix /usr/incude packagingSaul Wold
WARNING: For recipe gcc, the following files/directories were installed but not shipped in any package: WARNING: /usr/include WARNING: /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc WARNING: /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config WARNING: /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config/arm WARNING: /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config/arm/bpabi-lib.h (From OE-Core rev: cf49cf3958b24fdb89d57abbf1f1b30c07a06030) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31libgcc: Package additional *crt*.o files for PPCSaul Wold
WARNING: For recipe libgcc, the following files/directories were installed but not shipped in any package: WARNING: /usr/lib/powerpc-poky-linux/4.6.4/ecrti.o WARNING: /usr/lib/powerpc-poky-linux/4.6.4/ncrti.o WARNING: /usr/lib/powerpc-poky-linux/4.6.4/ecrtn.o WARNING: /usr/lib/powerpc-poky-linux/4.6.4/ncrtn.o (From OE-Core rev: 580d734ddc928aaaac9acaa248427b01731074f2) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-15gcc-configure-common.inc: Stop gcc looking at build system pathsRichard Purdie
There were puzzling failures when you make a force recompile of any gcc component. The error was in do_configure with cross-compilation badness being detected in config.log files. gcc is different in that many of the config.log files are generated during the do_compile phase. This means this host contamination issue has always been present but only shows up on a rebuild. The fix is to force the appropriate configuration variable to "none required" then gcc won't look in the bad locations. [YOCTO #2279] (From OE-Core rev: e7135f14f3ef37f93f5c28b319464f3d6dd9b8da) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-13gcc-4.6: Add fix for relocation problem and ccacheRichard Purdie
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>
2012-04-04gcc-cross-intermediate: fix do_install for x32Nitin A Kamble
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>
2012-03-28gcc-cross-intermediate: Ensure we move the libraries from the correct locationRichard Purdie
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>
2012-03-27gcc-cross-canadian: Clean non shipped empty directories.Lianhao Lu
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>
2012-03-26gcc-cross-canadian: Fixed packaging warnings.Lianhao Lu
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>
2012-03-23libgcc: corrected -nativesdk package namings.Lianhao Lu
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>
2012-03-14Revert "gcc-cross: aviod creating invalid symlinks"Richard Purdie
This reverts commit 7893e74311e53882d8f93ecb95a6bd9f5b14651e since it breaks the builds. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14gcc-cross: aviod creating invalid symlinksRobert Yang
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>
2012-03-08gcc: Upgrade to 4.6.3 releaseKhem Raj
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>
2012-03-05meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)Richard Purdie
sed \ -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data.expand *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie
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>
2012-03-04gcc-cross.inc: Fix cross testing scripts to work with dashKhem Raj
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>
2012-02-26Quoting fixesRichard Purdie
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>
2012-02-21gcc: Excluding the DATE/SRCDATE from do_patch dependency.Lianhao Lu
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>
2012-02-10gcc: Ensure same sstate hashes for shared soruce directoryLianhao Lu
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>
2012-02-10gcc-4.6: Some small performance tweaksRichard Purdie
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>
2012-02-08gcc-cross-testing: Fix evaluation of user and target nameKhem Raj
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>
2012-02-01gcc-runtime: fix override from poky-lsb to linuxstdbaseSaul Wold
(From OE-Core rev: 1f5de4b36ad5853e489e47078c830f12a1c71ce9) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-26libgcc: Add INSANE_SKIP of staticdev for libgcc-dev and libgcov-devSaul Wold
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>
2012-01-25gcc-cross: Don't reference machine specific variablesRichard Purdie
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>
2012-01-24gcc-common.inc: Fix commentRichard Purdie
(From OE-Core rev: a4a98b6d6273d4e716afbff0880d0ac2ff7be0a9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24gcc-common.inc: Ensure WORKDIR doesn't adversly affect sstate checksumsRichard Purdie
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>
2012-01-24gcc: move shared .a to their own packageSaul Wold
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>
2012-01-24libgcc: Seperate out libgcov.a from libgcc-devSaul Wold
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>
2012-01-24gcc_4.6.bb: Drop duplicated SRC_URI componentRichard Purdie
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>
2012-01-23gcc-package-cross.inc: Mark do_package* tasks as noexecRichard Purdie
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>
2012-01-23gcc: Ensure that the shared source directory shared the same sstate hashesRichard Purdie
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>
2012-01-03gcc: mark upstream status for all patchesNitin A Kamble
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>
2011-12-19gcc-4.6: Let G++ relocate gxx-include-dir when using --sysroot optionKhem Raj
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>
2011-12-19gcc-cross: Add cross testing driver for running regression testsuitesKhem Raj
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>
2011-12-16libgcc: reintroduce debug package, containing symbolsDmitry Eremin-Solenikov
(From OE-Core rev: 1c97310f76999dc68de0958485d3edb75398854d) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15cross-recipes: Disable nls in gettext bbclassKhem Raj
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>
2011-12-06gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlibKhem Raj
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>
2011-11-30Fix multiarch DISTRO_FEATUREJulian Pidancet
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>
2011-11-29Introduce multiarch DISTRO_FEATUREJulian Pidancet
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>
2011-11-24gcc-package-target.inc: add the symbol link /lib/cppDexuan Cui
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>
2011-11-21gcc-4.6: Fix gcc ICE on qt4-x11-free/armv7-aKhem Raj
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>
2011-11-16gcc-4.6: fix toolchain build for SH4Michael Brown
(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>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie
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>
2011-10-24gcc-4.6: Backport fix for PR32219Khem Raj
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>
2011-10-24gcc-configure-sdk: Point sysroot to correct locationKhem Raj
(From OE-Core rev: c9883733fed9267b1a936c08500a4caf8dc52d3d) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20gcc-4.6: Backport PR46934 fixKhem Raj
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>