Commit Graph

85 Commits

Author SHA1 Message Date
Alexey Brodkin
09439560b9 toolchain: bump ARC tools to arc-2016.03 release
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>
2016-05-19 21:12:38 +02:00
Thomas Petazzoni
500de2598a toolchain: remove eglibc support
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>
2016-05-17 08:48:23 +02:00
Alexey Brodkin
adbdc6e58f toolchain: bump ARC tools to arc-2016.03-rc2
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>
2016-05-11 23:06:45 +02:00
Thomas Petazzoni
519d83bfa0 gcc: add support for gcc 6
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>
2016-04-27 23:11:53 +02:00
Gustavo Zacarias
8c0a367d0a gcc: remove 4.5.x
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>
2016-02-28 22:25:57 +01:00
Gustavo Zacarias
04f416df91 gcc: mark 4.7.x as deprecated
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>
2016-02-24 20:56:05 +01:00
Ezequiel García
027b7ca0f2 arch/arm: add the cortex A17 variant supported by gcc 5.x
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>
2016-02-22 09:31:42 +01:00
Lada Trimasova
f25df488d7 toolchain: bump ARC toolchain components to arc-2015.12
This change introduces newer ARC toolchain in Buildroot.

That new arc-2015.12 release doesn't bring any significant changes
but mostly is focused on fixes and minor improvements here and there.
Most noticeable changes are:
 * GCC: Source update to v4.8.5
 * GDB: Updated to upstream 7.10 release.

You may find more info on fixes and improvements in that release at:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.12

Signed-off-by: Lada Trimasova <ltrimas@synopsys.com>
Cc: Alexey Brodkin <abrodkin@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>
2016-02-05 21:48:51 +01:00
Alexey Brodkin
e10860f644 toolchain: bump ARC toolchain components to arc-2015.12-rc1
This change introduces newer ARC toolchain in Buildroot.
Note this is the first release candidate and we'll probably see another
RC before cutting the final release.

That new arc-2015.12 release doesn't bring any significant changes but
mostly is focused on fixes and minor improvements here and there.
Most noticeable changes are:
 * GCC updated to v4.8.5
 * GDB updated to 7.10

You may find more info on fixes and improvements in that release at:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.12-rc1

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: arc-buildroot@synopsys.com
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-01-19 22:01:37 +01:00
Gustavo Zacarias
e0c39672e9 gcc: bump 5.x series to version 5.3.0
201-libgcc-remove-unistd-header.patch is upstream so remove it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-12-07 08:34:33 +01:00
Vicente Olivert Riera
99122d6780 arch: add support for mips32r6 and mips64r6 variants
- Add support for mips32r6 and mips64r6 target architecture variants
- Disable unsupported gcc versions
- Disable unsupported binutils versions
- Disable unsupported external toolchains
- Disable unsuported C libraries
- Add a hook in order to make glibc compile for MIPS R6.

[Thomas: slightly tweak the glibc hack explanation, to make it
hopefully clearer.]

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-12 21:33:56 +02:00
Thomas Petazzoni
c67540ef9b gcc: select the appropriate BR2_TOOLCHAIN_GCC_AT_LEAST_* option
This commit wires up the gcc version dependency mechanism in the
internal toolchain backend by making the gcc version choice in the gcc
package Config.in.host select the appropriate
BR2_TOOLCHAIN_GCC_AT_LEAST_* option.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-08-05 10:40:29 +02:00
Gustavo Zacarias
f84cc202aa binutils: rename config option
Rename the binutils configuration option to match that one used by gcc
where the patchlevel is explicitly left out.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-28 22:44:29 +02:00
David Kessler
c00fd2845e gcc: add support for fortran
Signed-off-by: David Kessler <DJKessler@me.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-19 14:48:33 +02:00
Gustavo Zacarias
b0d6d3071b gcc/libmudflap: also unavailable for gcc 5.x
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-18 11:17:32 +02:00
Gustavo Zacarias
c51697185f gcc: bump 5.x series to version 5.2.0
Also rename the BR2_GCC_VERSION_5_1_X symbol to BR2_GCC_VERSION_5_X to
reflect this change to match the new versioning scheme.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-18 11:16:53 +02:00
Alexey Brodkin
1f0e184e40 ARC: update tools to arc-2015.06 release
I'm happy to update GNU tools for ARC cores to the most recent
arc-2015.06 release.

