aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
AgeCommit message (Collapse)Author
2013-09-13bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific ↵Richard Purdie
directory Currently we have a hierarchy of pkgdata directories and the code has to put together a search path and look through each in turn until it finds the data it needs. This has lead to a number of hardcoded paths and file globing which is unpredictable and undesirable. Worse, certain tricks that should be easy like a GL specific package architecture become problematic with the curretn search paths. With the modern sstate code, we can do better and construct a single pkgdata directory for each machine in just the same way as we do for the sysroot. This is already tried and well tested. With such a single directory, all the code that iterated through multiple pkgdata directories and simply be removed and give a significant simplification of the code. Even existing build directories adapt to the change well since the package contents doesn't change, just the location they're installed to and the stamp for them. The only complication is the we need a different shlibs directory for each multilib. These are only used by package.bbclass and the simple fix is to add MLPREFIX to the shlib directory name. This means the multilib packages will repackage and the sstate checksum will change but an existing build directory will adapt to the changes safely. It is close to release however I believe the benefits this patch give us are worth consideration for inclusion and give us more options for dealing with problems like the GL one. It also sets the ground work well for shlibs improvements in 1.6. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06gcc-runtime: Add packaging for libgfortran (and also tweak others)Richard Purdie
Add packaging for libgfortran and libquadmath as well as tweak the packaging for libmudflap since it was broken. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01meta: Don't use deprecated bitbake APIRichard Purdie
These have been deprecated for a long time, convert the remaining references to the correct modules and prepare for removal of the compatibility support from bitbake. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30gcc-4.8: fix ICE of cross-compile for PowerPC e500v2 targetsChunrong Guo
* http://gcc.gnu.org/bugzilla//show_bug.cgi?id=57717#c7 * fix the segfault issue of dd on e500v2 targets Since double-float is disabled for e500v2 targets build due to ICE of gcc-4.8.1, accordingly %Ld format of sprintf is disabled. Address Bug 4910 - [p1022ds]urandom: segmentation fault Signed-off-by: Chunrong Guo <B40290@freescale.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-27gcc-4.8.inc: Allow lto to be configurableRichard Purdie
For some platforms its useful to be able to configure LTO so provide a variable to allow this to happen. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-4.8: Add two patches to deal with cross-canadian build failuresRichard Purdie
See the patch headers for more information about the cross-canadian build failures these patches avoid. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-common.inc: Drop unused LIBGCCS_VAR variableRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-cross.inc: Clean up after mergeRichard Purdie
* Remove the duplicate EXTRA_OECONF_PATHS that is overwritten * Merge the do_compile and do_compile_prepend * Group dependency and configuration variables together Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-cross-canadian: Fold configure-sdk and package-sdk into the main .incRichard Purdie
This also has the advantage of removing the confusing sdk naming which has been purged everywhere else in favour of cross-canadian. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-*-runtime.inc: Fold configuration into gcc-runtime.incRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-*-cross.inc: Fold common configuration into gcc-cross.incRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-target: Combine gcc-target-configure.inc, gcc-target-package.inc and ↵Richard Purdie
other common code Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22libgcc: Move common code to libgcc.incRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-runtime: Fold common configuration into gcc-configure-runtime.incRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-cross-initial: Fold common configuration into gcc-cross-initial.incRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-cross: Fold common configuration into gcc-cross.incRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22bitbake.conf/classes/gcc: Don't hardcode -nativesdkRichard Purdie
Hardcoding -nativesdk as the sdk package architecture is inflexible. We may have multiple different target OS and we need a way to be able to separate them. Turning this into a configurable value allows the flexibility we need to build different SDKMACHINEs with different OS targets. The commit should have no behaviour change, just makes things more configurable. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-cross-canadian: Merge 4.7 and 4.8 recipes into common includeRichard Purdie
This removes duplication and follows the pattern of the other gcc recipes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-cross-canadian-4.8: Add missing dependency on nativesdk-zlibRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-cross-canadian-4.8: Allow elfutils to be a configurable dependencyRichard Purdie
Some SDK platforms have elfutils support, some do not, therefore allow this to be configured. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc: Drop gcc-cross4.inc, its pointless nowRichard Purdie
The include was useful historically, its not anymore so lets remove it. This should have no functional change except on any layers directly depending on it or gcc-cross.inc but even then it would only impact sh4 and is easily fixed if there was a problem. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-configure-sdk.inc: Don't build target-libgccRichard Purdie
I don't understand why we're building the target libgcc in the canadian-cross build since it should have been built elsewhere. The compiler configuration isn't correct to build a working target libgcc in all cases anyway. To avoid various weird build errors, stop building it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-package-sdk.inc: Allow executable extension to be overriddenRichard Purdie
On platforms like windows, executables have extensions. Whilst I'm not proposing we wholesale support windows extensions, this small tweak allows a cross compiler targetting mingw to be built which does seem like a good use case. The patch therefore adds an EXEEXT which the mingw layer can set for the libexec symlinks. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-package-sdk.inc: Use relative symlinks in libexec dirRichard Purdie
We already use relative links for other gcc libexec links, this changes the sdk do_install to match elsewhere and use relative symlinks too. This makes things slightly easier in the SDK installation process and standardises. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22gcc-cross-canadian-4.8: Enable PARALLEL_MAKERichard Purdie
This disabling of PARALLEL_MAKE has been forward ported for gcc-cross-canadian since at least 2009-09 and gcc 4.3.3, probably older. I've tested this with high values of parallel make and it all seems to work and we usually build gcc with parallel make so it seems unlikely there are issues. Lets therefore enable it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-02gcc-4.8: Fix meta-fsl-arm iperf build issueKhem Raj
This should fix the problem seen where gcc ICE was happening when compiling iperf with older 2.6.x kernel Test this patch by reverting below commit in meta-fsl-arm commit daf582c93a7283fb0af3b25fe2ada48f4c9985c4 Author: Otavio Salvador <otavio@ossystems.com.br> Date: Tue Jul 2 11:52:51 2013 -0300 perf: Disable FPU tune for i.MX5 SoCs to workaround GCC ICE Signed-off-by: Khem Raj <raj.khem@gmail.com> CC: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-25gcc-4.8: fix compiling GCC when /usr/lib/libstdc++.so is presentJonathan Liu
libtool is picking up libstdc++.so from /usr/lib when trying to link libasan due to libstdc++.la containing libdir="/usr/lib". If compiling for x86 and the host has 64-bit /usr/lib/libstdc++.so, the compilation fails linking libasan with: /usr/lib/libstdc++.so: could not read symbols: File in wrong format To resolve this, patch libtool to look for the library in the path the .la is contained in rather than use the libdir which usually points to a host path. [YOCTO #4879] Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-18gcc-4.8: Fix on-device SDK C++ runtime issueKhem Raj
This fixes the issue where g++ is not able to find C++ headers when sysroot is '/' The patch needs to be upstreamed into gcc as well. [Yocto #4812] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-27gcc-4.8: Fix ICE on ppc/spe targetsKhem Raj
Rename patches to make them easly to apply with git Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-25gcc: When cross compiling a target gcc, target flags may be used on the hostMark Hatle
The original fix worked some of the time, but not on all machines. Fix this by applying the change in a different way. Following the example of the existing BUILD_CFLAGS. Below is the commit message from the original change to help explain why this is needed: Configure identifies a number of warning flags (WARN_CFLAGS and WARN_CXXFLAGS) from the $CC value. The cross compiler may be different from the host compiler and may not support the same set of flags. This leads to problems such as: cc1plus: error: unrecognized command line option "-Wno-narrowing" cc1plus: error: unrecognized command line option "-Wno-overlength-strings" Work around this problem by removing the warning flags from the BUILD_CXXFLAGS value, in a way similar to the BUILD_CFLAGS. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-17gcc-4.8: Backport fix for ICE triggered in pixmanMartin Jansa
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57329 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-13gcc: Upgrade to 4.8.1Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-04gcc: 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. 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-06-04gcc: Workaround for compiler flag mismatchMark Hatle
When cross compiling the target compiler, both the cross-compiler and the host compiler are used. However, the -W options used were discovered from the cross-compiler and may be incompatible with the host compiler. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09gcc-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 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-08gcc-configure-target: Add --enable-dependency-tracking to EXTRA_OECONFKhem Raj
Fixes errors seen while compiling gcc 4.8 for target, errors like | /home/khem/work/angstrom/build/tmp-angstrom_next-eglibc/work-shared/gcc-4.8.0-r0/gcc-4.8.0/libatomic/cas_n.c:125:1: fatal error: opening dependency file .deps/cas_1_.lo.Ppo: No such file or directory which are due to disabled dependency tracking but dependency files being still generated while compiling libatomics. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-03gcc-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 Signed-off-by: Josh Cartwright <josh.cartwright@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03gcc-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. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-22gcc-4.8: Fix GCC ICE on armKhem Raj
armv5t was seeing ICE on code from elfutils it has been fixed upstream so lets backport it. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-22gcc-4.8: Refactor gcc-4.8.0 patch files.Elvis Dowson
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-22gcc-4.8: Add recipesKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
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>