summaryrefslogtreecommitdiffstats
path: root/package/gcc
Commit message (Collapse)AuthorAgeFilesLines
...
| * musl: enable mips64 supportWaldemar Brodkorb2016-08-221-0/+6
| | | | | | | | | | | | | | | | | | | | Add support for mips64, which is available since musl 1.1.15. Only gcc 6.x has required support for it. Tested variations of little/big endian and hard/soft float. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * gcc: fix gcc version dependencies for the PowerPC64/musl exclusionThomas Petazzoni2016-08-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 5ab751ca44e9da6f406876ff582b3a813056b0d4 ("toolchain-buildroot: allow to build ppc64(le) musl toolchains"), support for building a musl toolchain for ppc64(le) was added. Since this support only works with gcc 6, some additional dependencies have been added to the older gcc versions so that they cannot be selected on ppc64(le)/musl. Unfortunately, the expression of the dependency was wrong, and leads to those older gcc versions being non-selectable if you're not using musl. Indeed, the dependencies look like this: depends on !BR2_powerpc64 && !BR2_powerpc64le && BR2_TOOLCHAIN_USES_MUSL So as soon as you're not using musl, BR2_TOOLCHAIN_USES_MUSL is false, so the entire condition is false, and the gcc version is not available. Due to this, only gcc 6.x can be selected currently with uclibc or glibc, which is clearly not the intended behavior. This commit reworks those dependencies to: depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el)) which more clearly expresses what we want: "We don't want to (have a toolchain that uses musl and (be building either for PPC64 or PPC64le))" Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * toolchain-buildroot: allow to build ppc64(le) musl toolchainsWaldemar Brodkorb2016-08-192-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Latest musl release supports ppc64 architecture (both big endian and little endian), so this commit adds support for this. Since musl implements the ELFv2 ABI for both big-endian and little-endian PowerPC64, we have to force using this ABI on PowerPC64 big endian (normally elfv1 is the default). Also, only gcc 6.x has the necessary changes to support musl on PowerPC 64, so we restrict the gcc version selection accordingly. Tested with Qemu for big endian and little endian configurations. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> [Thomas: add comment about the ABI flag in gcc.mk, rework commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | toolchain: Bump ARC tools to arc-2016.09-eng010Zakharov Vlad2016-08-316-36/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described at: 4520524ba055706236db9f00dd79f1b2e2e87fde this commit continues a series of updates of ARC tools. This time we're updating tools to arc-2016.09-eng010. This engenering build contains different fixes done to TLS and PIE features. Appropriate custom patches are removed as they have been added to eng010. We still keep GDB as it is of arc-2016.03 release because there're some issues we'd like to resolve before releasing it to wider audience. So again note this is next engineering builds of arc-2016.09 series and it might have all kinds of breakages, please don't use it for production builds. Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | gcc: fix conditional move constraint on ARCZakharov Vlad2016-08-261-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | The patch solves one of the ARC internal compiler issues. Fixes: http://autobuild.buildroot.net/results/1c4493c6a18b7a93a0368420c8f79032f9330891/ http://autobuild.buildroot.net/results/51071b790866b0c7083de3a94ad2a427009096af/ http://autobuild.buildroot.net/results/09e037c628ca2a27d8eb832dd070f50ec7ebb72a/ Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | bfin: fix issues with internal toolchain, re-enable C++ supportWaldemar Brodkorb2016-08-206-27/+2113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The three patches allow to compile applications using TLS emulation from libgcc or C++ applications. The patches 892-libgcc-mkmap-symver-support-skip_underscore.patch and 893-libgcc-config-bfin-use-the-generic-linker-version-in.patch fixes how libgcc is generated, by making the necessary libgcc symbols declared "GLOBAL", and therefore visible outside of libgcc. This fixes a large number of undefined reference issues (for either C++ applications or applications using TLS emulation). This was reported as gcc PR74748. The patch 894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch allows to build DWARF in FDPIC mode. This patch replaces the older 892-disable-dwarf-bfin.patch, as instead of disabling DWARF support, it fixes it. This was reported as gcc PR68468. In order to get C++ working without unresolved symbols, we also need to disable symbol versioning (--disable-symvers). This is a remaining issue in gcc which will be investigated at a later point. Since this commit fixes C++ support in Blackfin, it re-enables the selection of C++ support for this architecture. Fixes: (alsa-lib emutls) http://autobuild.buildroot.net/results/8544ce58d75820666579db93a25ca5656a8efa8e/ (cairo emutls) http://autobuild.buildroot.net/results/88b02a5dd5408318941ccbfcea0a9cbaa331500a/ (audiofile c++) http://autobuild.buildroot.net/results/394e530c5dcd9ccb590eb151aeaadb37d11e0e39/ (assimp c++) http://autobuild.buildroot.net/results/01f4be126c2d786a5ad7f220c2cf60539888a480/ (bellagio c++) http://autobuild.buildroot.net/results/ada/ada44228bf13ec05382275bd6571396f5ba2b1f7/ Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Tested-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | toolchain: Bump ARC tools to arc-2016.09-eng008Zakharov Vlad2016-08-1112-874/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described at: 4520524ba055706236db9f00dd79f1b2e2e87fde this commit continues a series of updates of ARC tools. This time we're updating tools to arc-2016.09-eng008. Main updates were made for gcc. It was switched to GCC 6 and to OSABI v4. Besides this patch fixes buildroot ARC failures connected to "crtbeginT.o" object file missing. This issue lead to two main errors: 1) "crtbeginT.o: No such file or directory", e. g. bootutils-1.0.0. No comments are required here I hope. 2) Errors like "compiler cannot create executables", e.g.: a) host-gcc-final-arc-2016.09-eng007 static build, b) aespipe-2.4c. That was caused because the test to determine if compiler is able to create executables was failing due to missing "crtbeginT.o" file. We still keep GDB as it is of arc-2016.03 release because there're some issues we'd like to resolve before releasing it to wider audience. So again note this is next engineering builds of arc-2016.09 series and it might have all kinds of breakages, please don't use it for production builds. Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | gcc: disable C++ support for BlackfinThomas Petazzoni2016-08-101-0/+3
|/ | | | | | | | | | | | As discussed with Waldemar, the C++ support for Blackfin is currently broken, and we don't have a fix in sight for the 2016.08 release. Therefore, this commit disables C++ support entirely on the Blackfin architecture in the internal toolchain backend. This will avoid a significant number of Blackfin build failures, that occur when building C++ packages. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: bump 4.9 series to 4.9.4Thomas Petazzoni2016-08-0429-536/+374
| | | | | | | | | | | | | | | | | | Two patches are removed, as they have been upstreamed: - 130-fix_build_with_gcc-6.patch (svn commit 233721, Git commit 8c3fa311caa86f61b4e28d1563d1110b44340fb2) - 920-libgcc-remove-unistd-header.patch (svn commit 226092, Git commit e940d7953f06af11d09229a29ecbcc1ba25b378d) All other patches have simply been refreshed, with no manual edit needed. A build+runtime test has been done with an ARM, Cortex-A8, EABIhf, musl configuration, booted under Qemu. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: Bump ARC tools to arc-2016.09-eng007 and enable PIEVlad Zakharov2016-08-0110-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described at: 4520524ba055706236db9f00dd79f1b2e2e87fde this commit continues a series of updates of ARC tools. This time we're updating tools to arc-2016.09-eng007 tag plus a couple of fixes on top of it that will all make its way in the next engineering build. We hope this patch will cure most buildroot ARC failures as it contains important fixes: 1) PIE fix. We have added PIE support to ARC toolchain at last. So that should prevent breakage of many packages. As ARC now supports PIE we remove ARC from BR2_TOOLCHAIN_SUPPORTS_PIE exclusion in toolchain/Config.in file. 2) Assembler fix. This patch also have changes that fixes frequent assembler failures, e.g.: http://autobuild.buildroot.net/results/543/5430b902d900943a34c1888e7e410bd5df367bc2// We still keep GDB as it is of arc-2016.03 release because there're some issues we'd like to resolve before releasing it to wider audience. So again note this is next engineering builds of arc-2016.09 series and it might have all kinds of breakages, please don't use it for production builds. Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> [Thomas: remove uClibc PIE patch, since we have bumped uClibc in the mean time, to a version that contains the PIE fix for ARC.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: Bump ARC tools to arc-2016.09-eng006Zakharov Vlad2016-07-1210-2/+2
| | | | | | | | | | | | | | | | | | | | | | As described at: 4520524ba055706236db9f00dd79f1b2e2e87fde this commit continues a series of updates of ARC tools. This engineering build fixes the kernel dwarf stack unwinder feature for ARC targets. We still keep GDB as it is of arc-2016.03 release because there're some issues we'd like to resolve before releasing it to wider audience. So again note this is next engineering builds of arc-2016.09 series and it might have all kinds of breakages, please don't use it for production builds. Related to: 4520524ba055706236db9f00dd79f1b2e2e87fde Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: uClinux supports POSIX threadsWaldemar Brodkorb2016-07-044-0/+76
| | | | | | | | | | | | Fixes for example boost compile errors for m68k-nommu or arm cortex-m4. Following autobuild failures fixed: http://autobuild.buildroot.net/results/f95511e839d85ea18c5b150a59e994ef069601a1/ http://autobuild.buildroot.net/results/ff2b8be247e50c170b6317886509cc2922e1c77e/ Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain-buildroot: add bfin supportWaldemar Brodkorb2016-07-042-4/+28
| | | | | | | | With gcc 6.1.0 and binutils 2.26 internal bfin toolchain can be used. A gcc patch is required, which was reported upstream. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: add hidden symbol for defaultsWaldemar Brodkorb2016-07-042-0/+40
| | | | | | | | | | | | | | | | | Some architectures, f.e. Blackfin doesn't support to configure GCC with --with-cpu to set some CPU specific default CFLAGS (-mcpu=foo). Use a hidden config symbol to give a hint which architecture supports it, otherwise add defaults to toolchain wrapper for internal toolchains. Idea from Thomas Petazzoni. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> [Thomas: - simplify the Config.in logic with just one option named BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS, defined in package/gcc in one place. - improve the organization of the code and name of variables.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: fix list of files of patch file to hash for ccacheYann E. MORIN2016-07-041-2/+2
| | | | | | | | | | | | | When we build the list of patches to include to compute the hash for ccache, a typo precented the special gcc-initial/ and gcc-final/ directories from a global patch dir to be included in the calculation. Fix that by properly expanding the $(PKG) variable. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: He Chunhui <hchunhui@mail.ustc.edu.cn> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: select BR2_TOOLCHAIN_HAS_FORTRAN when appropriateSamuel Martin2016-07-031-0/+1
| | | | | | | | This is only for the Buildroot toolchain backend. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: fix fortran supportSamuel Martin2016-07-032-0/+11
| | | | | | | | | | | | Fortran depends on libquadmath when available, make the buildroot toolchain option depends on this new hidden symbol, [Vincent: only do "HOST_GCC_FINAL_USR_LIBS += libquadmath" for i386 and x86_64, otherwise it will fail saying "libquadmath.a: file not found"] Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: complete the logic on libquadmathSamuel Martin2016-07-031-1/+3
| | | | | | | | | | | libquadmath requires wchar. So, turn to positive logic and complete it to only enabling quadmath support when it is available. Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: apply patches stored in global patches directoriesHe Chunhui2016-07-031-6/+20
| | | | | | | | | | | | | | When building host gcc, patches stored in global patches directories are skipped. This patch fixes the unexpected behavior. Signed-off-by: Chunhui He <hchunhui@mail.ustc.edu.cn> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Thomas: - rename the loop variable from 'D' to 'patchdir' - add some additional comments - remove final ; at end of loop when applying the patches, since it's not needed] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: wrap gfortranSamuel Martin2016-07-011-1/+3
| | | | | | | | | gfortran supports all options supported by gcc, so it can and should be called via the toolchain wrapper. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: use BR2_USE_WCHAR to set gcc libquadmath optionSamuel Martin2016-07-011-2/+2
| | | | | | | | | | | | | | | | BR2_TOOLCHAIN_BUILDROOT_WCHAR is only defined when uclibc is selected, whereas BR2_USE_WCHAR is always defined. Due to this, we were disabling quadmath support even with glibc or musl. So, use BR2_USE_WCHAR to drive the gcc libquadmath option. In addition, invert the logic of the condition to use positive logic, and rework the comment to no longer mention gcc 4.6: libquadmath still exists, and it still requires wchar support. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: Bump ARC tools to arc-2016.09-eng005Alexey Brodkin2016-06-2910-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this commit we're starting a series of updates of ARC tools. Significantly rewritten arc-2016.03 tools introduced way too many problems highlighted by Buildroot autobuilder. Now in attempt to resolve as many issues as possible by the time final release of arc-2016.09 tools is cut we'll be executing arc-2016.09 series with engineering snapshots like this one. We decided to go this way instead of applying separate patches here and there because ongoing development introduces quite a lot of changes and separate patches are not practical in Buildroot. Moreover this will give us very clean visibility of number of issues we see (hopefully it will decrease over time). One of the important changes introduced in this engineering build is initial set of changes for proper support of PIE on ARC in terms of both building on host and running on ARC target. I expect some PIE-related build breakages to go away and new ones will be treated as the high-priority issues to be fixed ASAP. For now we only update Binutils and GCC while keeping GDB as it is of arc-2016.03 release because there're some issues we'd like to resolve before releasing it to wider audience. So again note this is one of the first engineering builds of arc-2016.09 series and it might have all kinds of breakages, please don't use it for production builds. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: arc-buildroot@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: remove occurrence of eglibcThomas Petazzoni2016-06-281-1/+1
| | | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Replace (e)glibc by glibcThomas Petazzoni2016-06-281-1/+1
| | | | | | | | | | | | | | | | Following the removal of eglibc support, this commit replaces all occurences of "(e)glibc" by just "glibc". Most of the occurences are in package Config.in comments. In addition, when the form "an (e)glibc ..." was used, it is replaced by "a glibc ...". [Peter: add new efi* packages, s/uclibc/uClibc as suggested by Romain, systemd / liquid-dsp tweaks as suggested by Yann] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/libmudflap: unavailable for gcc >= 4.9Bernd Kuhls2016-06-071-3/+1
| | | | | | | | | | | Rework gcc dependency for mudflap as suggested by Arnout and Peter: http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/149813 libmudflap was removed in gcc 4.9: https://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: bump 5.x series to version 5.4.0Gustavo Zacarias2016-06-0730-156/+3
| | | | | | | 130-fix_build_with_gcc-6.patch is upstream so remove it. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: add microblaze supportWaldemar Brodkorb2016-06-052-0/+45
| | | | | | | | | Latest uClibc-ng 1.0.15 release fixed open issues with microblaze shared library and linuxthreads support. gcc 4.9.3 and gcc 5.3.0 require a small patch. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Merge branch 'next'Peter Korsgaard2016-06-0116-292/+831
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * toolchain: bump ARC tools to arc-2016.03 releaseAlexey Brodkin2016-05-199-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change switches ARC tools to the most recent arc-2016.03 version. ARC GNU tools of version arc-2016.03 bring some quite significant changes like: * Binutils v2.26+ (upstream commit id 202ac19 with additional ARC * patches) * GCC v4.8.5 * GDB 7.10 More about changes, improvements and fixes could be found here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03 Note in this change we're adding sha512 checksums for both binutils and gcc tarballs fetched from GitHub. Build and run-tested in nSIM for both ARC700 and ARC HS38. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * package/gcc: 4.8.x to 5.x: backport a fix for building gcc with gcc-6Samuel Martin2016-05-174-0/+612
| | | | | | | | | | | | | | | | | | When the host system compiler is gcc-6, this patch is needed to build Buildroot toolchain and cleanly apply on gcc version 4.8.x to 5.x (not needed for 4.7.x series). Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * toolchain: remove eglibc supportThomas Petazzoni2016-05-171-1/+1
| | | | | | | | | | | | | | | | The eglibc support has been marked deprecated since 2015.08, so it's time to remove it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * toolchain: bump ARC tools to arc-2016.03-rc2Alexey Brodkin2016-05-1112-290/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change switches ARC tools to RC2 of the most recent arc-2016.03 version. Essentially once final release is ready version will be bumped again. ARC GNU tools of version arc-2016.03 bring some quite significant changes like: * Binutils v2.26+ (upstream commit id 202ac19 with additional ARC patches) * GCC v4.8.5 * GDB 7.10 More about changes, improvements and fixes could be found here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03-rc2 Also in this change we realign custom Buildroot patches for binutils and gcc for ARC tools. Looks like earlier most of arch-independent patches for binutils and gcc were either unintentionally removed or not even added in patch folders for ARC's binutils and gcc. Now arch-independent patches for binutils-2.26 and gcc-4.8.5 were added in package/{binutils|gcc}/arc-2016.03-rc2 folders. Build and run-tested in nSIM for both ARC700 and ARC HS38. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | gcc/libmudflap: also unavailable for gcc 6.xBernd Kuhls2016-05-311-0/+1
| | | | | | | | | | | | | | | | | | libmudflap was removed in gcc 4.9: https://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | gcc: fix build of gcc 6.x on MicroblazeThomas Petazzoni2016-05-171-166/+0
|/ | | | | | | | | | | | | | | Due to patch 840-microblaze-enable-dwarf-eh-support.patch, gcc 6.x does not build: ../../gcc/config/microblaze/microblaze.c: In function 'void microblaze_expand_epilogue()': ../../gcc/config/microblaze/microblaze.c:3046: error: 'gen_rtx_raw_REG' was not declared in this scope This patch was originally added to gcc 4.9 to make it capable of building glibc. However, this is no longer needed with gcc 6.x, which builds glibc just fine. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: add coldfire supportWaldemar Brodkorb2016-04-305-0/+81
| | | | | | | | Add support for m68k/coldfire. A gcc patch is required to avoid gcc ICE. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: add support for gcc 6Thomas Petazzoni2016-04-279-0/+321
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the support for gcc 6. This release allows to remove a large number of our gcc patches, mainly thanks to the Xtensa and musl related patches being merged upstream. Patches kept with no changes: 100-uclibc-conf.patch 301-missing-execinfo_h.patch 810-arm-softfloat-libgcc.patch 830-arm_unbreak_armv4t.patch 840-microblaze-enable-dwarf-eh-support.patch 860-cilk-wchar.patch 890-fix-m68k-compile.patch Patches dropped because they have been merged upstream, or were already upstream backports: 120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch (merged) 850-libstdcxx-uclibc-c99.patch (merged in a different form, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393) 870-xtensa-add-mauto-litpools-option.patch (upstream backport) 871-xtensa-reimplement-register-spilling.patch (upstream backport) 872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch (upstream backport) 873-xtensa-fix-_Unwind_GetCFA.patch (upstream backport) 874-xtensa-add-uclinux-support.patch (upstream backport) 900-libitm-fixes-for-musl-support.patch (upstream backport) 901-fixincludes-update-for-musl-support.patch (upstream backport) 902-unwind-fix-for-musl.patch (upstream backport) 903-libstdc++-libgfortran-gthr-workaround-for-musl.patch (upstream backport) 904-musl-libc-config.patch (upstream backport) 905-add-musl-support-to-gcc.patch (upstream backport) 905-add-musl-support-to-gcc.patch (upstream backport) 906-mips-musl-support.patch (upstream backport) 907-x86-musl-support.patch (upstream backport) 908-arm-musl-support.patch (upstream backport) 909-aarch64-musl-support.patch (upstream backport) Successfully build-time and run-time tested with qemu_arm_vexpress_defconfig, using gcc 6.x, both in uClibc and musl configurations. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: disable split-stack for non-thread buildsWaldemar Brodkorb2016-04-193-0/+42
| | | | | | | | This fixes bug 8766: https://bugs.busybox.net/show_bug.cgi?id=8766 Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: fix ccache hash of patches in BR2_GLOBAL_PATCH_DIRArnout Vandecappelle (Essensium/Mind)2016-04-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In commit f4682cf933, a hash of the patches applied to gcc was created to make sure that ccache can properly detect when the toolchain has changed. The patches applied to gcc consist of the buildroot patches in package/gcc, but also potentially patches in BR2_GLOBAL_PATCH_DIR. However, the path to the patches in BR2_GLOBAL_PATCH_DIR was corrected incorrectly, because it misses a /. So instead of: $(BR2_GLOBAL_PATCH_DIR)/gcc-initial/*.patch it would look for $(BR2_GLOBAL_PATCH_DIR)gcc-initial/*.patch In other words, if BR2_GLOBAL_PATCH_DIR doesn't end with /, the patches in BR2_GLOBAL_PATCH_DIR are not taken into account in the ccache hash. To fix, add the missing / Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: He Chunhui <hchunhui@mail.ustc.edu.cn> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: add xtensa uClinux supportMax Filippov2016-03-313-0/+522
| | | | | | Backported from: r228450 Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: fix libsanitizer build with _FILE_OFFSET_BITS=64Max Filippov2016-03-241-0/+37
| | | | | | | | | | | | | | | | | | | | After the commit f67a4f50e2ace3a2 "gcc: preserve CXXFLAGS_FOR_TARGET" target CFLAGS are passed to all libraries bundled with gcc. This breaks libsanitizer on gcc-4.9.x when building with _FILE_OFFSET_BITS=64: error: size of array ‘assertion_failed__837’ is negative ... libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:837:1: note: in expansion of macro ‘CHECK_SIZE_AND_OFFSET’ CHECK_SIZE_AND_OFFSET(dirent, d_ino); This issue is fixed in the libsanitizer mainline and in gcc-5.x. There's no issue with gcc-4.8.x and earlier. Reported-by: Julien CORJON <corjon.j@ecagroup.com> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Backported from: https://llvm.org/svn/llvm-project/compiler-rt/trunk@220328 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Revert "package/gcc: fix libgcc build for xtensa"Max Filippov2016-03-201-7/+0
| | | | | | | | | | | | | | | | This reverts commit c44cf2cc97df1729577263d2b0cb5263e8cdc4c1. Now that xtensa gas don't move literals into .init and .fini this fix is no longer needed. See upstream commit https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=4111950f363221c4641dc2f33bea61cc94f34906, which was backported to all supported binutils version, under the name *-xtensa-fix-.init-.fini-literals-moving.patch. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> [Thomas: add more details in the commit log, as suggested by Yann E. Morin, and using information provided by Max.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch/m68k: re-enable the architectureWaldemar Brodkorb2016-03-203-0/+45
| | | | | | | This allows to build a m68k toolchain with uClibc. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Revert "gcc/gcc-final: pass TARGET_ABI flags to configure with ↵Max Filippov2016-03-151-4/+0
| | | | | | | | | | | | | | --enable-cxx-flags" This reverts commit 2dcab526a97d1dbcb73c3cd578e5bf2853853a10. Now that gcc correctly propagates CXXFLAGS_FOR_TARGET for libstdc++ build this is no longer needed. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: preserve CXXFLAGS_FOR_TARGETMax Filippov2016-03-153-0/+75
| | | | | | | | | | | | | | | | | | | gcc-4.7.x, gcc-4.8.x and gcc-4.9.x don't propagate CXXFLAGS_FOR_TARGET to CXXFLAGS for libstdc++ build. As a result libstdc++ is built without TARGET_CFLAGS and may fail to link with applications using it, see e.g. http://autobuild.buildroot.net/results/81a3bca5cbcf789c7ce1aa221a6a4154dd7c3917/ Instead of passing TARGET_ABI or TARGET_CFLAGS for libstdc++ in --enable-cxx-flags parameter backport the patch that fixes propagation of CXXFLAGS_FOR_TARGET to CXXFLAGS. This issue is fixed in gcc-5.x Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: fix dynamic linker path for mips soft-floatThomas Petazzoni2016-03-103-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit updates the gcc musl patches for gcc 4.7, 4.8 and 4.9 so that the path to the dynamic linker encoded as "program interpreter" in the generated binaries actually matches the symbolic link installed by musl when building for mips soft-float. Indeed, musl installs a symlink called ld-musl-mipsel-sf.so.1, but gcc currently generates binaries that use /lib/ld-musl-mips.so as program interpreter. The fix is simply the one from https://bitbucket.org/GregorR/musl-cross/commits/825219202365, i.e adjust MUSL_DYNAMIC_LINKER in our musl gcc patches. Thanks to these patches: $ ./host/usr/bin/mipsel-linux-readelf -a ./target/bin/busybox [...] [Requesting program interpreter: /lib/ld-musl-mipsel-sf.so.1] [...] gcc 5.x doesn't need any fix because the musl patches already use the right value. Fixes bug #7562. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: drop gcc 4.5 specific codeThomas Petazzoni2016-03-091-9/+0
| | | | | | | | | | We have removed gcc 4.5 support since a long time, so this commit removes dead code that was only used when building a toolchain based on gcc 4.5. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: 4.9.x: backport a fix for libcap-ng issue on nios2Romain Naour2016-03-051-0/+49
| | | | | | | | | | | The patch is part of gcc 5.3 release. Fixes: http://autobuild.buildroot.net/results/901/90186d1fe134b804c0101554296b1235dc0ccbb0 Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Sergio Prado <sergio.prado@e-labworks.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: remove 4.5.xGustavo Zacarias2016-02-289-635/+0
| | | | | | | | It's been deprecated for some time now. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> [Thomas: move option to Config.in.legacy, as noticed by Peter.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: mark 4.7.x as deprecatedGustavo Zacarias2016-02-241-0/+1
| | | | | | | | We're already using 4.9.x as default, and have 4.8.x on the lower side together with 5.x (5.3.0) on the higher side. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch/arm: add the cortex A17 variant supported by gcc 5.xEzequiel García2016-02-221-3/+6
| | | | | | | | | Add the Cortex A17 variant. This core is considered a replacement of the Cortex A12 and is supported by gcc 5 / binutils 2.25+ Suggested-by: Ross Green <greenfross@netscape.net> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
OpenPOWER on IntegriCloud