summaryrefslogtreecommitdiffstats
path: root/package/gcc
Commit message (Collapse)AuthorAgeFilesLines
...
* gcc: switch to gcc 4.8.x as the default compiler versionThomas Petazzoni2014-06-011-1/+1
| | | | | | | | | | | | gcc 4.7.x is going to be retired soon, and now that gcc 4.9.0 is out, it's time for Buildroot to switch to gcc 4.8.x as the default gcc compiler version. See https://gcc.gnu.org/ml/gcc/2014-05/msg00324.html for details about gcc 4.7.x life cycle. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* powerpc: add powerpc64 and powerpc64le supportCody P Schafer2014-05-261-6/+6
| | | | | | | | | | This enables powerpc64 and powerpc64le. Currently, le needs at least glibc 2.19 and gcc 4.9.0. For gdb, 7.7.1 works (added in an earlier patch). [Peter: also disallow gcc 4.8 for ppc64le] Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Add support for powerpc64leJeff Bailey2014-05-251-1/+1
| | | | | | | | | | | This patch adds support for powerpc64le-linux-gnu. This includes needed patches to fakeroot and gmp. gmp patch is from upstream HG tree. fakeroot patch is from Ubuntu written by Adam Conrad. Signed-off-by: Jeff Bailey <jeffbailey@google.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: bump 4.8.x series to version 4.8.3Gustavo Zacarias2014-05-2214-391/+134
| | | | | | | | | | | | | Update 900-musl-support.patch with upstreamed chunks. Now upstreamed hence dropped: 840-PR57717.patch (in another way). 842-gcc-4.8.2-Fix-PR-target-58854.patch 843-gcc-4.8.2-Fix-PR-target-58595.patch 850-xtensa-libgcc-linker-script.patch Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain/gcc: musl is not available for gcc 4.3.x eitherGustavo Zacarias2014-05-061-0/+2
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: disable libsanitizer for muslThomas Petazzoni2014-05-051-2/+3
| | | | | | | | | A build issue affects libsanitizer on musl toolchains, even with previous versions of gcc such as 4.8.x, so we disable building libsanitizer when working with musl. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: musl patches only available for gcc 4.7+Thomas Petazzoni2014-05-051-0/+8
| | | | | | | | | | For the moment, the musl support is not in mainline gcc, so it requires a few patches. We have integrated those patches only for gcc 4.7 and gcc 4.8 at the moment, so only allow those gcc versions when the musl library is selected. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: add musl support patch to gcc 4.9.0Thomas Petazzoni2014-05-051-0/+710
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: add musl support patch to gcc 4.8.2Thomas Petazzoni2014-05-051-0/+755
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: add musl support patch for gcc 4.7.3Thomas Petazzoni2014-05-051-0/+638
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: add support for "corei7" Intel CPU optimisationsBernd Kuhls2014-05-031-3/+3
| | | | | | | | gcc support was added in version 4.6: http://gcc.gnu.org/gcc-4.6/changes.html Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: switch microblaze to version 4.9.xGustavo Zacarias2014-05-012-2/+171
| | | | | | | | | Switch to gcc 4.9.x for microblaze since it's a better target than 4.8.x, and also add a build patch that fixes (e)glibc build issues. Hence disable 4.8.x for microblaze. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: fixup "standard" gcc location after 'use default gcc 4.8.2 for microblaze'Peter Korsgaard2014-04-301-0/+1
| | | | | | | Somehow the 'else' part got dropped from commit 3f82e9dbcd (use default gcc 4.8.2 for microblaze), breaking download for "normal" architectures. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: arc: bump to arc-4.8-R3 releaseAnton Kolesov2014-04-291-1/+1
| | | | | | | | | | | | | | This patch fixes several internal compiler errors including: http://autobuild.buildroot.net/results/2858bb1ca1d12955c837da5a8b7d69c587a75646/ http://autobuild.buildroot.net/results/85deef67654019a630d6cbc37f3dbbbc071aad38/ Support for the GCC built-in atomic functions is also added and is enabled with option -matomic. Atomic built-ins require LLOCK/SCOND instructions to be enabled in the ARC 700 CPU. Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com> Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* use default gcc 4.8.2 for microblazeWaldemar Brodkorb2014-04-282-13/+3
| | | | | | | | | | Upstream gcc 4.8.2 works fine for microblaze, no need for Xilinx Git. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: enable for aarch64Gustavo Zacarias2014-04-241-5/+6
| | | | | | | Only version 4.8+ supports it so keep it narrowed down. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: disable libsanitizer for uClibcGustavo Zacarias2014-04-241-0/+5
| | | | | | | | | | | libsanitizer requires wordexp() support which we lack in our current default uClibc configurations (and it's fat & big). Hence disable it when the toolchain is uClibc-based. It only affects gcc 4.9+ since it's default on now for supported platforms. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arm: update processor typesGustavo Zacarias2014-04-241-6/+6
| | | | | | | | Update the arm processor types: add the cortex A12 variant supported by gcc 4.9.x Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: add gcc 4.9 seriesGustavo Zacarias2014-04-247-0/+213
| | | | | | | | | | Add the recently released gcc 4.9.0. Use 4.8.2 patches and remove those that no longer apply/are needed (mostly PR fixes and xtensa). libmudflap was removed upstream. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: add fix for PR 58595 to gcc 4.7.3Thomas Petazzoni2014-04-141-0/+102
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: add fix for PR 58595 to gcc 4.8.2Thomas Petazzoni2014-04-141-0/+101
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: fix snapshot compilePeter Seiderer2014-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add gcc snapshot versions dependency on host-flex and host-bison (done as suggested by Thomas Petazzoni [1]). Fixes gcc snapshot version 4.9-20140309 compile failure [2]. Tested the following buildroot configs BR2_arm=y BR2_cortex_a9=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_BINUTILS_VERSION_2_24=y BR2_GCC_VERSION_SNAP=y BR2_GCC_SNAP_DATE="4.9-20140309" and BR2_arcle=y For the ARC case disabled the BINUTILS_FROM_GIT host-flex and host-bison dependency. [1] http://lists.busybox.net/pipermail/buildroot/2014-March/092490.html [2] http://lists.busybox.net/pipermail/buildroot/2014-March/092459.html [Peter: simplify logic] Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Merge branch 'next'Peter Korsgaard2014-02-281-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile package/dmraid/Config.in package/gdb/Config.in.host package/linux-headers/linux-headers.mk package/python/python.mk package/python3/python3.mk package/rt-tests/Config.in package/sdl/sdl.mk package/systemd/systemd-01-fix-getty-unit.patch package/systemd/systemd-02-fix-page-size.patch package/systemd/systemd-03-uclibc-fix.patch package/udev/Config.in package/udisks/Config.in package/vlc/vlc.mk system/Config.in Quite some merge conflicts, hopefully I didn't screw up anything. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * gcc: arc: bump to git commit c6227bcAnton Kolesov2014-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This fixes two issues: one segmentation fault in GCC and one invalid code generation. Those fix numerous autobuild failures, including: http://autobuild.buildroot.net/results/715/7158a2a19da6bfa950125a951a39061ccaa73101/ http://autobuild.buildroot.net/results/9d4/9d4fbcb91cf76e01c833d70c401c0828ad37631a/ http://autobuild.buildroot.net/results/ef6/ef6a0e2d382ae202bb8f0e9fc9f5e48c90119faf/ http://autobuild.buildroot.net/results/276/27692619efee482cded56967017f260bd30eefe7/ Signed-off-by: Anton Kolesov <anton.kolesov@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | gcc: fix xtensa overlay applicationMax Filippov2014-02-273-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc build scripts use wrong variable name to specify xtensa overlay application command. As a result gcc is built with the default overlay, which leads to obscure failures later in the build process. xtensa toolchain needs an additional configuration for a specific core variant we're building for. This configuration is called 'overlay' and is an archive with files for binutils, gcc and gdb that replace corresponding files in toolchain components. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | gcc: xtensa: fix __builtin_frame_address use with shared libgccBaruch Siach2014-02-112-0/+58
|/ | | | | | | | | | | | | | | | | | | | The xtensa port uses __xtensa_libgcc_window_spill in libgcc to implement __builtin_frame_address. This symbol is local/hidden in libgcc. This is not a problem when linking against static libgcc. But g++ defaults to -shared-libgcc, thus breaking link against C++ shared libraries that are using __builtin_frame_address as follows: ld: test: hidden symbol `__xtensa_libgcc_window_spill' in .../libgcc.a(lib2funcs.o) is referenced by DSO Add upstream patches that make libgcc_s.so a linker script that links in unresolved symbols from the static libgcc, similar to the ARM and PowerPC ports. Fixes: http://autobuild.buildroot.net/results/e2d/e2d1a763fa86b8575e2e48e6d73c018175f43e7c/ Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Strip *.so* and not only executable filesThomas Petazzoni2014-02-041-3/+1
| | | | | | | | | | | | | | | | | | | | Our current stripping strategy requires that shared libraries have the executable permission. However, this is by far not something recognized as a standard behavior: Debian/Ubuntu distributions for example do not have executable permissions on their libraries. Therefore, pushing to upstream packages fixes that add the executable permissions is not easy. As a result, this commit improves the stripping logic so that it not only strips the files that are executable, but also the ones that match '*.so*', which should match both the shared libraries and the dlopen()'able plugins, as long as they have a .so extension. Thanks to this addition, a number of manual "chmod +x" done by various packages can be removed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Rename BUILDROOT_LIBC to BR_LIBCPeter Korsgaard2014-02-042-2/+2
| | | | | | | No functional change, but internal variables should be name BR_foo, not BUILDROOT_foo (I think ..). Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc 4.8.2: arm fixes for stack corruptionAndrew Ruder2014-01-271-0/+32
| | | | | | | | This seems to especially affect the kernel, but in an interrupt-heavy system, this fixes a bug that can cause frequent NULL pointer dereference crashes on ARM systems. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: add support for "jaguar" AMD CPU optimisationsAdrien Béraud2014-01-151-5/+5
| | | | | | | | | | | | | AMD Jaguar ( https://en.wikipedia.org/wiki/Jaguar_%28microarchitecture%29 ) is suddenly a popular architecture since it is used in the PS4 and the XBox One. Many embedded systems are also likely to use it in the next years. This patch adds support for GCC architecture-specific optimisations and tuning for these CPUs. These optimizations are available with GCC 4.8+. Signed-off-by: Adrien Beraud <adrien.beraud@savoirfairelinux.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Compile static versions of gcc librariesJérôme Pouiller2014-01-111-0/+17
| | | | | | | | | | | | | | | | | Since default configure options for host packages include --disable-static, gcc was not configured to build static version of its libraries (libgcc.a, libstdc++.a, ...). This patch replace --disable-static by --enable-static in configure command. Notice some options was removed sinces they was ignored by gcc configure script. Once it was compiled, this commit takes care to copy static libraries to $STAGING Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Tested-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* deprecated handling: introduce BR2_DEPRECATED_SINCE_xxxx_xxThomas De Schampheleire2014-01-101-2/+2
| | | | | | | | | | | | | | | | | | | | | In order to keep better track of when a feature got deprecated, and hence when it can be removed, a new set of symbols BR2_DEPRECATED_SINCE_xxxx_xx is introduced. These symbols are automatically selected when BR2_DEPRECATED is selected, and thus are transparent to the user. A deprecated feature will no longer depend on BR2_DEPRECATED directly, but rather on the appropriate BR2_DEPRECATED_SINCE_xxxx_xx. If that symbol does not yet exist, it has to be created in Config.in. When removing a deprecated feature, one should also check whether this was the last feature using the BR2_DEPRECATED_SINCE_xxxx_xx symbol, in which case the latter can be removed from Config.in. A followup patch will make sure the overview is added to the list of deprecated features in the manual, so that a buildroot core developer can easily determine which features to remove in a given development cycle. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: add microblaze internal toolchainSpenser Gilliland2013-12-062-8/+18
| | | | | | Signed-off-by: Spenser Gilliland <spenser@gillilanding.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: arc: Download from github instead of Synopsys websiteMischa Jonker2013-12-068-270/+6
| | | | | | | | | The github release mechanism only supports .tar.gz, hence the ugly GCC_UNPACK variable. Signed-off-by: Mischa Jonker <mjonker@synopsys.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: don't patch gcc if there are no patches to applyMischa Jonker2013-11-111-1/+3
| | | | | | | | | | | While the generic package handler checks for a directory with patches before starting apply-patches.sh, this is not the case for gcc: the script is called, even if there is no directory with patches. This results into a build failure, as apply-patches exits with error code 1 if the directory doesn't exist. Signed-off-by: Mischa Jonker <mjonker@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Remove redundant dollar signs in Config.in filesThomas De Schampheleire2013-10-261-1/+1
| | | | | | | | | | | | | | | Some Config.in(.host) files have constructs like: config FOO_VERSION string default "1.0" if FOO_1_0 default "2.0" if FOO_2_0 default $FOO_CUSTOM_VERSION if FOO_CUSTOM The dollar sign here is not needed and confusing, so can be removed. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: bump 4.8.x series to version 4.8.2Gustavo Zacarias2013-10-228-1/+1
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc 4.8.x: add PR57717 patchesGustavo Zacarias2013-10-192-0/+44
| | | | | | | | Failure to build libc for PowerPC E500 cores, see: http://gcc.gnu.org/bugzilla//show_bug.cgi?id=57717 Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Revert "toolchain-internal: skip gcc-intermediate when possible"Thomas Petazzoni2013-10-042-19/+0
| | | | | | | | | | | | | While the idea of skipping the intermediate gcc step seems to work fine in most situations, it causes problems with the SSP support. Until we can figure out a proper solution for this problem, we need to revert back to the previous solution of a three stages build. This reverts commit 2babed4a50fcd050abc4686e05e24d0e374d10a8. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: deprecate objective C and fortran supportPeter Korsgaard2013-09-191-0/+2
| | | | | | | As discussed on the list. They have been broken for a long time, and are not commonly used in embedded systems. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc: provide option to enable mudflap supportThomas Petazzoni2013-09-153-17/+30
| | | | | | | | | | | | | | | | | | The mudflap library is only useful if one uses the -fmudflap gcc option to do more checks on pointers/arrays. This commit adds an option to enable/disable mudflap support at the gcc level. By default, it is disabled, which saves a little bit of build time compared to the default of gcc which consists in enabling mudflap support. Since mudflap is now disabled by default, and ensured to never be enabled on platforms where it is not available, some gcc.mk code that was used to disable mudflap in problematic configurations can be removed. Whether -fmudflap is used when building is left to the user. [Peter: tweak commit text, fix white space] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc: force symlink creationThomas Petazzoni2013-09-151-1/+1
| | | | | | | | | | | | | | The HOST_GCC_CONFIGURE_SYMLINK creates a symbolic link $(@D)/build/configure -> $(@D)/configure for each build step of gcc. However, it was only using 'ln -s' and not 'ln -sf', which was causing problems when doing 'make host-gcc-final-reconfigure' for example, because the configure commands (including this macro) are being re-executed, but the symbolic link already exists. Changing this symbolic link creation to 'ln -sf' fixes this problem. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc/gcc-final: use the common HOST_GCC_CONFIGURE_SYMLINK macroThomas Petazzoni2013-09-151-6/+1
| | | | | | | | | | | | | | Each stage of the gcc build needs to make a small dance before the configuration step to create a build sub-directory and a symbolic link to the configure script. The common gcc.mk had a HOST_GCC_CONFIGURE_SYMLINK already used by the gcc-initial and gcc-intermediate steps, but the gcc-final step wasn't using it. This commit fixes this inconsistency, and therefore removes the HOST_GCC_FINAL_CONFIGURE_SYMLINK macro. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add support for glibcThomas Petazzoni2013-09-152-3/+3
| | | | | | | | | | | | | The support for eglibc 2.17 was added to the internal toolchain backend for 2013.08. This commit now adds glibc 2.18 support to the internal toolchain backend. Since the building procedure is very similar to the one of eglibc, we have renamed the 'eglibc' package to 'glibc', and made it capable of handling either glibc or eglibc. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc: move C++ support option next to Fortran/Objective-CThomas Petazzoni2013-09-151-0/+13
| | | | | | | | | | | | The option to enable C++ support was still located in toolchain/toolchain-buildroot/Config.in.2, with misc other toolchain options. It seems more logical to have this option with the other options to select the languages supported by the cross-compiler, so we move it next to the Fortran/Objective-C options in package/gcc/Config.in.host. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc: fix Objective-C supportThomas Petazzoni2013-09-152-3/+9
| | | | | | | | | | | | | | | | | This commit fixes the Objective-C support in the gcc package by making sure that the runtime Objective-C library is properly installed to the target. It also takes this opportunity to slightly reword the Config.in option help text to have a more meaningful explanation. Finally, it fixes the gcc-final.mk code to use the correct BR2_INSTALL_OBJC option rather than the non-existing BR2_GCC_CROSS_OBJC option, to decide whether Objective-C support should be enabled or not in the cross-compiler. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc: fix Fortran supportThomas Petazzoni2013-09-152-5/+9
| | | | | | | | | | | | | | | | | | This commit fixes the Fortran support in the gcc package by making sure that the runtime Fortran library is properly installed to the target. It also takes this opportunity to slightly reword the Config.in option help text, to no longer mention gcc < 4.2 since they are no longer supported in Buildroot, and to have a more meaningful explanation. Finally, it fixes the gcc-final.mk code to use the correct BR2_INSTALL_FORTRAN option rather than the non-existing BR2_GCC_CROSS_FORTRAN option, to decide whether Fortran support should be enabled or not in the cross-compiler. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-internal: skip gcc-intermediate when possibleThomas Petazzoni2013-09-152-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When NPTL support was introduced, gcc required a three stages build process. Since gcc 4.7, this is no longer necessary, and it is possible to get back to a two stages build process. This patch takes advantage of this, by doing a two stages build process when possible. We introduce a few hidden kconfig options: * BR2_GCC_VERSION_NEEDS_THREE_STAGE_BUILD, which is set by the gcc Config.in logic to indicate that the compiler might need a three stages build. Currently, all versions prior to 4.7.x are selecting this kconfig option. * BR2_TOOLCHAIN_LIBC_NEEDS_THREE_STAGE_BUILD, which indicates whether the C library might need a three stages build. This is the case for eglibc, and uClibc when NPTL is enabled. * BR2_TOOLCHAIN_NEEDS_THREE_STAGE_BUILD finally is enabled when both of the previous options are enabled. It indicates that a three stages build is actually needed. In addition to those options, the uClibc/gcc build logic is changed to use only a two stages build process when possible. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/gcc: add elf2flt to dependenciesGustavo Zacarias2013-09-131-1/+2
| | | | | | | | | Add host-elf2flt to the gcc common dependencies so we get it built after binutils but before gcc/uclibc since it's required for all packages and in some uClibc configuration scenarios. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Fix build reproducibility in Make 3.82Jérôme Pouiller2013-09-061-1/+1
| | | | | | | | | | | | Make 3.82 no longer sort the result of wildcards (see http://comments.gmane.org/gmane.comp.gnu.make.bugs/4260). This may break build reproducibility. This patch sort results of wildcards to ensure reproducibility. Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
OpenPOWER on IntegriCloud