summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc
Commit message (Collapse)AuthorAgeFilesLines
* gcc-4.6: disable cloog, change syntax to disable pplAndreas Oberritter2012-05-061-2/+3
| | | | | | | | | | | | | | | * Backported from 523df15bcc21e1749771cca757613f3520243b8e as suggested by Khem. * Original commit message: If build system has those libraries installed gcc configure will pick them up. We want consistent builds so we disable them since we do not (yet) support them Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: explicitly disable pplAndreas Oberritter2012-05-041-1/+2
| | | | | | | | * Fixes the following error after a system library upgrade | .../mipsel-oe-linux/4.6.4/cc1: error while loading shared libraries: libppl.so.10: cannot open shared object file: No such file or directory Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-package-target: add libexec for pluginSaul Wold2012-05-032-2/+2
| | | | | | | | Fixes: ERROR: For recipe gcc, the following files/directories were installed but not shipped in any package: ERROR: /usr/libexec/gcc/i586-poky-linux/4.7.1/plugin/gengtype Signed-off-by: Saul Wold <sgw@linux.intel.com>
* libgcc: Add MLPREFIX to sanity check skipSaul Wold2012-05-021-2/+1
| | | | | | | | | | | Fixes: ERROR: QA Issue: non -staticdev package contains static .a library: lib32-libgcov-dev path '/work/x86-pokymllib32-linux/lib32-libgcc-4.7.0+svnr186651-r0/packages-split/lib32-libgcov-dev/usr/lib/i586-pokymllib32-linux/4.7.1/libgcov.a' ERROR: QA run found fatal errors. Please consider fixing them. ERROR: Function failed: do_package_qa ERROR: Logfile of failure stored in: /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/work/x86-pokymllib32-linux/lib32-libgcc-4.7.0+svnr186651-r0/temp/log.do_package.9691 NOTE: package lib32-libgcc-4.7.0+svnr186651-r0: task do_package: Failed ERROR: Task 1077 (virtual:multilib:lib32:/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-multilib/build/meta/recipes-devtools/gcc/libgcc_4.7.bb, do_package) failed with exit code '1' Signed-off-by: Saul Wold <sgw@linux.intel.com>
* gcc-cross.inc: Fix cross testing scriptKhem Raj2012-05-011-2/+3
| | | | | | | | shift the cmdline argument after determining there is atleast 1 argument to shift otherwise it ends up in error when no argument is specified Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-package-sdk: Package plugin files generated by gcc-4.7Khem Raj2012-04-261-0/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.7: Do not use --with-header option for cross-gccKhem Raj2012-04-262-1/+7
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.7: Let cpp specs honor include searches in relocated install treeKhem Raj2012-04-262-0/+46
| | | | | | Fix from Yocto Bug 2074 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.7: Use full relative path in require directiveKhem Raj2012-04-2610-10/+10
| | | | | | | | This will help in meta-linaro where it will be able to utilize maximum recipes from OE-Core and thereby keep close compatibility with OE-Core gcc recipes Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libgcc-4.7: Package libgcov nativesdk correctlyKhem Raj2012-04-261-4/+9
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.7: Lower the internal consistency check level to releaseKhem Raj2012-04-261-0/+1
| | | | | | | | | This should help in speeding up compilation at the expense of a bit less info when gcc ICEs but we dont get many gcc ICEs and therefore using --enable-checking=release is right balance Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.7: Disable cloog and pplKhem Raj2012-04-261-0/+2
| | | | | | | | | If build system has those libraries installed gcc configure will pick them up. We want consistent builds so we disable them since we do not (yet) support them Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-package-target: Add the dangling files to specific packagesKhem Raj2012-04-261-3/+8
| | | | | | create a new package to have lto dev packages bundled Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-crosssdk-intermediate: Use --with-native-system-header-dir for 4.7Khem Raj2012-04-263-2/+2
| | | | | | | --with-native-system-header-dir is relative to sysroot which is what we want --with-headers is deprecated anyway Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-cross-canadian_4.7.bb: Override ARCH_FLAGS_FOR_TARGETKhem Raj2012-04-261-0/+3
| | | | | | We need -isystem=${target_includedir} in there Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.7: Define own do_configure_prependKhem Raj2012-04-261-0/+18
| | | | | | gcc-4.7 does not define STANDARD_INCLUDE_DIR Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.7: Add recipesKhem Raj2012-04-2640-0/+5636
| | | | | | | Add new recipes for gcc-4_7-branch right now gcc 4.7.0 is latest release from this branch Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-configure-common.inc: Use libc-uclibc overrideKhem Raj2012-04-261-3/+1
| | | | | | Its better than duplicating the overrides Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.6: Specify complete paths in require directiveKhem Raj2012-04-2610-10/+10
| | | | | | | | | | This is needed for adjusting meta-linaro where linaro gcc recipes leverage the core recipe infrastructure and modifies minimal to keep compatibility with OE-Core so that any changes in OE-Core gcc recipes does not trigger changes in meta-linaro. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-4.6: Remove redundant overridesKhem Raj2012-04-261-4/+1
| | | | | | | Use libc-uclibc override instead of TARGET_OS override Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libgcc_4.6: Package libgcov nativesdk correctlyKhem Raj2012-04-261-10/+10
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-configure: Render --with-local-prefix harmlessKhem Raj2012-04-267-9/+5
| | | | | | | | | | this option by default points to /usr/local no matter what so we cant let it sit on sidelines otherwise it will access host machine's /usr/local which may not be desired. So disable this option. This also helps in making gcc's shared state more consistent Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc: Stash the gcc-cross builddir to reuse in libgcc and gcc-runtimeKhem Raj2012-04-264-32/+40
| | | | | | | | | | | | | | | | Currently we stash the libgcc install tree and then reuse that to populate libgcc recipe later. This mechanism does not work for gcc 4.7/trunk since now libstdc++ needs access to build tree of libgcc. This patch stashes the gcc-cross build tree and then reuses this in libgcc as well as in gcc-runtime recipe builds. Now we build libgcc in the libgcc recipe instead of just using the prebuilt install tree core-image-minimal build/run tested on all qemu machines Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-configure: Pass distinct target flagsKhem Raj2012-04-263-0/+12
| | | | | | | | | | | | | | When building gcc-cross-canadian libgcc is built using headers from gcc-crosssdk and not the target sysroot because we do not pass proper CFLAGS for target bits so it ends up using CFLAGS that were meant for compiling canadian gcc itself. It does not show up as a problem when building SDK with eglibc because eglibc-nativesdk and eglibc have identical headers. The problem shows up clearly when you try to build uclibc based meta-toolchain since then nativesdk libc and target libc are different Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc: Add plugins package for ARM, fix /usr/incude packagingSaul Wold2012-04-241-1/+7
| | | | | | | | | | 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 Signed-off-by: Saul Wold <sgw@linux.intel.com>
* libgcc: Package additional *crt*.o files for PPCSaul Wold2012-04-241-1/+1
| | | | | | | | | 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 Signed-off-by: Saul Wold <sgw@linux.intel.com>
* gcc-configure-common.inc: Stop gcc looking at build system pathsRichard Purdie2012-04-151-0/+4
| | | | | | | | | | | | | | | | | 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] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Add fix for relocation problem and ccacheRichard Purdie2012-04-132-1/+42
| | | | | | | | | | | | | | | | | 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] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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" Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
* 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. 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. 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 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' 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.
* 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] 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 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-031-2/+2
| | | | | | | dash does not like >& so be explicit and say 2>&1 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. 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. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* 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. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* 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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-testing: Fix evaluation of user and target nameKhem Raj2012-02-071-3/+3
| | | | | | | Dont use -q to grep we pipe to /dev/null anyway all we care is the return status of grep Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gcc-runtime: fix override from poky-lsb to linuxstdbaseSaul Wold2012-02-011-1/+1
| | | | Signed-off-by: Saul Wold <sgw@linux.intel.com>
* 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. 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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-common.inc: Fix commentRichard Purdie2012-01-241-1/+1
| | | | 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. 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). Signed-off-by: Saul Wold <sgw@linux.intel.com>