Commit Graph

126 Commits

Author SHA1 Message Date
Waldemar Brodkorb
d70ade160e microblaze: fix musl support
For musl we need patches for bintils 2.25.1 and 2.26.1.
Binutils 2.27 and gcc 6.2.x does not work for microblaze,
even not for uClibc-ng or glibc.
For gcc 5.4.x the existing patch need reworking so that
musl and uClibc-ng is supported.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas:
 - Add proper description for the binutils patches
 - Use BR2_microblaze instead of BR2_microblazeel and BR2_microblazebz]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-28 15:11:52 +02:00
Vicente Olivert Riera
1b974425d1 MIPS: add support for M6201 cores
-march=m6201 is not yet supported in GCC upstream, so disabling all
versions when selecting this core.

Note that M6201 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for M6201 as
well.

The external Codescape IMG GNU Linux Toolchain has support for this
core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-19 23:31:29 +02:00
Arnout Vandecappelle
6b9d22ca4a gcc: remove BR2_GCC_SUPPORTS_GRAPHITE
The blind option BR2_GCC_SUPPORTS_GRAPHITE was used to distinguish gcc
versions that support the graphite loop optimizer. But since a while
already, all the versions we support do support graphite. So this symbol
isn't needed anymore.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-16 12:20:18 +02:00
Arnout Vandecappelle
7d3bbfc7df gcc: gcc arc supports graphite
The ARC version of gcc does support graphite. It was probably just
forgotten when the BR2_GCC_VERSION_ARC symbol was introduced.

While we're at it, also remove a redundant newline.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: ARC Maintainers <arc-buildroot@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-16 12:20:02 +02:00
Arnout Vandecappelle
3374941965 gcc: remove BR2_GCC_NEEDS_MPC
The blind option BR2_GCC_NEEDS_MPC was used to distinguish gcc versions
that rely on the mpc library and the ones that don't. But since a while
already, all the versions we support do need the mpc library. So this
symbol isn't needed anymore.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-16 12:19:49 +02:00
Arnout Vandecappelle
a7c13c1b28 gcc: remove deprecated 4.7.x
We will remove BR2_DEPRECATED, so remove this deprecated option.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 23:14:44 +02:00
Vicente Olivert Riera
3cfbeb8363 MIPS: add support for P6600 cores
-march=p6600 is not yet supported in GCC upstream, so disabling all
versions when selecting this core.

Note that P6600 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for P6600 as
well.

The external Codescape IMG GNU Linux Toolchain has support for this
core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Vicente Olivert Riera
ea52e3d01a MIPS: add support for I6400 cores
-march=i6400 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that I6400 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for I6400 as
well.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Vicente Olivert Riera
55a37eaa91 MIPS: add support for M5101 cores
-march=m5101 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that M5101 implies a MIPS R5 CPU, and some GCC versions are already
disabled for R5, so we don't need to disable those ones for M5101 as
well.

Also disable external toolchains that don't support this core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Vicente Olivert Riera
067a46474a MIPS: add support for M5100 cores
-march=m5100 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that M5100 implies a MIPS R5 CPU, and some GCC versions are already
disabled for R5, so we don't need to disable those ones for M5100 as
well.

Also disable external toolchains that don't support this core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Vicente Olivert Riera
ef3e7323ef MIPS: add support for interAptiv cores
-march=interaptiv support starts from GCC-6, so disable previous
versions when selecting this core.

Also disable external toolchains that don't support this core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Vicente Olivert Riera
7ab9cf251d MIPS: add mips64r5 generic architecture variant
-march=mips64r5 support started from GCC-5, so disable previous versions
when the CPU is R5.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Vicente Olivert Riera
1feb1b7756 MIPS: add mips32r5 generic architecture variant
-march=mips32r5 support started from GCC-5, so disable previous versions
when the CPU is R5.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Vicente Olivert Riera
45c92c60b1 MIPS: replace every BR2_mips_* with the new MIPS CPU options
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Zakharov Vlad
eb6873b1d1 toolchain: Bump ARC tools to arc-2016.09-eng015
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng015.

This tag introduces following changes:
1. binutils: Rebase onto upstream master.
2. gcc: Fix devdf3 emulation for arcem, disable TP register when
building for bare metal.

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>
2016-10-03 23:15:11 +02:00
Thomas Petazzoni
e6ee58de3e gcc: switch to gcc 5.x as the default
gcc 4.9.4 was the last release of the 4.9.x branch, and the gcc
developes will now only be maintaining gcc 5.x and 6.x:

  https://gcc.gnu.org/ml/gcc-announce/2016/msg00002.html

Therefore, it is time to use gcc 5.x as the default version in
Buildroot. We have been having toolchains in the autobuilders with gcc
5.x for a while, so the vast majority of the problems should have
already been solved.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-21 08:58:56 +02:00
Thomas Petazzoni
50332a530b gcc: rename option for ARC gcc
The ARC gcc version is now based on gcc 6.x and no longer gcc 4.8.x,
which makes the option BR2_GCC_VERSION_4_8_ARC a bit irrelevant, as is
the prompt of this option.

This commit therefore renames this option to BR2_GCC_VERSION_ARC, and
adjust its prompt as well.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-20 21:19:24 +02:00
Zakharov Vlad
999c7048c1 toolchain: Bump ARC tools to arc-2016.09-eng013
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng013.

This engenering build contains some important GCC updatesthat fixes
some failures for ARC, such as:
http://autobuild.buildroot.net/results/f80/f80ad8a07d9d58b46592c2c99b227197b0f808d3//
http://autobuild.buildroot.net/results/e59/e59e6592fc697cceda359e421387dd905ff04701//
http://autobuild.buildroot.net/results/521/52157aa2b5d75b5338f3bde7ae5beb3d300283d3//

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>
2016-09-17 19:36:27 +02:00
Gustavo Zacarias
ac9b7ef51b gcc: bump 6.x series to 6.2.0
Adjust some patches to avoid patching the ChangeLog which isn't quite
the same.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-07 10:29:58 +02:00
Zakharov Vlad
9b77525c9a toolchain: Bump ARC tools to arc-2016.09-eng011
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng011.

