summaryrefslogtreecommitdiffstats
path: root/package/gcc
Commit message (Collapse)AuthorAgeFilesLines
...
* ARC: gcc - Fix SIZE_TYPE to be "unsigned int" instead of "long unsigned int"Alexey Brodkin2014-09-161-0/+24
| | | | | | | | | | | | | | | | | | | This makes size_t to be "unsigned" ssize_t which makes happy compiler on data type checks. Fix is taken from current development branch of GCC for ARC and will be a part of the next release of ARC tools, so at that point patch should be dropped. https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/249f040299402647525c3f15b79d319fa7acddd3 Fixes http://autobuild.buildroot.net/results/405/405da9a945511329929b18740b983c51b8dcc43e Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/gcc-intermediate: remove packageThomas Petazzoni2014-09-142-51/+1
| | | | | | | | | Now that we have switched to a two steps gcc build process that uses only gcc-initial and gcc-final, we can get rid of the gcc-intermediate package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: switch to a two stage gcc buildThomas Petazzoni2014-09-141-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the internal toolchain backend does a three stage gcc build, with the following sequence of builds: - build gcc-initial - configure libc, install headers and start files - build gcc-intermediate - build libc - build gcc-final However, it turns out that this is not necessary, and only a two stage gcc build is needed. At some point, it was believed that a three stage gcc build was needed for NPTL based toolchains with old gcc versions, but even a gcc 4.4 build with a NPTL toolchain works fine. So, this commit switches the internal toolchain backend to use a two stage gcc build: just gcc-initial and gcc-final. It does so by: * Removing the custom dependency of all C libraries build step to host-gcc-intermediate. Now the C library packages simply have to depend on host-gcc-initial as a normal dependency (which they already do), and that's it. * Build and install both gcc *and* libgcc in host-gcc-initial. Previously, only gcc was built and installed in host-gcc-initial. libgcc was only done in host-gcc-intermediate, but now we need libgcc to build the C library. * Pass appropriate environment variables to get SSP (Stack Smashing Protection) to work properly: - Tell the compiler that the libc will provide the SSP support, by passing gcc_cv_libc_provides_ssp=yes. In Buildroot, we have chosen to use the SSP support from the C library instead of the SSP support from the compiler (this is not changed by this patch series, it was already the case). - Tell glibc to *not* build its own programs with SSP support. The issue is that if glibc detects that the compiler supports -fstack-protector, then glibc uses it to build a few things with SSP. However, at this point, the support is not complete (we only have host-gcc-initial, and the C library is not completely built). So, we pass libc_cv_ssp=no to tell the C library to not use SSP support itself. Note that this is not a big loss: only a few parts of the C library were built with -fstack-protector, not the entire library. * A special change is needed for ARC, because its libgcc depends on the C library, which breaks building libgcc in host-gcc-initial. This looks like a bug in the ARC compiler, as it does not obey the inhibit_libc variable which tells the compiler build process to *not* enable things that depend on the C library. So for now, in host-gcc-initial, we simply disable the build of libgmon.a for ARC. It's going to be built as part of host-gcc-final, so the final compiler will have gmon support. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* ARC: bump tools to 2014.08 releaseAlexey Brodkin2014-09-012-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Now when new shiny tools are released by Synopsys we're ready for version update in Buildroot. Important change in this release is switching to combined "binutils-gdb" repo in accordance to upstream move. Following patch now is a part of the most recent relese: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/e6ab8cac627a44a7594aeb907a579d8d2f066ba5 So dropping it. package/binutils/arc-4.8-R3/0001-arc-Honor-DESTDIR-in-custom-Makefile.patch Since arc-2014.08 tools are still based on GCC 4.8 following patch is still relevant so moving to the new folder to matxh ARC gcc bump. package/gcc/arc-4.8-R3/100-libstdcxx-uclibc-c99.patch -> package/gcc/arc-2014.08/100-libstdcxx-uclibc-c99.patch Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/4.9: fix C++ exceptions and pthread_exit()Thomas Petazzoni2014-08-171-43/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the introduction of the support for the musl C library, the support of C++ exceptions or features like pthread_exit() got broken even with other libraries such as glibc. This was reported as bug #7028. The problem was caused by the gcc patch needed to add support for musl, which modified the libgcc/unwind-dw2-fde-dip.c logic to decide whether USE_PT_GNU_EH_FRAME should be enabled or not. It completely removed the existing logic, replacing it by a single logic based on the definition of TARGET_DL_ITERATE_PHDR. However, this constant gets defined by the configure script only for Solaris, or Linux Musl platforms. For glibc/uClibc, the configure script does not define it, and therefore USE_PT_GNU_EH_FRAME is not defined, causing issues with exception handling. This patch fixes that by restoring all the logic of libgcc/unwind-dw2-fde-dip.c, and just adding the musl logic as one more case. It has been successfully runtime tested using the two code examples provided in bug #7208, with uClibc, musl and glibc. Cc: Krzysztof Wrzalik <kwrzalik@gmail.com> Cc: David Bachelart <david.bachelart@bbright.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/4.8: fix C++ exceptions and pthread_exit()Thomas Petazzoni2014-08-171-105/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the introduction of the support for the musl C library, the support of C++ exceptions or features like pthread_exit() got broken even with other libraries such as glibc. This was reported as bug #7028. The problem was caused by the gcc patch needed to add support for musl, which modified the libgcc/unwind-dw2-fde-dip.c logic to decide whether USE_PT_GNU_EH_FRAME should be enabled or not. It completely removed the existing logic, replacing it by a single logic based on the definition of TARGET_DL_ITERATE_PHDR. However, this constant gets defined by the configure script only for Solaris, or Linux Musl platforms. For glibc/uClibc, the configure script does not define it, and therefore USE_PT_GNU_EH_FRAME is not defined, causing issues with exception handling. This patch fixes that by restoring all the logic of libgcc/unwind-dw2-fde-dip.c, and just adding the musl logic as one more case. It has been successfully runtime tested using the two code examples provided in bug #7208, with uClibc, musl and glibc. Cc: Krzysztof Wrzalik <kwrzalik@gmail.com> Cc: David Bachelart <david.bachelart@bbright.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/4.7: fix C++ exceptions and pthread_exit()Thomas Petazzoni2014-08-171-38/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the introduction of the support for the musl C library, the support of C++ exceptions or features like pthread_exit() got broken even with other libraries such as glibc. This was reported as bug #7028. The problem was caused by the gcc patch needed to add support for musl, which modified the libgcc/unwind-dw2-fde-dip.c logic to decide whether USE_PT_GNU_EH_FRAME should be enabled or not. It completely removed the existing logic, replacing it by a single logic based on the definition of TARGET_DL_ITERATE_PHDR. However, this constant gets defined by the configure script only for Solaris, or Linux Musl platforms. For glibc/uClibc, the configure script does not define it, and therefore USE_PT_GNU_EH_FRAME is not defined, causing issues with exception handling. This patch fixes that by restoring all the logic of libgcc/unwind-dw2-fde-dip.c, and just adding the musl logic as one more case. It has been successfully runtime tested using the two code examples provided in bug #7208, with uClibc, musl and glibc. Cc: Krzysztof Wrzalik <kwrzalik@gmail.com> Cc: David Bachelart <david.bachelart@bbright.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/arc-4.8-R3: add patch to enable more C++ features with uClibcThomas Petazzoni2014-08-171-0/+273
| | | | | | | | | | | | | | | | | | | | | | | This commit fixes bug #7250, by allowing more libstdc++ features to be enabled with uClibc. libstdc++ wants an absolutely complete C99 support in the C library before enabling *any* feature that needs some C99 functions. However, uClibc doesn't provide C99 complex numbers, so libstdc++ disables a lot of C++ standard methods, even though they are not related to C99 complex numbers. A partial solution already existed in the patch 302-c99-snprintf.patch, but this commit replaces it by the more complete 850-libstdcxx-uclibc-c99.patch, which is highly inspired by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, except that it doesn't rely on configure.ac checks, but simply on testing defined(__UCLIBC__) like was done in 302-c99-snprintf.patch. This allows to avoid having to autoreconf gcc, which is quite complicated to achieve. Reported-by: Richard <tarka.t.otter@gmail.com> Cc: Richard <tarka.t.otter@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/4.9: add patch to enable more C++ features with uClibcThomas Petazzoni2014-08-172-13/+273
| | | | | | | | | | | | | | | | | | | | | | | This commit fixes bug #7250, by allowing more libstdc++ features to be enabled with uClibc. libstdc++ wants an absolutely complete C99 support in the C library before enabling *any* feature that needs some C99 functions. However, uClibc doesn't provide C99 complex numbers, so libstdc++ disables a lot of C++ standard methods, even though they are not related to C99 complex numbers. A partial solution already existed in the patch 302-c99-snprintf.patch, but this commit replaces it by the more complete 850-libstdcxx-uclibc-c99.patch, which is highly inspired by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, except that it doesn't rely on configure.ac checks, but simply on testing defined(__UCLIBC__) like was done in 302-c99-snprintf.patch. This allows to avoid having to autoreconf gcc, which is quite complicated to achieve. Reported-by: Richard <tarka.t.otter@gmail.com> Cc: Richard <tarka.t.otter@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/4.8: add patch to enable more C++ features with uClibcThomas Petazzoni2014-08-172-13/+273
| | | | | | | | | | | | | | | | | | | | | | | This commit fixes bug #7250, by allowing more libstdc++ features to be enabled with uClibc. libstdc++ wants an absolutely complete C99 support in the C library before enabling *any* feature that needs some C99 functions. However, uClibc doesn't provide C99 complex numbers, so libstdc++ disables a lot of C++ standard methods, even though they are not related to C99 complex numbers. A partial solution already existed in the patch 302-c99-snprintf.patch, but this commit replaces it by the more complete 850-libstdcxx-uclibc-c99.patch, which is highly inspired by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, except that it doesn't rely on configure.ac checks, but simply on testing defined(__UCLIBC__) like was done in 302-c99-snprintf.patch. This allows to avoid having to autoreconf gcc, which is quite complicated to achieve. Reported-by: Richard <tarka.t.otter@gmail.com> Cc: Richard <tarka.t.otter@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/4.7: add patch to enable more C++ features with uClibcThomas Petazzoni2014-08-172-13/+273
| | | | | | | | | | | | | | | | | | | | | | | This commit fixes bug #7250, by allowing more libstdc++ features to be enabled with uClibc. libstdc++ wants an absolutely complete C99 support in the C library before enabling *any* feature that needs some C99 functions. However, uClibc doesn't provide C99 complex numbers, so libstdc++ disables a lot of C++ standard methods, even though they are not related to C99 complex numbers. A partial solution already existed in the patch 302-c99-snprintf.patch, but this commit replaces it by the more complete 850-libstdcxx-uclibc-c99.patch, which is highly inspired by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, except that it doesn't rely on configure.ac checks, but simply on testing defined(__UCLIBC__) like was done in 302-c99-snprintf.patch. This allows to avoid having to autoreconf gcc, which is quite complicated to achieve. Reported-by: Richard <tarka.t.otter@gmail.com> Cc: Richard <tarka.t.otter@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc 4.9.1: add patch for PR60102Gustavo Zacarias2014-08-062-1/+388
| | | | | | | | | | Fixes ICE for SPE ABI, see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102 And re-enable gcc 4.9.1 for SPE. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: remove the trailing slash sign from <PKG>_SITE variableJerzy Grzegorek2014-07-311-2/+2
| | | | | | | | | | | | Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk: $(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)) so it is redundant. This patch removes it from $(PKG)_SITE variable for BR consistency. Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc-final: disable shared build for staticGustavo Zacarias2014-07-301-5/+24
| | | | | | | | | | | | | | Disable shared build for host-gcc-final when building for static targets. We really want static or shared, there's no such thing as "preferring static" since we can't choose with any degree of granularity for which packages. And it confuses linking scripts having both available at the same time. Fixes: http://autobuild.buildroot.net/results/c54/c54bdf88eff6d60c7001cb0e2cb6792cc75178db/ [Thomas: slightly amend the commit to factorize the installation of static libraries.] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc 4.9.x: Exclude for PPC SPE because of PR60102Gustavo Zacarias2014-07-181-0/+2
| | | | | | | | | | Exclude gcc 4.9.x for PowerPC SPE toolchains because of an ICE https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102 There's a patch available but it's somewhat intrusive with PPC in general and hasn't been well tested yet. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: bump 4.9.x series to version 4.9.1Gustavo Zacarias2014-07-179-16/+2
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: remove versions 4.3.x and 4.6.xThomas Petazzoni2014-07-1021-729/+0
| | | | | | | | | | | | | | | | | | | | | | | | Those gcc series are old and are not used as the default versions for any of the architectures we support, so this commit gets rid of them. The gcc 4.3.x series technically remains used by the LPC32xx defconfigs we have: configs/ea3250_defconfig:BR2_GCC_VERSION_4_3_X=y configs/fdi3250_defconfig:BR2_GCC_VERSION_4_3_X=y configs/phy3250_defconfig:BR2_GCC_VERSION_4_3_X=y Back when those defconfigs were introduced, gcc 4.3 was chosen because it was the only one capable of building a fully working kernel for those ARM-based platforms. However, the original submitter, Alexandre Belloni, no longer has access to the hardware platforms, so he is unable to test if newer gcc versions have fixed the problem. It certainly doesn't make sense to keep gcc 4.3.x just for those three boards, so we'll wait for someone actually using those defconfigs to complain. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc 4.8.3: add patch for PR60155Gustavo Zacarias2014-07-021-0/+111
| | | | | | | | Fixes: http://autobuild.buildroot.net/results/6c8/6c8c3cb19a6f98f6f27986b671d48ee092fdf7cc/ Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: drop redundant explicit version handling for aarch64Peter Korsgaard2014-06-131-1/+0
| | | | | | Not needed anymore now that we default to gcc 4.8.x Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc 4.8.x does not compile a working kernel for sparcWaldemar Brodkorb2014-06-131-3/+4
| | | | | | | | | | | | | | | Since the switch to 4.8.x as default, the qemu-sparc target is broken. For a gcc bug report see here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60624 Switch back to gcc 4.7.x as default for sparc. Disable 4.8/4.9 as suggested by Thomas Petazzoni. I even disabled gcc snapshot, it works right now, because it is an old 4.8.0 snapshot by default, but as soon as this is updated sparc build will break. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: bump 4.7.x series to version 4.7.4Gustavo Zacarias2014-06-1311-30/+1
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: add a BR2_GCC_ENABLE_GRAPHITE optionSteve Thomas2014-06-092-0/+20
| | | | | | | | | | | | | The gcc graphite optimisations such as loop-interchange, blocking and loop-flattening, also known as graphite are an optional feature of gcc that is very well supported since about gcc version 4.5. This patch adds support for graphite for the toolchain as an optional flag for versions 4.8 onwards as an optional flag, that is disabled by default. Signed-off-by: Steve Thomas <scjthm@live.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* 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>
OpenPOWER on IntegriCloud