Commit Graph

205 Commits

Author SHA1 Message Date
Alexey Neyman
45512b003d Have LTO depend-on non-static builds
Loading a dynamic library (LTO plugin) from a static binary fails
on ArchLinux. It is also prone to break if a system is ever upgraded.

Also, disable plugins if not enabled explicitly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 19:00:25 -08:00
Alexey Neyman
31e7cd688d Latest GCC has libmpx and Go.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 18:47:19 -08:00
Alexey Neyman
264b0c8686 More GC
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 18:41:04 -08:00
Alexey Neyman
f0716643b4 Garbage collection for GCC options that are same
... on all supported versions.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 18:36:34 -08:00
Alexey Neyman
d91277e377 Add zlib as a companion lib
with version 1.2.11.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05 14:26:02 -08:00
Alexey Neyman
23aef79883 Declare older versions obsolete.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Alexey Neyman
5e0f715ea7 Add/update/remove Linaro versions.
Linaro GDB 7.2 no longer available from Linaro's website; removed.
Linaro GDB 7.5 had incorrect version (the tarball on linaro.org does
not have a -1 patch level).
Add/update latest versions on each (otherwise supported) branches of
GCC, GDB, binutils, glibc.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:41 -08:00
Alexey Neyman
874f4bd668 Disallow c++ for baremetal.
libstdc++ configure fails to find <stdio.h>.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alastair D'Silva
e427a6408f Remove GCC 6.2.0
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
36e8567167 Bump GCC to 6.3.0
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Thorsten Johannvorderbrueggen
18b5382e9c add support for gcc 4.9.4 2016-11-17 16:17:22 -08:00
Alexey Neyman
5ebbb52be0 Merge pull request #468 from dajamminyogesh/master
gcc: Updated gcc from 6.1.0 to 6.2.0
2016-11-10 20:10:05 -08:00
Yogesh Sharma
0bf97beb30 gcc: Updated gcc from 6.1.0 to 6.2.0
Signed-off-by: Yogesh Sharma <ysharm01@harris.com>
2016-10-31 14:29:25 -04:00
Alexey Neyman
339b83c393 MINGW doesn't like libmpx either.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-07 10:35:57 -07:00
Alexey Neyman
651567ff90 Add a checkbox for libmpx build.
Disable libmpx for musl builds.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-09-22 17:01:43 -07:00
Yogesh Sharma
a4a6f2305e gcc: Added 6.1.0 to version list
added gcc-6.1.0 to version list in kconfig

Signed-off-by: Yogesh Sharma <YogeshASharma@gmail.com>
2016-09-07 10:15:56 -04:00
kozyilmaz
deaa4b8ded xgcc: Update gcc 5 to 5.4.0
patches synced with buildroot trunk and:
110-xtensa-implement-trap-pattern.patch (copied to 5.4.0 patches)
130-build_gcc-5_with_gcc-6.patch (upstreamed in 5.4.0, dropped)
370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (copied to 5.4.0 patches)
380-gcc-plugin-POSIX-include-sys-select-h.patch (copied to 5.4.0 patches)
910-nios2-bad-multilib-default.patch (copied to 5.4.0 patches)
2016-08-24 11:33:24 +03:00
Alexey Neyman
f204cc8ec4 Spelling fixes.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Ray Donnelly
aa30d0bc4f gcc: Add --with-multilib-list option
Written by Bryan Hundven.

Modified by Alexey Neyman to actually add the option to gcc.in.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-09 17:12:49 -07:00
Bryan Hundven
b3869e933b config: Add static link check to static options
If we can't static link with gcc, then don't allow static linking.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-26 04:14:39 -08:00
Bryan Hundven
1cfc160f9d Merge pull request #322 from modbw/libelf
Remove GCC dependency to libelf
2016-02-08 15:59:21 -08:00
Cristoforo Cataldo
dc00d22db3 config/gcc: Update to Linaro GCC 5.2-2015.11-2
Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2016-01-30 13:37:57 +01:00
Matthias Weisser
3f05fcb52b Remove GCC dependency to libelf
As crosstools-ng only support GCC >= 4.8 we do not need libelf for gcc. GCC dropped this dependency with 4.6.