This engenering build contains the following updates:
1. rebase binutils on top of the latest upstream master
2. update GCC to version 6.2

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>
2016-09-05 22:10:06 +02:00
Peter Korsgaard
7353967690 Merge branch 'next'
Quite some conflicts, so here goes ..

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-02 16:20:33 +02:00
Thomas Petazzoni
1bd02bc230 gcc: remove BR2_GCC_ENABLE_TLS option
The current BR2_GCC_ENABLE_TLS can cause users to make incorrect
choices, and is not very useful. This options allows to decide whether
we pass --enable-tls or --disable-tls to gcc, to enable or disable
support for Thread Local Storage.

Its behavior is:

 - The option is default to "y" but only exists if we're using
   uClibc/NPTL or glibc.

 - When we're using uClibc, the option can be disabled.

So, in practice, this means that currently:

 - TLS support is always on for glibc

 - TLS support is on by default for uClibc/NPTL, but can be disabled in
   the configuration. This is in fact bad and causes the build failure
   reported in bug #7424 (this bug is still reproducible on master)

 - TLS support is always disabled for uClibc/no-thread and
   uClibc/linuxthreads.

 - TLS support is always disabled for musl. This does not cause any
   build failure, but musl can use TLS support, and therefore be more
   efficient. According to
   http://www.openwall.com/lists/musl/2012/10/04/1, "Note that if you've
   been building gcc with --disable-tls, __thread was already working
   but gets emulated (very poorly; it's slow and will abort() if it runs
   out of memory) through libgcc.".

So, this commit completely removes the BR2_GCC_ENABLE_TLS and instead
makes the right choice inside gcc.mk directly:

 - TLS support enabled for glibc, musl and uClibc/NPTL

 - TLS support in other cases, i.e uClibc/no-thread and
   uClibc/linuxthreads.

We have intentionally *not* added the option to
Config.in.legacy. Indeed, the new behavior is *exactly* the same as the
older behavior, with the exception of:

 - People can no longer disable TLS support in uClibc/NPTL, which was
   anyway causing a build failure and therefore was not used.

 - TLS support is now enabled on musl, but people using musl already had
   BR2_GCC_ENABLE_TLS not set, so they wouldn't get the legacy warning.

Fixes bug #7424.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2016-08-31 21:45:36 +02:00
Zakharov Vlad
e227e6bf50 toolchain: Bump ARC tools to arc-2016.09-eng010
As described at:
4520524ba0
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>
2016-08-31 09:32:29 +02:00
Waldemar Brodkorb
721e1c1e9c musl: enable mips64 support
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>
2016-08-22 23:10:09 +02:00
Thomas Petazzoni
62504125f8 gcc: fix gcc version dependencies for the PowerPC64/musl exclusion
In commit
5ab751ca44 ("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>
2016-08-20 22:39:54 +02:00
Waldemar Brodkorb
0d8a05c38e bfin: fix issues with internal toolchain, re-enable C++ support
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>
2016-08-20 11:47:46 +02:00
Waldemar Brodkorb
5ab751ca44 toolchain-buildroot: allow to build ppc64(le) musl toolchains
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>
2016-08-19 14:28:01 +02:00
Zakharov Vlad
f0e1381ef9 toolchain: Bump ARC tools to arc-2016.09-eng008
As described at:
4520524ba0
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>
2016-08-11 15:07:06 +02:00
Thomas Petazzoni
9ca80d92e0 gcc: disable C++ support for Blackfin
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>
2016-08-10 14:54:47 +02:00
Thomas Petazzoni
50c02bd72b gcc: bump 4.9 series to 4.9.4
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>
2016-08-04 22:45:48 +02:00
Vlad Zakharov
3897ded714 toolchain: Bump ARC tools to arc-2016.09-eng007 and enable PIE
As described at:
4520524ba0
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>
2016-08-01 22:59:31 +02:00
Zakharov Vlad
c88d547460 toolchain: Bump ARC tools to arc-2016.09-eng006
As described at:
4520524ba0
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:
4520524ba0

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-07-12 23:59:11 +02:00
Waldemar Brodkorb
2d6fe1d3ec toolchain-buildroot: add bfin support
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>
2016-07-04 11:00:15 +02:00
Waldemar Brodkorb
c101f1b1b8 gcc: add hidden symbol for defaults
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>
2016-07-04 10:58:40 +02:00
Samuel Martin
b0bff16b2f package/gcc: select BR2_TOOLCHAIN_HAS_FORTRAN when appropriate
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>
2016-07-03 16:58:11 +02:00
Samuel Martin
5077bdd939 package/gcc: fix fortran support
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>
2016-07-03 16:58:11 +02:00
Alexey Brodkin
4520524ba0 toolchain: Bump ARC tools to arc-2016.09-eng005
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>
2016-06-29 22:12:47 +02:00
Bernd Kuhls
4a692aefee gcc/libmudflap: unavailable for gcc >= 4.9
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>
2016-06-07 23:43:47 +02:00
Gustavo Zacarias
bb4809e067 gcc: bump 5.x series to version 5.4.0
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>
2016-06-07 13:08:56 +02:00
Peter Korsgaard
577021e81b Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-01 17:55:16 +02:00
Bernd Kuhls
019b22f8fa gcc/libmudflap: also unavailable for gcc 6.x
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>
2016-05-31 17:41:42 +02:00
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