Commit Graph

213 Commits

Author SHA1 Message Date
Yogesh Sharma
4b4082785d musl: updated version to 1.1.15
Signed-off-by: Yogesh Sharma <ysharm01@harris.com>
2016-09-07 10:16:52 -04:00
Alexey Neyman
4ee22d66a8 uclibc: merge startfiles/final into single backend.
In preparation for multilib support, use the same "backend" model that
is already employed by glibc and musl.

Also, the verbosity setting descriptions were swapped. V=2 is actually
less verbose than V=1: V=1 prints full commands, while V=2 prints 'CC
<file> <defines>'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
f204cc8ec4 Spelling fixes.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
d58e740be8 glibc.sh: cleanups
- Dump CT_LIBC_EXTRA_CC_ARGS: instead, treat CT_LIBC_EXTRA_CFLAGS as
  arguments to CC (or they are not applied to .S, for example).
  Combine them with multi_flags and CT_TARGET_CFLAGS in proper order.
- Analyze thus combined flags to determine --with-fp/--without-fp.
  Don't need to check CT_ARCH_FLOAT - it is reflected in
  CT_TARGET_CFLAGS anyway. Check more soft/hard float options defined
  on different architectures.
- Drop checking for endianness flags: they are not reflected in
  configure arguments in any way, and they're already present in CFLAGS
  (either via multi_flags or via CT_TARGET_CFLAGS). Besides,
  CT_ARCH_ENDIAN_OPT was actually called CT_ARCH_ENDIAN_CFLAG, so this
  was a no-op anyway.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
08d91d41f3 musl: config is broken for !EXPERIMENTAL
If EXPERIMENTAL is not set, the only choice for version is the set of
released versions - currently, 1.1.14. But this only option is disabled
because it is also marked EXPERIMENTAL; this leaves no available choices
in the configuration.

Marking MUSL as experimental: it seems to have header issues which
prevent, for example, gdbserver from building. musl copied chunks of
ptrace.h code from the kernel into its own headers, which now clash with
Linux kernel headers. Manifests at least on SH4 target.

Also, musl breaks in powerpc builds: GCC balks at it with "unsupported
DEFAULT_LIBC" message. Also, 64-bit powerpc and mips are not supported.
So, until someone figures out the dependencies for musl in config/, mark
it experimental.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-09 17:12:49 -07:00
Alexey Neyman
712b617a74 Unbreak sparc-unknown-linux-gnu.
GLIBC 2.23 dropped support for pre-v9 SPARC in pthreads. Pass host
triplet with s/sparc/sparcv9/ replacement for 2.23.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-01 18:15:39 -07:00
Bryan Hundven
6476f8a940 newlib: add option to enable nano formatted io
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-08 04:48:27 -08:00
Bryan Hundven
929e027500 newlib: add option to enable nano malloc
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-08 04:48:27 -08:00
Bryan Hundven
867a7d61ac newlib: Update newlib versions
Newlib release seem to be snapshots now. Newlib 2.3.0 was released in
git here:
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=ad7b3cde9c157f2c34a6a1296e0bda1ad0975bda

and the snapshot for 2.3.0 was here:
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=06cd7127e3cf16ab3c0aa665956deb263e524753

The 2.2 series was also updated.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-08 04:48:24 -08:00
Bryan Hundven
b30443458d musl-libc: Update to 1.1.14
We also remove the old 1.0 series.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-29 13:18:25 -08:00
Bryan Hundven
88e8852ccd glibc: Clean out old glibc versions
We now only support glibc >=2.18
This now enables us to clean up glibc support!

Also, add a comment about glibc 2.20 as the point which glibc no longer
supports not building with pthread.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-23 17:27:54 -08:00
Bryan Hundven
17952f2fa4 glibc: Add glibc-2.23
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-23 10:37:30 -08:00
Bryan Hundven
c20075fd21 uClibc-ng: Update to 1.0.12
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-05 13:27:24 -08:00
Bryan Hundven
8cae983532 uClibc-ng: Update to 1.0.11
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-12 08:51:09 -08:00
Bryan Hundven
9f89e082c5 Whitespace: We don't use tabs in shell or kconfig files
We indent by multiples of 4.
This change cleans up whitespace in offending files.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:17 -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
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
8478376a86 uClibc: Add kconfig option to enable IPv6 support
This commit adds a kconfig option to enable IPv6 support.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-22 22:18:08 -08:00
Bryan Hundven
0929675b95 uClibc-ng: Fix version prompt
In commit c9704c6683, I forgot to bump the
version in the prompt for uClibc-ng-1.0.9.

Reported-by: Reinoud Koornstra <reinoudkoornstra@gmail.com>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-16 13:14:19 -08:00
Bryan Hundven
c9704c6683 uClibc-ng: Update to uClibc-ng-1.0.9
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-15 09:41:30 -08:00
Bryan Hundven
57de8dcf22 Merge pull request #239 from diorcety-ctng/cc-cygwin-mingw-linux
Canadian cross build = x86_64 Cygwin host = x86_64 MinGW_W64 target = x86_64 GNU/Linux
2015-11-12 21:50:31 -08:00
Ray Donnelly
9e81836b81 Add gettext and libiconv as companion libs
.. they're needed for the RPC generation in glibc
on both Cygwin and MinGW-w64.

Neither are built on GNU/Linux and iconv is not
built on Darwin.

Two patches for gettext are needed, one so that
-O0 works and one so that static builds can be
made.

They can take a good while to build, so if not
needed for_host or for_build then they are not
built.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:45 +00:00
Bryan Hundven
a173dfa939 uClibc: Fall back to default configs if not provided
I've added the .config files to contrib/uClibc-defconfigs from buildroot
to use as default configs if they are not provided in the sample.

If a particular architecture really needs an option set, it should be
either updated in the manange_uClibc_config function in
scripts/build/libc/uClibc.sh or a custom ${uclibc_name}.config should be
added to the sample (usually via `ct-ng saveconfig`).

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
21a448516e uClibc: Add support for uClibc-ng
This commit adds uClibc-ng 1.0.8.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
930fa77076 uClibc: Reduce supported versions
This commit reduces the number of supported versions to:

* 0.9.33.2
* custom location

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-11 08:27:33 -08:00
Alexey Neyman
bea0cde305 Support mingw-w64 in addToolVersion.sh.
... and add 4.0.4 release.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-10 18:18:57 -08:00
Bryan Hundven
e9e29e7a46 blackfin: Remove blackfin support
This commit removes blackfin support.

I'm open to re-adding blackfin after crosstool-1.23.0 is released, but
it is currently too difficult to port forward to newer versions of gcc
and uclibc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-09 22:30:45 -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
Bryan Hundven
539db52b62 musl-libc: update musl-libc mainline to 1.1.12
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-10-20 01:07:39 -07:00
Jasmin Jessich
9e905afb56 Added additional newlib specific target flags with new option
LIBC_NEWLIB_TARGET_CFLAGS.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-14 23:32:07 +02:00
Jasmin Jessich
2a67a2d564 LIBC_NEWLIB_CUSTOM is no longer part of the newlib version choice, but an
independend configuration to enable LIBC_NEWLIB_CUSTOM.
All newlib versions >=2.0.0 does provide __cxa_atexit. To enable this function
in GCC, all versions >=2.0.0 does now select LIBC_PROVIDES_CXA_ATEXIT.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-03 23:57:30 +02:00
Bryan Hundven
f189762245 glibc: Fix applying addons to glibc => 2.17
glibc-2.17 and above no longer have external addons or ports.
So if we are => 2.17, don't even think about trying to mess with ports
or addons.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-01 20:14:00 -07:00
Bryan Hundven
0c79cfafda musl: Update mainline to 1.1.11
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-01 19:26:38 -07:00
Bryan Hundven
f9a257572e glibc: Add 2.22, and add a constraint on glibc >= 2.21
* Add glibc 2.22
* Add a constraint on glibc-2.21 that depends on gcc-4.6 or greater.
  See: https://sourceware.org/ml/libc-alpha/2015-02/msg00119.html
======================================================================
* The minimum GCC version that can be used to build this version of
  the GNU C Library is GCC 4.6.  Older GCC versions, and non-GNU
  compilers, can still be used to compile programs using the GNU C
  Library.
======================================================================

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-01 18:46:52 -07:00
Erico Nunes
b8e64a0c08 avr-libc: add support for avr-libc C library
This commit adds support for the avr-libc C library.
According to the project page at http://www.nongnu.org/avr-libc , the
avr-libc package provides a subset of the standard C library for Atmel
AVR 8-bit RISC microcontrollers. In addition, the library provides the
basic startup code needed by most applications.

Support for this library in crosstool-ng is only enabled for the AVR
8-bit target.

The avr-libc manual and most distributions build the AVR 8-bit gcc
toolchain with the "avr" (non-canonical) target.
Some experimentation also led to the conclusion that other (canonical)
targets are not very well supported, so we force the "avr" target for
crosstool-ng as well.

The manual also recommends building avr-libc after the final gcc build.
To accomplish this with crosstool-ng, a new do_libc_post_cc step is
added, in which currently only avr-libc performs its build, and is a
no-op for the other libc options.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:53:06 -03:00
Bryan Hundven
671c918820 musl: Update versions
This commit updates the version knobs so that oldconfig does the right
thing when we bump versions.

Also, we update stable to 1.0.5 and experimental to 1.1.9.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 09:55:29 -07:00
Bryan Hundven
46d79a58d3 mingw: WINAPI_V_DEVEL should depend on EXPERIMENTAL
While we do want users to be able to use the mingw from git, being under
the experimental umbrella makes it more obvious that this should not be
used as a production toolchain.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-16 10:04:18 -07:00
Ray Donnelly
b39fb4b1b4 mingw-w64: Add 'devel' version to use git 'master' branch
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-05-12 23:48:53 +01:00
Ray Donnelly
d3b19674fc mingw-w64: Add updated versions
Specifically:
2.0.8
3.0.0, 3.1.0
4.0.0, 4.0.1, 4.0.2

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-05-12 23:48:17 +01:00
Bryan Hundven
51b342345d config: Add binutils, newlib, and glibc linaro configuration
This commit introduces a "show linaro versions" for newlib, binutils,
and glibc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-02 16:56:25 -07:00
Bryan Hundven
f05bbbfbe3 config: remove eglibc.in
In commit cd47c091ba
I had forgot to also remove the config/libc/eglibc.in.
This commit removes it.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-04-30 07:43:38 -07:00
Bryan Hundven
a90d8fd075 Merge pull request #46 from stefanct/master
Add glibc 2.21
2015-04-25 13:31:24 -07:00
Stefan Tauner
aa8b3252d9 Add glibc 2.21
Signed-off-by: Stefan Tauner <stefan.tauner@gmx.at>
2015-02-07 20:02:25 +01:00
Bryan Hundven
cd47c091ba eglibc: Remove eglibc support
As posted on http://www.eglibc.org/
====================
EGLIBC is no longer developed and such goals are now being addressed
directly in GLIBC.
====================

I'm not interested in maintaining build support for unsupported
software.

Older branches of crosstool-ng continue to have eglibc support.
If you find issues with older branches, I'm always open to pull
requests.

Removing eglibc also frees up glibc cleanup and build optimization.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-27 22:43:25 -08:00
Cristoforo Cataldo
01397b7e5a libc: newlib: Add NewLib 2.2.0, Linaro NewLib 2.2.0-2015.01 and 2.1.0-2014.09
This commit allows to choose, download and build latest NewLib:
- newlib-2.2.0
- newlib-linaro-2.2.0-2015.01
- newlib-linaro-2.1.0-2014.09

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
315f69271c libc: glibc: Add Linaro GLibc 2.20-2014.11
This commit allows to choose, download and build latest Linaro GLibC:
- glibc-linaro-2.20-2014.11

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
4170d1ed70 libc: eglibc: Add Linaro EGLibc 2.19-2014.08
This commit allows to choose, download and build latest Linaro EGLibC:
- eglibc-linaro-2.19-2014.08

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Bryan Hundven
767aa9befc Merge pull request #13 from davidholsgrove/newlib_canadian
libc/newlib: Canadian baremetal builds require core pass-1
2014-12-15 18:02:51 -08:00
Bryan Hundven
0ee9ecbcf7 Merge pull request #6 from davidholsgrove/libc_custom_location
Libc custom location
2014-12-15 09:33:43 -08:00
David Holsgrove
59485ba519 libc/newlib: Canadian baremetal builds require core pass-1
Can safely skip the core pass-1 for normal baremetal builds,
but when building a canadian baremetal, the repair_cc
functionality (GCC_FOR_TARGET) in gcc.sh will force the
core pass-2 to attempt to build gcc and libgcc without a
${CT_TARGET}-gcc existing, causing a failure on
${CT_TARGET}-gcc -dumpspecs > tmp-specs

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-15 14:40:15 +10:00