aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
AgeCommit message (Collapse)Author
2013-08-16gcc: add build directory to include directoriesRoy.Li
Add build directory to include directories by -I${B}/include which will be searched before standard system include directories. Both libunwind and gcc supply unwind.h, once gcc use libunwind's unwind.h, the compiling will fail. This patch is generally not applicable to the upstream as they do not use libunwind. (From OE-Core master rev: 2b47bce78536a800205b2385bba69038351545e5) Signed-off-by: Roy.Li <rongqing.li@windriver.com> Signed-off-by: Jeff Polk <jeff.polk@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-20gcc-configure-cross.inc: Remove info generationKhem Raj
Some distros have newer makeinfo which does not go well with anything below gcc 4.8, this fix avoids regenerating info files (From OE-Core master rev: 50ac2ed5299e2b47b2f3fd9c9cde9d733d2f8d9b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-20gcc-4.7: fix gcc ICE when building with gcc-4.8Josh Cartwright
Backport fix for internal compiler error when building gcc-4.7.2 with a gcc-4.8.0 host gcc. See upstream bug here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56308 (From OE-Core master rev: b1dc91969f9bb0c2a3a4336f5e9a2f57aabb9f78) Signed-off-by: Josh Cartwright <josh.cartwright@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-20gcc-runtime: Avoid error when trying to remove nonexistent directoriesPhil Blundell
If we didn't build libgomp then we won't have installed anything into ${infodir} or ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude. Check whether those directories exist before trying to remove them, else we will lose. (From OE-Core master rev: 507e14ecdc5b4ff2ee7f1128d9f30c2948e10d5a) Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-04gcc: add patch to disable texinfo when texinfo is 5.0 or newerMartin Jansa
* this is needed only for 4.7 series, newer works fine with texinfo-5* [YOCTO #3947] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18gcc-common: Exclude AVAILTUNES from sstate checksumsRichard Purdie
AVAILTUNES is only used as a sanity check, we don't need to include it in the sstate checksum in this case. If included it can cause problems when switching machines with a common package architecture. [YOCTO #3667] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-16gcc-cross-canadian: do not create symlinks to non-existent binariesLaurentiu Palcu
If fortran is not built, soft links to gfortran and g77 are created even though the fortran compiler doesn't exist... [YOCTO #4023] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-12gcc-4.7: Fix incorrect warning with -Wcast-qualKhem Raj
This patch backport the fix where -Wcast-qual reports a bogus warning with 4.7.2, There is no workaround in code that can be done to avoid it hence the fix to gcc is backported. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-04gcc-common.inc: handle case where tune is not definedMatthew McClintock
Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11gcc-cross-canadian: enable multilib supportConstantin Musca
Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-05libgcc: Disable multilib install for nativesdkKhem Raj
Fixes errors when building SDK for multilibbed enabled architectures. [YOCTO #3832] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-04gcc: target: fix libiberty removalConstantin Musca
- use ${libdir} instead of ${exec_prefix}/lib Fix the following warning: WARNING: QA Issue: gcc: Files/directories were installed but not shipped /usr/lib64/libiberty.a Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-01gcc: enable multilib for target gccConstantin Musca
- add a task to setup multilib configuration for target gcc - this commit adapts Nitin Kamble's work to gcc 4.7 - use a hash for storing arch-dependent multilib options - patch gcc in order to use the multilib config files from the build directory Tests: root@qemux86-64:~# gcc -m64 t.c -o t root@qemux86-64:~# file t t: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped root@qemux86-64:~# ./t Hello World ! root@qemux86-64:~# gcc -m32 t.c -o t root@qemux86-64:~# file t t: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped root@qemux86-64:~# ./t Hello World ! [YOCTO #1369] Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-01-27gcc-configure-runtime: always remove info/dirMartin Jansa
* move libgomp.info removal also outside that for cycle, can be removed outside if exists * also use infodir variable instead of ${datadir}/info Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25Split do_packagedata task from do_packageRichard Purdie
Currently, do_rootfs has a dependency on all the do_package output being present due to its usage of the pkgdata directories. This means that if you run: bitbake xxxx-image -c rootfs you end up having to fetch and unpack all the do_package data which is usually large and inefficient. It also means rm_work has to leave all the do_package data lying around so rootfs works. This patch splits the actual creation of the pkgdata directory off into a separate task, "packagedata" which happens immediately after do_package. We can then remap the dependencies so this task is depended upon, not do_package. Sstate can then be programmed not to require do_package at the appropriate times. Whilst this patch doesn't do so, it opens the possibility of rm_work wiping out the do_package output from WORKDIR as long as it also removed the do_package stamp (both normal and setscene variants) and allowing more space savings with rm_work which has been regularly requested. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25gcc: Enable OpenMP compiling and libraryMiLo
Multicore embedded systems are getting more and more common. Remove "--disable-openmp" from the GCC configuration options and always build libgomp. This only creates a "bigger" compiler but has no effect on the compiled binaries that don't use openmp. Tested a clean build on mips32el and arm7a, no problems encountered. Autoconf will not detect OpenMP after this change, because it will build and run a target binary on the build system. In order to use OpenMP, the variable ac_cv_prog_c_openmp=-fopenmp must be set. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-15gcc: add missing dependency (zlib)Constantin Musca
- add zlib to DEPENDS (it fails otherwise) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-01-07gcc: restore FILESPATHGiuseppe CONDORELLI
restore FILESPATH to previous setting because the new one doesn't allow the normal use of FILESEXTRAPATHS_prepend in the case of append recipe. In the current implementation, in fact, the FILESPATH is statically set into the gcc-4.7.inc and so the base_set_filespath is not invoked to manage extrapaths. Signed-off-by: Giuseppe Condorelli <giuseppe.condorelli@st.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-19gcc-cross-canadian.inc: Add dependency on cross-gccKhem Raj
gcc-cross-canadian uses cross compiler during libgcc build when building from sstate the build failed when building gcc-cross-canadian since it did not populate gcc-cross therefore add an explicit dependency on virtual/${TARGET_PREFIX}gcc to make sure that gcc-cross is available before building gcc-cross-canadian Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-11-24gcc: Add --enable-linker-build-idColin Walters
See https://fedoraproject.org/wiki/Releases/FeatureBuildId for the benefits this brings. As far as I can tell from searching the discussion archives, there doesn't appear to be a reason not to enable this, and the benefits are real. Both the Red Hat Enterprise Linux 6, all Fedora, and Ubuntu Quantal GCC builds are configured with this on. I plan to use it in gnome-ostree. Signed-off-by: Colin Walters <walters@verbum.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-24gcc-cross: Explicitly depend on linux-libc-headersRichard Purdie
gcc-cross cannot build without linux-libc-headers but doesn't explicitly depend on it relying on the implied dependency through libc. With cases where pieces can be installed through sstate, we now need this explicit dependency to ensure builds with partial sstate work. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-21gcc: Use FILESPATH instead of FILESDIR and cleanup/simplifyRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-14classes: Be consistent about sstate-inputdirs/outputdirs ending with '/'Richard Purdie
If sstate-inputdirs and sstate-outputdirs don't match with ending '/' characters, the manifest file can end up corrupted. This change ensures the metadata is consistent in ending do_populate_root tasks with this character to avoid manifest file corruption. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10gcc-cross-canadian: Fix gettext dependencyRichard Purdie
There was a problem in commit ad23395cd1f6c0cbfcc6980b6071d589f9f6cde0 since gettext-nativesdk was translated to gettext instead of nativesdk-gettext. This fixes to use the correct dependency. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26gcc-configure-cross: factor out --enable-threads argument into ${GCCTHREADS}Phil Blundell
This allows BSPs for architectures with no thread support to set (for example) "GCCTHREADS=no" without having to override all the other configure parameters. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25gcc-common.inc: Consider multilib when renaming libgcc for debian'nessKhem Raj
When doing multilib builds rpm does not find libgcc1 for lib32 multilib because its not honoring the debian renaming scheme for libgcc-multilib. Lets add MLPREFIX to fix it. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21gcc: Use 4.7.2 release tarballKhem Raj
This avoids the SVN or git fetcher issues for gcc and the tar is mirrored around the world so it will not be slow Fixes [YOCTO #2908] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21bitbake.conf/gcc-common.inc: Fix STAMPCLEAN expressionRichard Purdie
The globs used for STAMPCLEAN were too greedy matching gcc-cross-initial stamps for gcc-cross for example. This patch resolves that problem making the assumption that PV starts with something numeric. This assumption should hold in most cases and has a better failure case that the current situation. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20bitbake.conf/gcc: Add clean masks for stamp filesRichard Purdie
This takes advantage of new bitbake functionality to clean up stale stamp files when creating new stamp files. [YOCTO #2961] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12gcc-4.7: Backport libgcc fixes to appease the new build sequenceKhem Raj
This makes the libgcc builds identical when done with gcc-cross-initial or final gcc-cross. Since eglibc only sees gcc-cross-initial it is important that the final libgcc that appears on root file system is same as the one against which eglibc was built. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-12gcc-4.7: Fix build for armv4/EABI and ppc/OsKhem Raj
arm patch is a forward port from OE/classic ppc patch should help in building images with Os Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-06gcc-cross-initial: Reinstate limits.h generation fixRichard Purdie
The removal of gcc-cross-intermediate inadvertently reintroduced a problem with the limits.h file being incorrectly/inconsistently generated. http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=b0faebd1f07e1616004bd19664395932e7c2c48f reverted part of: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c8815d2f21849deb9359706f54dc71490773415e This reintroduces the protected sysroot ensuring the limits.h file is always correctly generated. To reproduce the bug, build gcc-cross, then rebuild gcc-cross-initial and it will reference the limits.h file from gcc-cross in the sysroot. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-31nativesdk: Switch to using nativesdk as a prefix, not a suffixRichard Purdie
As discussed on the mailing lists, using a suffix to package names is hard and has lead to many recipes having to do PKGSUFFIX games. Its looking extremely hard to scale nativesdk much further without hacking many recipes. By comparison, using a prefix like multilib does works much better and doesn't involve "hacking" as many recipes. This change converts nativesdk to use a prefix using the existing multilib infrastructure. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-24gcc-4.7: Add fix for libtool rpath problemsRichard Purdie
This avoids problems with libstdc++ having bad rpaths (/usr/lib/../.lib) in its .la file. See the patch for more information. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-22gcc: bump PRMartin Jansa
* missing in 30617bde61a3b0a0944b49a0c9fb7159dacbb19f, eglibc-initial fails to compile in incremental build with OEBasic Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-21gcc-cross-intermediate, gcc-crosssdk-intermediate: RemoveKhem Raj
These recipes arent used anymore so delete them Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-08-21gcc-crosssdk-initial_4.7.bb: Add --with-native-system-header-dir to EXTRA_OECONFKhem Raj
gcc-crosssdk-intermediate will go away and -initial will assume its responsibility therefore transfer the option Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-08-21gcc-cross: Make gcc-cross-initial as the only intermediate gcc stageKhem Raj
Now glibc can be compiled with gcc-cross-initial therefore prepare the stage to drop gcc-cross-intermediate Also drop arm-nolibfloat.patch should not be needed anymore half of changes in this patch are meant for OABI which we dont use anymore Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-08-07gcc: Disable use of sdt.h headerRichard Purdie
The target sysroot might contain sdt.h but we don't list this in DEPENDS and shouldn't be referencing it. Unfortunately there is no way to tell configure this since these tests are uncached and we can't force a particular value. The only option is therefore to patch this out. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06gcc-cross-initial: Ensure it uses an isolated sysrootRichard Purdie
If we don't do this, a stale limits.h may be detected in STAGING_DIR_TARGET which would result in a different limits.h getting generated by gcc-cross-initial that references it. The referenced limits.h will then not get found by eglibc-initial causing rather strange build failures. The simplest solution is to create a temporary sysroot containing only the things gcc-cross-initial should care about and this results in a correct limits.h file regardless of what else may have been built. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-03gcc: Bump PR since there have been several gcc changes and various problems ↵Richard Purdie
reported and this should flush anything stale out Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-03gcc-cross-initial: Fix typo causing limits.h not to be presentRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01gcc-configure-target: Set native-system-header-dir for target gccRichard Purdie
Without this set, in the case host=target (which it does for on-target gcc), the native header directory is set to the target sysroot with no prefix. This means it would look for sdt.h on the build system instead of in the target headers and this can lead to build failures and is host contamination of the build. The correct fix is to explicitly set the native header directory to the correct location and then the headers get detected correctly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-26gcc-cross-initial: Stage self sufficient fixed limits.hKhem Raj
currently gcc installs a limits.h which references to another limits.h which it expects from target sysroot and that header in target sysroot will come from eglibc. So we need to break this catch-22 and hence we install a self sufficient limits.h which is then happy when referenced and doesnt complain about missing limits.h from target sysroot. This is mostly used when eglibc-initial configure is run Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-24libgcc: Add missing dependency on libc:do_packageRichard Purdie
do_package writes out shlibs data and libgcc can depend on the values there. We therefore need to express the depdency so that sstate can account for it for example. Without this a version change in eglibc can "psersist" in the sstate cache and corrupt builds. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-18gcc: remove 904-flatten-switch-stmt-00.patchBernhard Reutner-Fischer
Remove brute-force flattening and bump PR. Refer to -ftree-switch-conversion emit_case_bit_tests(), -ftree-if-to-switch-conversion et al in 4.8 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-18gcc-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 Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-17gcc-cross-initial.inc: Use BFD ld as default alwaysKhem Raj
When using gold as default linker in final toolchain gcc-cross-initial still needs to use BFD ld since it will link eglibc-initial Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17gcc: Switch to git SRC_URIKhem Raj
svn has been giving troubles with svn 1.7 upgrade Remove duplicate definition of S and B variables from gcc-4.7.inc Use 4.7.1.0 for PV to maintain the upgrade path Its an interim solution once we upgrade to 4.7.2 we will drop it. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17gcc: Refresh support for fsl E5500/E6500Khem Raj
These patches are backport from gcc mainline they fix issues where eglibc was not compilable for e5500+ due to missing vector intrinsics It obsoletes the existing e5500 patch Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>