Commit Graph

332 Commits

Author SHA1 Message Date
Andrey Yurovsky
d16b6bf9b9 gcc: support grahite only for GCC 5 or above
GCC 4.9.x requires an old version of ISL to support graphite, and this
old version of ISL is not sufficient to support graphite in modern GCC
versions.

Since GCC 4.9.x is getting older, and to keep things simple, we stop
supporting graphite on old GCC < 5.x. This way, we will be able to
bump ISL to a version that is suitable for modern GCC versions.

In addition, this allows to drop the dependency on cloog, which was
only needed for GCC 4.9.

Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
[Thomas: rework commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-02 21:16:45 +02:00
Yann E. MORIN
78c2a9f763 arch/arm: add big.LITTLE cpu variants
The big.LITTLE configurations can be optimised for by gcc, and a few
users wonder what they should choose when they have such CPUs.

Add new entries for those big.LITTLE configurations.

Note: the various combos were added in various gcc versions, but only
really worked in later versions:

    Variant   | Introduced in | First built in
    ----------+---------------+----------------
    a15-a7    | 4.9           | 4.9
    a17-a7    | 5             | 5
    a57-a53   | 4.9           | 6
    a72-a53   | 5             | 6

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-22 23:29:24 +02:00
Vicente Olivert Riera
9a0a0a976b arch/mips: add support for MIPS32 FP mode
MIPS32 support different FP modes (32,xx,64), so give the user the
opportunity to choose between them. That will cause host-gcc to be built
using the --with-fp-32=[32|xx|64] configure option. Also the
-mfp[32|xx|64] gcc option will be added to TARGET_CFLAGS and to the
toolchain wrapper.

FP mode option shouldn't be used for soft-float, so we add logic in the
toolchain wrapper if -msoft-float is among the arguments in order to not
append the -fp[[32|xx|64] option, otherwise the compilation may fail.

Information about FP modes here:

- https://sourceware.org/binutils/docs/as/MIPS-Options.html
- https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-16 16:45:22 +02:00
Vicente Olivert Riera
2d8f3fc430 arch/mips: add support for MIPS NaN
MIPS supports two different NaN encodings, legacy and 2008. Information
about MIPS NaN encodings can be found here:

  https://sourceware.org/binutils/docs/as/MIPS-NaN-Encodings.html

NaN legacy is the only option available for R2 cores and older.
NaN 2008 is the only option available for R6 cores.
R5 cores can have either NaN legacy or NaN 2008, depending on the
implementation. So, if the user selects a generic R5 target architecture
variant, we show a choice menu with both options available. For well
known R5 cores we directly select the NaN enconding they use.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-16 16:35:39 +02:00
Matt Weber
5c90f6a7b6 gcc: fix build of libsanitizer in gcc 4.9 and 5.x on PowerPC
libsanitizer in gcc fails to build on PowerPC with gcc versions 4.9
and 5.x used in conjunction with glibc 2.25, with the following error:

../../../../gcc-host/libsanitizer/asan/asan_linux.cc: In function 'bool __asan::AsanInterceptsSignal(int)':
../../../../gcc-host/libsanitizer/asan/asan_linux.cc:222:20: error: 'SIGSEGV' was not declared in this scope
   return signum == SIGSEGV && common_flags()->handle_segv;

This commit adds a patch that has been submitted to upstream gcc
(https://patchwork.ozlabs.org/patch/725596/) but not merged. The patch
is no longer needed with gcc 6.x and later because the code has been
reworked.

Fixes Buildroot bug #10061

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[Thomas: rework commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-15 10:24:28 +02:00
Jörg Krause
1a405ea56d gcc: bump 6.x series to version 6.4.0
Drop the following patches:
  * the Xtensa patches 870 and 871 are upstream now
  * patch 942 was backported to GCC 6 branch

Note, that a bz2 release tarball is not provided anymore and is replaced by
a xz tarball file.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-07-11 22:17:12 +02:00
Yann E. MORIN
5b80a146af arch/xtensa: accept the overlay to be an URL
It can be interesting to get the overlay from a remote server, rather
than expect it to be present locally.

Since that file can be any URL, we can't know its hash, so we just
exclude it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
[Thomas: use DL_DIR instead of BR2_DL_DIR.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-09 16:58:03 +02:00
Yann E. MORIN
b3b6070622 arch/xtensa: allow specifying path to tarball file
currently, specifying a custom Xtrensa core is done with two variables:
  - the core name
  - the directory containing the overlay tarball

However, the core name only serves to construct the tarball name, and is
not used whatsoever to configure any of the toolchain components
(binutils, gcc or gdb), except through the files that are overlayed in
their respective source trees.

This has two main drawbacks:
  - the overlay file must be named after the core,
  - the tarball can not be compressed.

Furthermore, it also makes it extremely complex to implement a download
of that tarball.

So, those two variables can be squeezed into a single variable, that is
the complete path of the overlay tarball.

Update the qemu-xtensa defconfig accordingly.

Note: we do not add a legacy entry for BR2_XTENSA_CORE_NAME, since it
was previously a blind option in the last release, and there's been no
release since we removed BR2_XTENSA_CUSTOM_NAME. So, we just update the
legacy comments for BR2_XTENSA_CUSTOM_NAME, since that's all the user
could have seen in any of our releases so far.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-09 15:41:51 +02:00
Arnout Vandecappelle
685f44de98 Globally replace $(HOST_DIR)/usr with $(HOST_DIR)
Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '\$(HOST_DIR)/usr' | xargs sed -i 's%\$(HOST_DIR)/usr%$(HOST_DIR)%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 15:22:29 +02:00
Arnout Vandecappelle
0f9c0bf3d5 Globally replace $(HOST_DIR)/usr/bin with $(HOST_DIR)/bin
Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/bin' | xargs sed -i 's%$(HOST_DIR)/usr/bin%$(HOST_DIR)/bin%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 15:19:29 +02:00
Arnout Vandecappelle
15bff58f3e generic packages: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix
Remove the redundant usr/ component of the HOST_DIR paths. Since a
previous commit added a symlink from $(HOST_DIR)/usr to $(HOST_DIR),
everything keeps on working.

This is a mechanical change with
git grep -l '\$(HOST_DIR)/usr' | xargs sed -i 's%\(prefix\|PREFIX\)=\("\?\)\$(HOST_DIR)/usr%\1=\2$(HOST_DIR)%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 15:19:02 +02:00
Arnout Vandecappelle
67f9b36af1 gcc-final: things are no longer installed in $(HOST_DIR)/usr
Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 11:48:56 +02:00
Thomas Petazzoni
152661cde0 gcc: add patch to support musl on SuperH in gcc 5.x
Building a toolchain for SuperH/musl works, but the toolchain generate
bogus binaries, because the path to the program interpreter is not
known (and therefore is /dev/null).

This commit backports a patch from gcc 6.x to make SuperH support with
musl work properly.

The patch is not needed in gcc >= 6.x because the musl support is
upstream. The patch is not needed for gcc 4.9 because we had a
different musl support patch that had support for all architectures in
one patch.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
 - None
Changes since v1:
 - New patch in the series
2017-06-11 18:00:48 +02:00
Waldemar Brodkorb
64da4fa9f1 gcc: allow gcc 7.1 for microblaze architecture
Add patch from gcc upstream master to fix an issue.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-05 12:06:58 +02:00
Jörg Krause
2d57ad29b1 gcc: add upstream patch to fix build of GCC6 with GCC7
Building host-gcc-initial with GCC7 on the host fails due to the
comparison of a pointer to an integer in ubsan_use_new_style_p, which
is forbidden by ISO C++:

ubsan.c:1474:23: error: ISO C++ forbids comparison between pointer and
integer [-fpermissive]
       || xloc.file == '\0' || xloc.file[0] == '\xff'

Backported from:
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=239971

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-05 12:05:59 +02:00
Peter Korsgaard
11271540bf Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-06-01 22:28:14 +02:00
Waldemar Brodkorb
6f0a363d55 gcc: allow gcc 6.x for microblaze architecture
With the two patches from gcc upstream master we can enable gcc 6.x for
microblaze again.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-31 21:12:01 +02:00
Romain Naour
6cda724efb package/gcc: switch to gcc 6.x as the default
Even if gcc 5 is still maintained for some time (gcc 5.5 is pending),
switch to gcc 6.x since it has been released since 2016-04-27 and
gcc 7.x is available since 2017-05-02.

We have been having toolchains in the autobuilders with gcc
6.x for a while, so the vast majority of the problems should have
already been solved.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-26 15:13:19 +02:00
Romain Naour
4532dbc2ff package/gcc: remove old hashes (gcc 4.5, 4.7, 4.8)
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-26 15:13:02 +02:00
Alexey Brodkin
a71fb422ba gcc: arc: add patch to fix tst_movb pattern
Fixes building of quagga [1]:

------------------------------>8---------------------------
839:1: error: unrecognizable insn:
 }
 ^
(insn 183 24 26 4 (set (reg:CC_ZN 61 cc)
        (and:SI (reg:SI 0 r0 [orig:192 _12->id.s_addr ] [192])
            (const_int -256 [0xffffffffffffff00]))) ospf_ri.c:790 -1
     (nil))
ospf_ri.c:839:1: internal compiler error: in extract_insn, at recog.c:2287
------------------------------>8---------------------------

[1] http://autobuild.buildroot.net/results/3c1/3c12c4609d4a77ab8ccd3ea94840884d70520efai

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-25 15:25:38 +02:00
Alexey Brodkin
0ade154f23 toolchain: Bump ARC tools to arc-2017.03 release
This commit finally bumps ARC toolchain to arc-2017.03 release.
More info on this release could be found here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2017.03

Note mentioned above web-page is not yet populated but should be very soon.
As a safe fall-back interested could refer to RC2 page here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2017.03-rc2

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-25 15:20:34 +02:00
Romain Naour
f66952197b package/gcc: remove gcc 4.8
We're already using 5.x as default, and have 4.9.x on the lower side
together with 7.x (7.1) on the higher side.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-24 16:17:06 +02:00
Romain Naour
4314161159 package/gcc: add support for gcc 7
Remove upstream patches:

831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch

870-xtensa-Fix-PR-target-78118.patch

871-xtensa-Fix-PR-target-78603.patch

890-fix-m68k-compile.patch:
1701058da9

892-libgcc-mkmap-symver-support-skip_underscore.patch:
6c8f362e1f

893-libgcc-config-bfin-use-the-generic-linker-version-in.patch:
966d046c08

894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch:
397d0e43ab

895-bfin-define-REENTRANT.patch:
da89a4dcdf

940-uclinux-enable-threads.patch:
b9ce54109e

941-mips-Add-support-for-mips-r6-musl.patch:
8371706509

Remove obsolete patches:

301-missing-execinfo_h.patch: boehm-gc removed from gcc sources:
baf7122876

830-arm_unbreak_armv4t.patch: SUBTARGET_CPU_DEFAULT removed:
ff3caa3ade

Add a new patch to allow to build gcc 7.1 without extracting gcc/testsuite
directory.

This new gcc version require a kernel patch [1] to avoid a build issue with
____ilog2_NaN symbol. The following kernel version contain contain already
this patch :
4.11, 4.10.6, 4.9.18, 4.4.57, 3.18.50 and 3.12.73.

To build a toolchain based on gcc 7 and uClibc-ng 1.0.24, the patch [2] is
required to avoid a build issue due to missing aligned_alloc() definition.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=474c90156c8dcc2fa815e6716cc9394d7930cb9c
[2] https://cgit.openadk.org/cgi/cgit/uclibc-ng.git/commit/?id=5b0f49037e8ea8500b05c8f31ee88529ccac4cee

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Theodore Ateba <tf.ateba@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-24 16:16:01 +02:00
Peter Korsgaard
4e00f9daa0 gcc: drop unused legacy arc-2016.09 patch
This was forgotten when the arc toolchain version was bumped.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-05-16 21:24:02 +02:00
Alexey Brodkin
2b360bd547 gcc: arc-2017.03-rc2: Fix "unrecognized supposed constant" error
This fixes the following problem:
------------------------------------>8--------------------------------
arc-linux-gcc -c -Os -fPIC iso9660.i
iso9660.c: In function 'strip_trail':
iso9660.c:155:1: error: unrecognized supposed constant
 }
 ^
(unspec:SI [
        (symbol_ref:SI ("*.LANCHOR1") [flags 0x182])
    ] ARC_UNSPEC_GOTOFFPC)
iso9660.c:155:1: internal compiler error: in arc_legitimate_constant_p, at config/arc/arc.c:6028
------------------------------------>8--------------------------------

Found by Buildroot autobuilder [1].

The fix [2] is in arc-2017.03 development branch of ARC GCC and once it
becomes a part the next release of ARC tools this should be removed
from Buildroot.

[1] http://autobuild.buildroot.net/results/c90/c909e8c397ab972b6aa4d370572cad4fae284d00/build-end.log
[2] 139fed9d29

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-05-15 20:07:06 +02:00
Alexey Brodkin
0437372820 toolchain: Bump ARC tools to arc-2017.03-rc2
This commit bumps ARC toolchain to arc-2017.03-rc2

Please note that it is a release candidate and it might contain some
breakages, please don't use it for production builds.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-13 15:05:18 +02:00
Adam Duskett
49d907e39a package: clean up indentation warnings in Config.in files
The check-package script when ran gives warnings on indentation issues
on all of these Config.in files. This patch cleans up warnings related to
the indentation of the Config.in files in the package directory

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
[Thomas: do not change package/kodi/Config.in and package/x11r7/Config.in.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-29 17:13:48 +02:00
Zakharov Vlad
5f8ef7e25c toolchain: Bump ARC tools to arc-2017.03-rc1
This commit bumps ARC toolchain to arc-2017.03-rc1

Please note that it is a release candidate and it might contain some
breakages, please don't use it for production builds.

Also I have updated patches for binutils as our source files in
binutils differ comparing to 2.28.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-22 15:37:16 +02:00
Ricardo Martincoski
6eb5cf144f package: remove consecutive empty lines
Occurrences were searched using [1]:
check-package --include-only ConsecutiveEmptyLines $(find * -type f)
and manually removed.

[1] http://patchwork.ozlabs.org/patch/729666/

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-06 22:40:33 +02:00
Yann E. MORIN
2b34da9b9d package/gcc: use macro to extract Xtensa overlay
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-26 15:50:17 +02:00
Yann E. MORIN
725f05967d package/gcc: use the Xtensa variables
... instead of re-computing them over-and-over-again.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-26 15:49:45 +02:00
Zakharov Vlad
f3436357cf toolchain: Bump ARC tools to arc-2017.03-eng008
This commit bumps ARC toolchain to arc-2017.03-eng008.

Please note that it is an engineering build 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>
2017-03-12 23:37:30 +01:00
Zakharov Vlad
4d3556662d mpd: fix build for ARC
mpd package fails for both internal and external ARC toolchain as check
for pthread support fails. Such checks fails because _REENTRANT flag is
not defined in gcc even when -pthread is passed.

So we add patch to gcc that defines _REENTRANT  on ARC when -pthread is
passed.

Also it disables mpd package for external ARC toolchain as it fails due
to the same issue.

This patch should be reverted as soon as the patch for GCC becomes a
part of ARC toolchain.

Fixes:
  http://autobuild.buildroot.net/results/7d7/7d70b62ad996830fbeca46dffcc7a1dc030e575d//

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-01 22:11:37 +01:00
Thomas Petazzoni
e7c7a8bf54 gcc: add patches for or1k specific gcc version
This commit adds a number of patches from package/gcc/5.4.0 to
package/gcc/musl-5.4.0, so that they apply to the or1k specific gcc
version. All patches from package/gcc/5.4.0 that are not architecture
specific and not related to the musl C library have been added to
package/gcc/musl-5.4.0/.

Note that doing a symbolic link does not work, as some patches from
package/gcc/5.4.0 do not apply as-is to the or1k gcc version.

The most important patch is 850-libstdcxx-uclibc-c99.patch, which fixes
a number of build issues.

Fixes:

  http://autobuild.buildroot.net/results/eebf4ce5ecb896e54912cfa21268e81ff5fb6593/
  (alljoyn)

  http://autobuild.buildroot.net/results/8dbf406898a59e36ac6a1e16f543b6260da775c8/
  (jsoncpp)

  http://autobuild.buildroot.net/results/206fbd5473c8c6840489990cb2552566c62ef3c8/
  (dawgic)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-02-20 23:43:22 +01:00
Waldemar Brodkorb
0bc66d3e1c gcc: fix build on or1k without flex/bison on host
Similar to arc architecture this is required.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-01-28 22:54:52 +13:00
Waldemar Brodkorb
a818e29e76 arch: add OpenRISC architecture support
Add support for OpenRISC. See here for more details about
OpenRISC http://openrisc.io.

All buildroot included upstream binutils versions are supported.
Gcc support is not upstream, to be able to enable musl C library
support later, we use the branch with musl support.
At the moment it is possible to build a musl based toolchain,
but bootup in Qemu fails.

Gdb is only working to debug bare-metal code, there is no support
for gdbserver/gdb on Linux, yet.

[Peter: drop ?= for GCC_SOURCE]
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-01-25 22:53:53 +01:00
Gustavo Zacarias
be1a3a3e46 gcc: bump 6.x series to version 6.3.0
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-21 17:19:58 +01:00
Zakharov Vlad
e4491b47b0 toolchain: Bump ARC tools to arc-2016.09 release
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.

This time we're updating tools to arc-2016.09 release version.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-19 13:40:57 +01:00
Erico Nunes
f5389d5227 gcc: fix powerpc64le arch config name
Buildroot references powerpc64 little endian as BR2_powerpc64le and not
BR2_powerpc64el.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-06 22:27:09 +01:00
Peter Korsgaard
5310184e9f gcc: disallow 4.9.x for ARM cortex-a72
a72 support was only added in the 5.1 cycle.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-06 21:38:20 +01:00
Peter Korsgaard
df4044abfe gcc: disallow 4.8.x for ARMv8 cores
Notice: A53/A57 were in fact supported in aarch64 mode in 4.8 (in aarch32
mode only from 4.9), but it doesn't handle --with-abi, and as there is
unlikely to be any aarch64 based legacy projects unwilling to use a newer
GCC version it is simpler to disallow it for all modes.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-06 21:38:17 +01:00
Zakharov Vlad
19eaddc935 toolchain: Bump ARC tools to arc-2016.09-rc2
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-rc2.

This change contains a set of minor fixes and updates.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-02 20:45:09 +01:00
Peter Korsgaard
8852f08eed Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-01 22:29:56 +01:00
Max Filippov
1816f87540 package/gcc: fix ICE on xtensa, 5.x and 6.x, PR target/78603
Zero overhead loop optimization pass may incorrectly put start of the
loop between a call and its CALL_ARG_LOCATION note, resulting in the
following build error:

  ../src/pjlib-test/thread.c: In function 'thread_test':
  ../src/pjlib-test/thread.c:328:1: internal compiler error: in
    dwarf2out_var_location, at dwarf2out.c:21846

Fixes:
  http://autobuild.buildroot.net/results/d919e1276ce1d39b4b3eb09937927d5959cd69a3/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-30 22:44:31 +01:00
Max Filippov
41fc9e40a5 package/gcc: fix ICE on xtensa, 6.2, PR target/78118
This fixes gcc build for xtensa configurations with call0 ABI.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-30 22:43:52 +01:00
Waldemar Brodkorb
1546afad3c gcc: add patch to support musl on ppc
Tested with a boot in Qemu (g3beige).

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-27 22:21:27 +01:00
Arnout Vandecappelle
16a4241cb7 gcc: backport upstream patch for sync_8 in !glibc
gcc 4.7 introduced the sync_8 builtin functions for ARM. For ARM < v7,
this requires calling into the kernel. However, the failure path of
that call reports an error with the __write() function, which is a
glibc internal function. Therefore, it fails to link with uClibc or
musl. This was fixed in gcc 5.2.0, by replacing the __write() with
a plain write().

For sync_8 itself we have solved this with the conditions on
BR2_TOOLCHAIN_ARM_HAS_SYNC_8. However, the same function is also used
for the implementation of atomics.

For the internal toolchain, we can fix this by backporting the patch
to 4.9.4 and 4.8.5.

Fixes:
http://autobuild.buildroot.net/results/1db64b4830f499621e44523e0ef68191505e2ce9

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:17:09 +01:00
Waldemar Brodkorb
921c94720b gcc: the special workaround for ARC is no longer required
It seems with the change to gcc 6.x based toolchain this
workaround is no longer required. Tested with an arc hs toolchain.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:16:41 +01:00
Max Filippov
d3f0d52144 package/gcc: backport xtensa trap pattern for 5.x
gcc 5.x uses trap pattern extensively to mark locations where program
execution should never get. Default pattern implementation emits a call
to 'abort' function. This function however is not always available, e.g.
it's not available for the libc dynamic linker. Backport implementation
of the trap pattern for xtensa that does not result in a call to
'abort'.

Fixes:
  http://autobuild.buildroot.net/results/0fbcc4475545904bf88f25a3bdf3ee552bf4960e
  http://autobuild.buildroot.net/results/cb7f5bdfac615d774f3bcd1b802f8d74460bc557
  http://autobuild.buildroot.net/results/cf3dc9ae4f74ff28b285f1a862b71d96384d7651

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-14 22:53:12 +01:00
Zakharov Vlad
6e0d4bac19 toolchain: Bump ARC tools to arc-2016.09-rc1
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-rc1.

This update contains a lot of important fixes, e.g. it fixes:
http://autobuild.buildroot.net/results/4c7/4c77f33c842b37bf28cb931edf1b290e1bf4d93c//
http://autobuild.buildroot.net/results/902/902729a0b98675ad803939e3ecdcf230065a6012//
and other failures.

Other important change is that we also update gdb. Now we are
using gdb 7.12.

This version of gdb requires C++ toolchain support so we add
corresponding dependency to gdb Config.in file.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
[Thomas:
 - fix dependency on C++ of gdb, it must use BR2_INSTALL_LIBSTDCPP
 - add comment about the C++ dependency of gdb on ARC.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-14 21:40:58 +01:00