Signed-off-by: Matthias Weisser <m.weisser.m@gmail.com>
2016-01-18 16:08:23 +01:00
Bryan Hundven
225b96ebc8 gcc: remove CC_GCC_EXTRA_ENV_ARRAY
I was noticing that $extra_user_env was inconsistently used in
100-gcc.sh. I don't feel comfortable having just any make flag or
environment variable passed to make from a config file. If a specific
option needs to be passed to make for gcc, then a specific kconfig
option should be added for that make flag/option/env.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-06 11:07:06 -08:00
Bryan Hundven
3e4b88e434 gcc: Add new linaro version: 5.2-2015.11
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-02 22:33:24 -08:00
Bryan Hundven
8f4019e693 gcc: Update gcc 5 to 5.3.0
Reported-by: Freddie Chopin <freddie.chopin@gmail.com>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-02 18:24:41 -08:00
Bryan Hundven
514f1546d7 config: Update kconfig for new CT_GetCustom
This commit sort of unifies the kconfigs to handle custom files and
directories.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:16 -08:00
Bryan Hundven
cfd2a6b69c gcc: Gnu OpenMP support depends on threading
Instead of checking if thread support is enabled during the build, move
the check to kconfig-time. Since if threading support is not availble,
libgomp should not be available either.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:40:08 -08:00
Bryan Hundven
0e0ecc8bcf PPL: Remove support for PPL and CLooG/PPL
Now that versions of gcc that required PPL are no longer supported
( >= gcc-4.5.x AND <= gcc-4.7.x )
...we no longer require PPL or CLooG/PPL.

This commit:

* Removes PPL
* Removes CLooG/PPL
* Updates the documentation
* Updates build script for CLooG and GCC
* Removes PPL and CLooG/PPL from scripts/addToolVersion.sh and
  scripts/showSamples.sh
* Adds ISL to scripts/addToolVersion.sh and scripts/showSamples.sh

I know that sounds like a lot for one commit, but it was all kind of
inter-tangled.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:36:58 -08:00
Bryan Hundven
2a89c32193 gcc: Remove gcc <= 4.7.x
As per #222, in crosstool-NG >= 1.23.0, we will only support:

 [upstream supported gcc versions] - 1

As of this writing, these versions are:

* 5.2.0
* 4.9.3
* 4.8.5 (the -1, since development on 4.8.x is now closed)

I plan to keep 4.8.5 around because of some architectures having issues
with over-optimization or just faulty optimization in the 4.9.x and
possibly newer versions.

I also cleaned up a requirement for glibc to depend on >= gcc-4.6.x for
>= glibc-2.20, but since the lowest gcc we support after this change is
>= 4.8.5, this condition can go away.

Patches for older gcc versions are removed in the next commit.

This closes #222

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:36:58 -08:00
Bryan Hundven
1a25115a18 gcc: Support only the latest branch releases of gcc
This change, as per #222, reduces the number of supported releases of
gcc to the latest branch releases.

I noticed while doing this work that gcc-4.5.4 was never added, so I
moved patches for gcc-4.5.3 to 4.5.4 and updated the
bfin-unknown-linux-uclibc example. Also, 120-siginfo.patch was fixed
upstream in the 4.5.4 release, so this patch is omitted.

I also bumped the avr sample to 4.9.3 from 4.9.2.

With the addition of gcc-5.x, the gcc release team now releases the
major.minor.0 versions, while updates to the branch are available in
svn/git. We'll address that when we get to issue #219. This change just
removes CC_GCC_5_1 and moves CC_GCC_5_2 to CC_GCC_5, and removes
CC_GCC_5_1_or_later and moves CC_GCC_5_2_or_later to CC_GCC_5_or_later.

This is the first of two part changes, as mentioned in #222.
This change is slated for release in 1.22.0. The next change will be
slated for 1.23.0, and will limit gcc versions to what is on
https://gcc.gnu.org under "Release Series and Status", which is
currently 4.9.3 and 5.2.0, although I will also support the previous
supported version. In this example that would be 4.8.5.

Last, but not least, this change also retires AVR32 support.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-10-31 12:17:35 -07:00
Jasmin Jessich
3bd86362ab Using "all" and "install" targets in do_gcc_core_backend if configured.
- New configurations:
  - CC_GCC_TARGET_FINAL:
    Use the default targets "all" and "install" for the final compiler for
    bare metal.
- Adding parameter "build_step" to function do_gcc_core_backend:
  do_gcc_core_backend is used for the core compiler and in case of bare metal
  for the final compiler, too. To have better control over the parameters for
  the final compiler "build_step" is used.
  - Used for proper logging.
  - Use CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY or CT_CC_GCC_EXTRA_CONFIG_ARRAY.
  - If CT_CC_GCC_TARGET_FINAL is set and the final compiler is build then the
    make targets for the final compiler are used ("all", "install").

  Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-10-10 00:24:42 +02:00
