summaryrefslogtreecommitdiffstats
path: root/package/gcc
Commit message (Collapse)AuthorAgeFilesLines
...
* gcc/gcc-final: pass TARGET_ABI flags to configure with --enable-cxx-flagsMax Filippov2015-05-311-0/+4
| | | | | | | | | | | | | | | libstdc++ is in all regards a normal library, it needs to be built with TARGET_ABI flags, otherwise linking it with other C++ code may fail. Pass TARGET_ABI flags to gcc-final configure script in the --enable-cxx-flags parameter. Fixes: http://autobuild.buildroot.net/results/81a3bca5cbcf789c7ce1aa221a6a4154dd7c3917/ http://autobuild.buildroot.net/results/4943b214c29951ecc7af0a1f360b6454485c0b9b/ Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: fix PR 65730 (ICE on xtensa cores w/o hardware multiplication)Max Filippov2015-05-203-0/+111
| | | | | Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc (arc): backport PR56780 patchesRomain Naour2015-05-121-0/+244
| | | | | | | | | | | | | | | | --disable-install-libiberty configure option is broken in gcc 4.8.x, so libiberty.a is always installed in HOST_DIR. This library broke the host-gdb build due to a fpic/fPIC issue. Note: host-binutils-arc-2014.12 install libiberty.a in HOST_DIR but it was overwritten by the gcc one. The host-binutils's libiberty.a also broke the host-gdb build. This should be fixed in a followup patch. Signed-off-by: Romain Naour <romain.naour@openwide.fr> Cc: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: backport PR56780 patchesRomain Naour2015-05-111-0/+244
| | | | | | | | | | | | | | | | | --disable-install-libiberty configure option is broken in gcc 4.8.x, so libiberty.a is always installed in HOST_DIR. This library broke the host-gdb build due to a fpic/fPIC issue. Fixes: http://autobuild.buildroot.net/results/28f/28f3074e99a35f4321dad2fa6c5abdad14d2d2c6/ And many more. Signed-off-by: Romain Naour <romain.naour@openwide.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* sh4: fix toolchain creationWaldemar Brodkorb2015-05-031-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Linux kernel does force compile with -m4-nofpu, which is only available when building a multilib toolchain. The interesting part here is, that buildroot use --disable-multilib for gcc configure, but enables --with-multilib-list=m4,m4-nofpu in the default configuration for Qemu targeting r2d emulation. This results in a toolchain, which can be used for the kernel and for userland without creating a multilib toolchain with different kinds of libgcc version. In the multilib case there would be subdirectories created (!m4 and m4-nofpu). As buildroot uses a short version of toolchain creation, a multilib enabled gcc build fails when creating libgcc. So the best solution is to just keep multilib disabled, but always add --with-multilib-list when sh4/sh4eb/sh4a/sh4aeb is choosen. Tested with sh4/sh4a toolchain build and qemu defconfig with gcc 4.8.x/4.9.x (with and without C++ enabled), uClibc and glibc. Disable sh4a/sh4aeb for uClibc, as it does not implemented, yet. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> (ARM and SH4 uClibc toolchain builds)
* gcc/4.8.4: fix aarch64 vmlaq_lane_s32 typoPeter Korsgaard2015-04-271-0/+24
| | | | | | | | | | | | | | | | Fixes webp build: http://autobuild.buildroot.net/results/656/6563be62557ab6c1bdd4152523774316dc09c9ce/ http://autobuild.buildroot.net/results/e31/e31e782d927215dde87b2f3174d70b8eb70085fd/ http://autobuild.buildroot.net/results/e2e/e2e627dd6fdfa58ee07fd3aaca43e1731cc8b6e4/ http://autobuild.buildroot.net/results/26e/26ed07fe917e1af21b5c5c3e4f6c2b39d78a8aff/ And many more. Upstream bug report and patch: https://code.google.com/p/webp/issues/detail?id=230 https://android-review.googlesource.com/#/c/99470 Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: add hashesYann E. MORIN2015-04-233-0/+12
| | | | | | | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc-final: install libatomicGustavo Zacarias2015-04-191-0/+9
| | | | | | | | | | | It's required in some 32-bit architectures for the extended (64-bit) atomic operations, like __sync_add_and_fetch_8. These arches are at least: i386, mips & mipsel. Target size growth is ~15 KiB for ARM. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: disable libsanitizer for sparcGustavo Zacarias2015-04-161-0/+6
| | | | | | | | | | | Normally libsanitizer handles the different functionalities gracefully for each architecture, but it doesn't seem to be the case for SPARC. Since in general it doesn't support anything for SPARC just disable it. Fixes bug #7951. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package infra: drop non-lfs supportGustavo Zacarias2015-04-011-1/+0
| | | | | | | | Now that largefile is mandatory remove support for non-lfs tweaks/variables in the package infra and the gcc build. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: remove stray bfin --with-cpu exclusionGustavo Zacarias2015-03-251-3/+0
| | | | | | | We no longer support an internal bfin toolchain hence it's dead code. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: mark 4.5.x as deprecatedGustavo Zacarias2015-03-251-0/+1
| | | | | | | | It was kept for the internal blackfin toolchain which has been removed since because of lack of maintenance and testing. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: remove blackfin conditionalsGustavo Zacarias2015-03-201-5/+4
| | | | | | | | Now that we don't support the internal blackfin toolchain any more remove unnecessary conditionals. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: fix ICE building QT5 on xtensaMax Filippov2015-03-201-0/+59
| | | | | | | | Add fix for GCC PR 64896 from the gcc-4_9-branch of gcc. This fixes bugzilla bug 7961. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: fix 4.9.2 build with C++ and !wcharPeter Korsgaard2015-03-151-0/+56
| | | | | | | | | The libcilk library (used on x86/x86-64 when building with C++ support) unconditionally uses WCHAR_MIN / WCHAR_MAX, causing build issues with uClibc when configured without wchar support. Reported-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: add link-time-optimization supportPeter Kümmel2015-03-072-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new option BR2_GCC_ENABLE_LTO that builds gcc and binutils with LTO support. Individual packages still have to enable LTO explicitly by passing '-flto' to GCC, which passes it on to the linker. This option does not add that flag globally. Some packages detect if the compiler supports LTO and enable the flag if it does. To support LTO, ar and ranlib must be called with an argument which triggers the usage of the LTO plugin. Since GCC doesn't call these tools itself, it instead provides wrappers for ar and ranlib that pass the LTO arguments. This way existing Makefiles don't need to be changed for LTO support. However, these wrappers are called <tuple>-gcc-ar which matches the pattern to link to the buildroot wrapper in the external toolchain logic. So the external toolchain logic is updated to provide the correct symlink. [Thomas: - Add a separate BR2_BINUTILS_ENABLE_LTO option to enable LTO support in binutils. This is a blind option, selected by BR2_GCC_ENABLE_LTO. It just avoids having binutils.mk poke directly into gcc Config.in options. - Remove the check on the AVR32 special gcc version, which we don't support anymore. - Adapt the help text of the LTO Config.in option to no longer mention "Since version 4.5", since we only support gcc >= 4.5 in Buildroot anyway. - Fix typo in toolchain-external.mk comment.] Signed-off-by: Peter Kümmel <syntheticpp@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: add support for AMD steamrollerGustavo Zacarias2015-03-041-2/+2
| | | | | | | | Add support for AMD steamroller optimizations, available in gcc 4.8+ as bdver3. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: make branding unconditionalGustavo Zacarias2015-03-031-8/+3
| | | | | | | We don't support older versions that can't handle it any more. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: nios2: Prevent selecting unsupported versionsEzequiel García2015-02-191-3/+3
| | | | | | | | Versions older than GCC v4.9 do not support the Nios-II architecture so disable them. Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: 4.9.2: Add patch to remove a wrong headerEzequiel García2015-02-191-0/+12
| | | | | | | | | | | | This commit adds a patch to gcc removing a unistd.h header include in libgcc/config/nios2/linux-atomic.c The file is built as part of GCC first stage (host-gcc-initial), and so the header is not accesible. Given the header is not needed it's fine to simply remove it. Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: do not mourn avr32 for too long...Yann E. MORIN2015-02-147-288/+8
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: rename the conditional patch according to the new policySamuel Martin2015-02-035-1/+1
| | | | | Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* ARC: bump tools to 2014.12 releaseAlexey Brodkin2015-02-029-291/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now when new shiny tools are released by Synopsys we're ready for version update in Buildroot again. More details about arc-2014.12 release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2014.12 Following patches were removed from GCC since they are a part of release now: * 200-size_type_unsigned_int.patch * 300-ptrdiff_type_int.patch * 400-call-arc_hazard-before-branch-shortening.patch * 401-fix-length-attribute-for-casesi_load-pattern.patch * 402-fix-length-of-instructions-that-are-in-delay-slot-and-needs-to-be-predicated.patch * 403-update-casesi_compact_jump-instruction-length.patch But since arc-2014.12 tools are still based on GCC 4.8 following patches ar still relevant so moving to the new folder to match ARC gcc bump. * 100-libstdcxx-uclibc-c99.patch * 910-gcc-poison-system-directories.patch Binutils are still based on 2.23 so following patch still makes sense: * 600-poison-system-directories.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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: disable libitm for sparc <v9Gustavo Zacarias2015-01-151-0/+5
| | | | | | | | | | | | | | | | | libitm (transactional memory) needs SPARC V9+ ISA, otherwise when enabling C++ the toolchain fails to build: /tmp/cclQ6hrD.s: Assembler messages: /tmp/cclQ6hrD.s:1261: Error: Architecture mismatch on "rd". /tmp/cclQ6hrD.s:1261: (Requires v9|v9a|v9b; requested architecture is v8.) Makefile:517: recipe for target 'beginend.lo' failed make[5]: *** [beginend.lo] Error 1 So disable it for our current (v8, leon3) support. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: bump 4.8.x series to version 4.8.4Gustavo Zacarias2014-12-1912-3/+3
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Rename BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBSThomas Petazzoni2014-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed from "prefer static libraries when possible" to "use only static libraries". The former semantic didn't make much sense, since the user had absolutely no control/idea of which package would use static libraries, and which packages would not. Therefore, for quite some time, we have been starting to enforce that BR2_PREFER_STATIC_LIB should really build everything with static libraries. As a consequence, this patch renames BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS, and adjust the Config.in option accordingly. This also helps preparing the addition of other options to select shared, shared+static or just static. Note that we have verified that this commit can be reproduced by simply doing a global rename of BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* gcc: enable poison system directories optionThomas Petazzoni2014-12-111-0/+1
| | | | | | | | | | This commit enables the poison system directories option, which is now available thanks to the gcc patches that have been added. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Romain Naour <romain.naour@openwide.fr> Tested-by: Romain Naour <romain.naour@openwide.fr>
* gcc/4.7: add patch to warn about unsafe header pathsThomas Petazzoni2014-12-111-0/+207
| | | | | | | | | | | | | | | | This commit adds a patch to gcc borrowed from CodeSourcery/Yocto that warns about unsafe include paths (i.e /usr/include, /usr/local/include, etc.). The patch was adapted to gcc 4.7.4, and modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out instead of just warn when unsafe paths are used. Even though erroring out can be chosen by passing -Werror=poison-system-directories, we are not sure this option in CFLAGS will always be passed, so having an environment variable guarantees it will always be passed, and also allows to have an identical behavior to the external toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Romain Naour <romain.naour@openwide.fr>
* gcc/arc-2014.08: add patch to warn about unsafe header pathsThomas Petazzoni2014-12-111-0/+221
| | | | | | | | | | | | | | | | This commit adds a patch to gcc borrowed from CodeSourcery/Yocto that warns about unsafe include paths (i.e /usr/include, /usr/local/include, etc.). The patch was adapted to gcc arc-2014.08, and modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out instead of just warn when unsafe paths are used. Even though erroring out can be chosen by passing -Werror=poison-system-directories, we are not sure this option in CFLAGS will always be passed, so having an environment variable guarantees it will always be passed, and also allows to have an identical behavior to the external toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Romain Naour <romain.naour@openwide.fr>
* gcc/4.8: add patch to warn about unsafe header pathsThomas Petazzoni2014-12-111-0/+207
| | | | | | | | | | | | | | | | This commit adds a patch to gcc borrowed from CodeSourcery/Yocto that warns about unsafe include paths (i.e /usr/include, /usr/local/include, etc.). The patch was adapted to gcc 4.8.3, and modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out instead of just warn when unsafe paths are used. Even though erroring out can be chosen by passing -Werror=poison-system-directories, we are not sure this option in CFLAGS will always be passed, so having an environment variable guarantees it will always be passed, and also allows to have an identical behavior to the external toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Romain Naour <romain.naour@openwide.fr>
* gcc/4.9: add patch to warn about unsafe header pathsThomas Petazzoni2014-12-111-0/+207
| | | | | | | | | | | | | | | | This commit adds a patch to gcc borrowed from CodeSourcery/Yocto that warns about unsafe include paths (i.e /usr/include, /usr/local/include, etc.). The patch was adapted to gcc 4.9.1, and modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out instead of just warn when unsafe paths are used. Even though erroring out can be chosen by passing -Werror=poison-system-directories, we are not sure this option in CFLAGS will always be passed, so having an environment variable guarantees it will always be passed, and also allows to have an identical behavior to the external toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Romain Naour <romain.naour@openwide.fr>
* package/gcc: set e5500 and e6500 version maskGustavo Zacarias2014-12-071-2/+4
| | | | | | | | Freescale e5500 and e6500 cores are supported for versions >= 4.8 So filter out all of the older versions to avoid build failures. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc/mpfr: remove deprecated featuresGustavo Zacarias2014-12-012-29/+0
| | | | | | | | Remove the fortran and objective C language support since these have been deprecated since more than a year ago. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/gcc: use correct symbol for powerpc version maskGustavo Zacarias2014-11-181-3/+3
| | | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: do not use BR2_GCC_TARGET_TUNE anymoreThomas Petazzoni2014-11-071-3/+0
| | | | | | | | | Since the BR2_GCC_TARGET_TUNE value is always empty now, there is no longer a point in using it in the gcc package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: remove version 4.4.xAndreas Larsson2014-10-308-309/+0
| | | | | | | | | | That gcc series is old and is not used as the default version for any of the architectures we support, so this commit gets rid of it. [Thomas: move the Config.in.legacy option at the right location.] Signed-off-by: Andreas Larsson <andreas@gaisler.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: sparc: Add leon3 cpu type and remove sparc{s,h}fleon{,v8}Andreas Larsson2014-10-302-252/+6
| | | | | | | | | | | There is support for -mcpu=leon3 from gcc 4.8.3. Use this for LEON systems instead of the non-mainline targets sparcsfleon, sparchfleon, sparcsfleonv8, and sparchfleonv8. [Thomas: add Config.in.legacy handling for the removed options.] Signed-off-by: Andreas Larsson <andreas@gaisler.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: bump 4.9.x series to version 4.9.2Gustavo Zacarias2014-10-3010-389/+1
| | | | | | | Drop PR60102 patch which is now upstream. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: indentation cleanupJerzy Grzegorek2014-10-262-13/+13
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* apply-patches.sh: Use the "APPLY_PATCHES" variable to call the scriptFabio Porcedda2014-10-251-2/+2
| | | | | | | | | | To easy up adding optional parameters when calling the "apply-patches.sh" add and use the "APPLY_PATCHES" variable to execute the script. Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: remove gcc snapshot optionPeter Korsgaard2014-10-122-31/+2
| | | | | | | | As discussed during the dev days. It is broken for uClibc/musl and architectures not using mainline gcc, so it has only very limited usefulness. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc/gcc-initial: fix build of the AVR32 toolchainThomas Petazzoni2014-10-091-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Since we switched to a two stage gcc build process, the AVR32 toolchain stopped building. This is because with such an old gcc version, we cannot use the all-target-libgcc and install-target-libgcc targets. Before the two stage gcc, libgcc was only built in gcc-intermediate, which carried a similar logic. This commit basically restores in gcc-initial the logic that used to be in gcc-intermediate, which consists in using the all-target-libcc and install-target-libgcc targets only for gcc versions others than the AVR32 one. Using the BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE option has a way of distinguishing the old AVR32 compiler from the other gcc versions is a bit ugly, but it's what was done in gcc-intermediate before. And since the AVR32 support is due to go away at some point in the hopefully near future, we don't care that much. This will fix the build of the two AVR32 defconfig that have been constantly failing since switching to the two stage gcc process. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* ARC: gcc - fixes for improperly calculated jump/branch offsetsAlexey Brodkin2014-10-084-0/+240
| | | | | | | | | | | | | | | | | | | | | | | Symptoms usually seen are like that: --->--- Error: operand out of range (128 is not between -128 and 127) --->--- where range may differ. Since compiler tries to use jump/branch instructions with the shortest encoding of offset it's important to calculate required offset properly. In case of miscalculation by compiler later assembler throws an error because of inability to encode requested value. Fixes are 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. 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>
* .mk files: bulk aligment and whitespace cleanup of assignmentsThomas De Schampheleire2014-10-072-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Buildroot coding style defines one space around make assignments and does not align the assignment symbols. This patch does a bulk fix of offending packages. The package infrastructures (or more in general assignments to calculated variable names, like $(2)_FOO) are not touched. Alignment of line continuation characters (\) is kept as-is. The sed command used to do this replacement is: find * -name "*.mk" | xargs sed -i \ -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#' Brief explanation of this command: ^\([A-Z0-9a-z_]\+\) a regular variable at the beginning of the line \([?:+]\?=\) any assignment character =, :=, ?=, += \([^\\]\+\) any string not containing a line continuation \([^\\ \t]\+\s*\\\) string, optional whitespace, followed by a line continuation character \(\s*\\\) optional whitespace, followed by a line continuation character Hence, the first subexpression handles empty assignments, the second handles regular assignments, the third handles regular assignments with line continuation, and the fourth empty assignments with line continuation. This expression was tested on following test text: (initial tab not included) FOO = spaces before FOO = spaces before and after FOO = tab before FOO = tab and spaces before FOO = tab after FOO = tab and spaces after FOO = spaces and tab after FOO = \ FOO = bar \ FOO = bar space \ FOO = \ GENIMAGE_DEPENDENCIES = host-pkgconf libconfuse FOO += spaces before FOO ?= spaces before and after FOO := FOO = FOO = FOO = FOO = $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C AT91BOOTSTRAP3_DEFCONFIG = \ AXEL_DISABLE_I18N=--i18n=0 After this bulk change, following manual fixups were done: - fix line continuation alignment in cegui06 and spice (the sed expression leaves the number of whitespace between the value and line continuation character intact, but the whitespace before that could have changed, causing misalignment. - qt5base was reverted, as this package uses extensive alignment which actually makes the code more readable. Finally, the end result was manually reviewed. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Cc: Yann E. Morin <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* packages: rename FOO_CONF_OPT into FOO_CONF_OPTSThomas De Schampheleire2014-10-043-36/+36
| | | | | | | | | | | | To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS, make the same change for FOO_CONF_OPT. Sed command used: find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* packages: rename FOO_INSTALL_OPT into FOO_INSTALL_OPTSThomas De Schampheleire2014-10-041-1/+1
| | | | | | | | | | | | To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS, make the same change for FOO_INSTALL_OPT. Sed command used: find * -type f | xargs sed -i 's#_INSTALL_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* packages: rename FOO_MAKE_OPT into FOO_MAKE_OPTSThomas De Schampheleire2014-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | While the autotools infrastructure was using FOO_MAKE_OPT, generic packages were typically using FOO_MAKE_OPTS. This inconsistency becomes a problem when a new infrastructure is introduced that wants to make use of FOO_MAKE_OPT(S), and can live alongside either generic-package or autotools-package. The new infrastructure will have to choose between either OPT or OPTS, and thus rule out transparent usage by respectively generic packages or generic packages. An example of such an infrastructure is kconfig-package, which provides kconfig-related make targets. The OPTS variant is more logical, as there are typically multiple options. This patch renames all occurrences of FOO_MAKE_OPT in FOO_MAKE_OPTS. Sed command used: find * -type f | xargs sed -i 's#_MAKE_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: add new fix for the ARC 2014.08 gcc versionAlexey Brodkin2014-09-231-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new patch to the ARC 2014.08 gcc specific version, that redefines PTRDIFF_TYPE from "long int" to "int". The change of SIZE_TYPE from "long unsigned int" to "unsigned int" http://git.buildroot.net/buildroot/commit/?id=0f236c1fef669192c8f5cc8ef26e93da91438dc2 introduced a regression due to the existing PTRDIFF_TYPE. Now to fix regression the patch converts PTRDIFF_TYPE to simple "int". The 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/846e92167aa4f486259c9ff44bb4e6cce6097fa4 [Thomas: tweak commit log.] 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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/gcc: cleanup arch/cpu combinationsGustavo Zacarias2014-09-231-17/+67
| | | | | | | | | | | | | | | Cleanup arch/cpu combination limits, we had super-wide depends and it doesn't help readability, version bumps or testing. Make the bool/depends/select order the same for all entries. Drop redundant limitations, for example sparc* if sparc wasn't supported in general. Power8 requires at least gcc 4.9. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* qemu-sparc: use default gccWaldemar Brodkorb2014-09-211-4/+3
| | | | | | | | | With the kernel patch from: http://patchwork.ozlabs.org/patch/384285/ There is no problem with latest gcc anymore. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud