Commit Graph

212 Commits

Author SHA1 Message Date
Alexey Neyman
6af04d822b cross-gdb: account for canadian/crossnative toolchains
... when determining if it can be linked statically, and if Python
scripting should default to y.

Prompted by a failure of i686-w64-mingw32,nios2-spico-elf sample
on a system where configure didn't report static linking support.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-29 18:50:09 -07:00
Alexey Neyman
99283866cc Add patches to Linaro GCC
Same as the base release as long as they applied.
MUSL patches didn't, removed.

Also, unobsolete Linaro GCC5 now that they rolled out a new release.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-28 00:57:53 -08:00
Jasmin Jessich
c8d7d79e20 Added new gcc config option CC_GCC_CONFIG_TLS
Adding new tristate configuration for TLS (Thread Local Storage) to
add "--enable-tls" (y), "--disable-tls" (n) or nothing (m).

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2017-02-21 09:10:22 +01:00
Alexey Neyman
ab6f238de9 Linaro also has new 4.9 and 5.4 releases
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-20 16:28:20 -08:00
Alexey Neyman
6b86ef9288 Merge pull request #610 from stilor/linaro-6.3-2017.02
Bump Linaro GCC6 to 6.3-2017-02
2017-02-19 23:27:59 -08:00
Alexey Neyman
69eba93d79 Bump Linaro GCC6 to 6.3-2017-02
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-19 10:56:09 -08:00
Alexey Neyman
4d723d0892 More garbage collection
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 23:20:55 -08:00
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