Jasmin Jessich
931248f1aa Added additional environment variables for gcc build (make) with new option
GCC_EXTRA_ENV_ARRAY.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-22 00:21:36 +02:00
Bryan Hundven
8b576034da Merge pull request #163 from jasmin-j/gcc_custom_version
Remove CC_GCC_CUSTOM from the version choice
2015-09-05 16:24:39 -07:00
Jasmin Jessich
dd5bc63afa CC_GCC_CUSTOM is no longer part of the gcc version choice, but an independend
configuration to enable CC_GCC_CUSTOM_LOCATION.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-03 23:13:18 +02:00
Jasmin Jessich
521d232154 Fix for issue #147:
Enable definition of "Use __cxa_atexit" for bare-metal systems, if the used
libc does provide such a function. The libc configuration have to select
LIBC_PROVIDES_CXA_ATEXIT.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-01 04:08:17 +02:00
Bryan Hundven
44a974c399 Merge pull request #130 from Christopher83/master
Update to Linaro GCC 4.9-2015.06 and GCC 4.8-2015.06 and update kernel versions
2015-07-20 15:24:16 -07:00
Daniel Zimmermann
56cb93c5c5 cc/gcc: add gcc 5.2
add gcc 5.2

Signed-off-by: Daniel Zimmermann <netzimme@gmail.com>
2015-07-19 22:38:00 +02:00
Cristoforo Cataldo
36a4deba9f config/gcc: Update to Linaro GCC 4.9-2015.06 and GCC 4.8-2015.06
Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-07-12 15:16:14 +02:00
Bryan Hundven
6c254bde8b config: Add new gcc stable versions
This commit adds gcc 4.8.5 and 4.9.3.
Release notes can be found in these urls:
https://gcc.gnu.org/gcc-4.8/
https://gcc.gnu.org/gcc-4.9/

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-07-10 07:49:37 -07:00
Bryan Hundven
98a33a63b7 config/gcc: Fix gcc 5.1.0 version knob
This change makes the 5.1.0 version knob consistant with previous gcc
versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 10:00:18 -07:00
Bryan Hundven
51f1829803 config/gcc: Fix missing update to gcc.in
In the patch series for multi_cc, some version knobs were missed.

This patch fixes this.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 09:51:34 -07:00
Ray Donnelly
541199de3a config: Add config support for multiple compilers
This change updates the config to support multiple compilers by moving
CC_.* to CC_GCC_.* to make room for other compilers.

We also update gen_in_frags.sh to check for a default cc.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-29 21:49:33 +01:00
Bryan Hundven
7c41f73b7f complibs: Update requirements for gcc-5.1
"The Graphite framework for loop optimizations no longer requires the
CLooG library, only ISL version 0.14 (recommended) or 0.12.2. The
installation manual contains more information about requirements to
build GCC."

This change helps to avoid version badness.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-02 16:44:39 -07:00
Bryan Hundven
4fc0273c19 config: Add gcc-5.1.0
This change needs another change from pull request #81, but it's kind of
a chicken/egg scenario. The 'select's in CC_GCC_5_1 need to be
refactored a bit, and would be easier to test if gcc-5.1.0 was commited.

Most of the refactoring will happen with CC_GCC_HAS_GRAPHITE.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-02 15:52:04 -07:00
Cristoforo Cataldo
996466bd53 config/gcc: Update to Linaro GCC 4.9-2015.03
Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-03-15 13:35:59 +01:00
Cristoforo Cataldo
1d5910a7bd config/gcc: Update to Linaro GCC 4.9-2015.02 and GCC 4.8-2015.02
Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-02-18 23:10:41 +01:00
Cristoforo Cataldo
d90bd6f13f gcc: Add Linaro GCC 4.9-2015.01 and GCC 4.8-2014.11
This commit allows to choose, download and build latest Linaro GCC:
- gcc-linaro-4.9-2015.01
- gcc-linaro-4.8-2014.11

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Manfred Rudigier
8f76d130c7 Added gcc 4.8.4.
Signed-off-by: Manfred Rudigier <manfred.rudigier@omicron.at>
2015-01-09 14:11:19 +01:00
Bryan Hundven
8ad1b492d3 gcc: The latest 'released' linaro 4.8 is 2014.04, not 08
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 23:55:09 -08:00