Commit Graph

186 Commits

Author SHA1 Message Date
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
Bryan Hundven
6bc5ff9ce8 gcc: Update linaro 4.7 and 4.8 (Attempt 2)
I messed up the previous commit.
I only updated half the config file, and the latest 4.8 is 2014.08.

🤦

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 23:00:38 -08:00
Bryan Hundven
055abbbb57 gcc: Update linaro 4.7 and 4.8
Update 4.7 to linaro-4.7-2014.06
Update 4.8 to linaro-4.8-2014.04

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 22:56:29 -08:00
Daniel Zimmermann
c7d9c37447 cc/gcc: add gcc 4.9.2
added the latest gcc 4.9.2

Signed-off-by: Daniel Zimmermann <netzimme@gmail.com>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-04 23:31:47 -08:00
Bryan Hundven
e5d2c356cc config/gcc: Disable CC_GCC_LIBSANITIZER for musl-libc
Disable libsanitizer for musl-libc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:16:38 +02:00
Yann E. MORIN
a56df802eb cc/gcc: add option to enable/disable libsanitizer
libsaniotizer requires a few headers that are not in uClibc, for
example. Also, it is only available for native threads (NPTL under
glibc.) Finally, it is only available starting with gcc-4.8.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-08-31 18:54:13 +02:00
Cody P Schafer
d0c8506e67 cc/gcc: add 4.9.1
Signed-off-by: Cody P Schafer <dev@codyps.com>
2014-07-19 12:18:21 +02:00
Anton Leontiev
518d1dfc6e cc/gcc: Add 4.7.4 and 4.8.3
Signed-off-by: Anton Leontiev <aleontiev@elvees.com>
2014-07-03 23:05:17 +02:00
Cody P Schafer
f941e1bad5 cc/gcc: add 4.9.0
Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: latest is now a 4.9]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <5bac788539bb272893ed.1399801933@gun>
Patchwork-Id: 347774
2014-05-11 23:31:54 +02:00
Cody Schafer
db2872f2ac cc/gcc: allow CC_EXTRA_CONFIG_ARRAY on baremetal
The final bare-metal compiler is built using the core backend.
Currently the core uses the CC_CORE_EXTRA_CONFIG_ARRAY variable.

While this works as supposed to, this can leave the user puzzled
in the menuconfig, since all he can see is the core options, not
the final options.

Only show the core options if any of the core passes are needed,
and use the final options in the core-backend if we're issuing
the bare-metal compiler.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: hide core options if no core pass needed;
 use final option in core backend if issuing the bare-metal compiler]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <22181e546ba746202489.1399688067@localhost>
Patchwork-Id: 347586
2014-05-09 19:13:49 -07:00
danielrubiob
c214367d3a cc/gcc: update linaro GCC 4.7 & 4.8 to version 2014.01
Signed-off-by: Daniel Rubio Bonilla <danielrubiob@gmail.com>
Message-Id: <08addb73e684d5e36f22.1391984020@uemo>
Patchwork-Id: 318634
2014-02-09 22:21:15 +01:00
Yann E. MORIN"
2ee8d1d8f2 cc/gcc: add option to enable/disable decimal floats
Decimal floats need support form the C library, namely support
for fenv, which is missing in uClibc for any architecture but
x86/32.

Add an option (a choice) to enable or disable decimal floats.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04 16:17:40 +01:00
Yann E. MORIN"
b57ff09131 cc/gcc: bump Linaro versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-05 19:44:45 +01:00
Yann E. MORIN"
24953be31a cc/gcc: add 4.8.2
Signed-off-by: Richard Weinberger <richard@nod.at>
Message-Id: <4620980ca8475c89a71f.1383921709@azrael>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-08 15:24:20 +01:00
Yann E. MORIN"
cf36828878 cc/gcc: Add support for golang
Signed-off-by: Richard Weinberger <richard@nod.at>
Message-Id: <ca374aef944e28a6ec3c.1383921708@azrael>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-08 15:18:09 +01:00
Yann E. MORIN"
cc42262a26 cc/gcc: fix companion libs selection
Cset #15eedf548d33 (cc/gcc: add preliminray support for 4.8) left a
lingering 'select CLOOG_NEEDED', which should have been removed.

Fix that.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-09-30 00:21:36 +02:00
Yann E. MORIN"
5b5a1ade7f cc/gcc: add 4.8.1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-07-29 00:06:35 +02:00
Michael Hope
eebffdfa9a cc/gcc: update Linaro GCC revisions for 2013.06
Update Linaro GCC with the latest available revisions.

Also updates Linaro GCC 4.6 to the final version.

Signed-off-by: "Michael Hope" <michaelh@juju.net.nz>
Message-Id: <83e33862f7641c2ad326.1372451435@localhost>
Patchwork-Id: 255666
2013-06-28 22:23:54 +02:00
Yann E. MORIN"
bef9074cf0 cc/gcc: add 4.8.0 and linaro-4.8
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-05 18:01:47 +02:00
Yann E. MORIN"
1dc3dd9167 cc/gcc: add preliminray support for 4.8
This means:
  - introduce the new symbols for 4.8
  - do not always select PPL if graphite is selected

Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru>
[Dmitry did a preliminray patch to add gcc-4.8 support,
 which this patch is inspired from]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-05 17:59:00 +02:00