This release brings following major improvements:
 * GCC: source update to v4.8.4
 * GCC: C ABI compatibility between MetaWare and GNU toolchains
 * uClibc: support for thread local storage and Native Pthread Library (NPTL)
 * GDB: updated to version 7.9.1

Also a lot of fixes and improvements has been done, please refer to
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.06
for more details.

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>
Cc: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-18 11:13:31 +02:00
Vicente Olivert Riera
2fda0dd7d4 Disable gcc-4.8.x + binutils-2.25 + MIPS combination
This combination causes a compilation failure of the host-gcc-final
recipe like this one:

/br/output/host/usr/mips-buildroot-linux-gnu/bin/ld:
.libs/gload.o: relocation R_MIPS_HI16 against `__gnu_local_gp' can not
be used when making a shared object; recompile with -fPIC

The problem is the file 'libatomic/gload.c' is compiled without -fPIC
when using binutils-2.25. All gcc (with libatomic) versions below 4.9.3
are affected by this issue.

Here is a summary of affected/unaffected versions in Buildroot:

4.7.x: unaffected (doesn't have libatomic)
4.8.x: affected
4.9.x: unaffected (we have 4.9.3 which is fixed)
5.1.x: unaffected

The fix can be found here:

  57f5c0954f

However, given the following reasons...

- Upstream gcc 4.8 branch is closed.
- The fix is very hard to backport from 4.9 to 4.8.
- This stuff is insanely sensitive and not working at all could be
  better than looking like it works but not quite.

...I think the best choice is to disable that combination in Buildroot.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-03 10:32:41 +02:00
Alexey Brodkin
36555b4c8d ARC: switch to RC1 of upcoming arc-2015.06 tools
Even though this is only RC1 it's been heavily used internally so it should
not be any worse than existing arc-2014.12.

Moreover this relase (and so its RC1) finally delivers support of NPTL
for ARC in uClibc.

That's why it would be good to allow interested users to start trying it
(for example WebKit and apps that use WebKit could be successfully built
and run) also it will be helpful to run that new toolchain through
autobuilder in attempt to find any hidden regressions so we have a solid
toolchain for release.

If there's an interest in that patch more patches will follow with
subsequent RCs and essentially on appearence or relese Buildroot will be
updated with it.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: arc-buildroot@synopsys.com
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-28 14:35:15 +02:00
Gustavo Zacarias
2fed00ea1e gcc: bump 4.9.x series to version 4.9.3
Drop 110-pr64896.patch and 920-libgcc-remove-unistd-header.patch since
they're upstream.

Tweak 850-libstdcxx-uclibc-c99.patch for this new release.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-28 14:03:44 +02:00
Peter Korsgaard
7654d687b2 gcc: bump 4.8.x version
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-24 09:20:43 +02:00
Thomas Petazzoni
07536bbb3d gcc: switch to gcc 4.9 as the default version
Now that we have added gcc 5.1, it's time to make gcc 4.9 the default
version used in Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-23 00:19:10 +02:00
Thomas Petazzoni
4deb2d93c5 gcc: add support for gcc 5.1
This commit adds support for gcc 5.1 in Buildroot. In terms of gcc
patches, compared to gcc 4.9.x:

 * Kept as is, sometimes after minor adjusments:

   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
   850-libstdcxx-uclibc-c99.patch
   860-cilk-wchar.patch

 * Dropped:

   110-pr64896.patch
   111-pr65730.patch

 * Split in multiple parts:

   900-musl-support.patch

   The patches from Crosstool-NG for muls support are used instead of
   one single patch.

 * Renamed:

   910-gcc-poison-system-directories.patch to
   200-gcc-poison-system-directories.patch

   920-libgcc-remove-unistd-header.patch to
   201-libgcc-remove-unistd-header.patch

   Since the 9xx part of the series is now used by the various musl
   related patches.

We have tested the following configurations, with a minimal Busybox
system:

 * ARM, uClibc-ng
 * ARM, glibc
 * ARM, musl
 * x86, uClibc-ng and uClibc 0.9.33.2
 * x86, glibc
 * x86, musl

All of the configurations built fine. All the configurations boot fine
in Qemu, except x86/uClibc (either ng or 0.9.33.2), it segfaults when
running init:

devtmpfs: mounted
Freeing unused kernel memory: 300K (c1389000 - c13d4000)
init[1]: segfault at 0 ip b77708c1 sp bfa9bb0c error 4 in ld-uClibc-0.9.33.2.so[b776c000+6000]
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

We'll give some time for the uClibc developers to fix the problem
before taking other measures in Buildroot to exclude gcc 5.1 from a
x86/uClibc configuration.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-23 00:18:17 +02:00
Gustavo Zacarias
89854b0f79 gcc: mark 4.5.x as deprecated
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>
2015-03-25 21:39:06 +01:00
Gustavo Zacarias
5fcf071227 gcc: remove blackfin conditionals
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>
2015-03-20 22:11:05 +01:00
Peter Kümmel
814f63ec32 toolchain: add link-time-optimization support
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>
2015-03-07 15:01:53 +01:00
Gustavo Zacarias
50451998f0 arch: add support for AMD steamroller
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>
2015-03-04 22:16:41 +01:00
Ezequiel García
8bc506a648 gcc: nios2: Prevent selecting unsupported versions
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>
2015-02-19 22:04:26 +01:00
Yann E. MORIN
8f8e9162fa package/gcc: do not mourn avr32 for too long...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-14 17:44:52 +01:00
Alexey Brodkin
41e1cb18d1 ARC: bump tools to 2014.12 release
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>
2015-02-02 21:27:55 +01:00
Gustavo Zacarias
7e8fc282f8 gcc: bump 4.8.x series to version 4.8.4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-19 21:42:51 +01:00
Gustavo Zacarias
0fb5dee3e6 package/gcc: set e5500 and e6500 version mask
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>
2014-12-07 23:47:22 +01:00
Gustavo Zacarias
65d5ec3708 package/gcc/mpfr: remove deprecated features
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>
2014-12-01 20:05:59 +01:00
Gustavo Zacarias
255193251f package/gcc: use correct symbol for powerpc version mask
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>
2014-11-18 08:40:04 +01:00
Andreas Larsson
40e18f2976 gcc: remove version 4.4.x
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>
2014-10-30 21:29:44 +01:00
Andreas Larsson
43b78e7285 arch: sparc: Add leon3 cpu type and remove sparc{s,h}fleon{,v8}
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>
2014-10-30 21:28:39 +01:00
Gustavo Zacarias
db4db9ebcc gcc: bump 4.9.x series to version 4.9.2
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>
2014-10-30 19:05:19 +01:00
Peter Korsgaard
d313a80d62 gcc: remove gcc snapshot option
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>
2014-10-12 12:09:34 +02:00
Gustavo Zacarias
f39ceddcf7 package/gcc: cleanup arch/cpu combinations
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>
2014-09-23 20:13:26 +02:00
Waldemar Brodkorb
0713b7ff65 qemu-sparc: use default gcc
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>
2014-09-21 19:38:23 +02:00
Alexey Brodkin
a484a6ca2c ARC: bump tools to 2014.08 release
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:
e6ab8cac62

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>
2014-09-01 16:14:42 +02:00
Gustavo Zacarias
2c8de6c443 gcc 4.9.1: add patch for PR60102
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>
2014-08-06 19:52:13 +02:00
Gustavo Zacarias
275d5115db gcc 4.9.x: Exclude for PPC SPE because of PR60102
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>
2014-07-18 19:56:06 +02:00
Gustavo Zacarias
00bf63600e gcc: bump 4.9.x series to version 4.9.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-17 20:58:21 +02:00
Thomas Petazzoni
d10e0805ea gcc: remove versions 4.3.x and 4.6.x
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>
2014-07-10 16:20:39 +02:00
Peter Korsgaard
712414ce2d gcc: drop redundant explicit version handling for aarch64
Not needed anymore now that we default to gcc 4.8.x

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-13 23:01:16 +02:00
Waldemar Brodkorb
0deec1bd74 gcc 4.8.x does not compile a working kernel for sparc
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>
2014-06-13 22:57:45 +02:00
Gustavo Zacarias
2c6ca668b8 gcc: bump 4.7.x series to version 4.7.4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-13 09:45:15 +02:00
Steve Thomas
90aca35a4c gcc: add a BR2_GCC_ENABLE_GRAPHITE option
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>
2014-06-09 11:38:25 +02:00
Thomas Petazzoni
3d997bf7bc gcc: switch to gcc 4.8.x as the default compiler version
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>
2014-06-01 21:51:17 +02:00