Commit Graph

193 Commits

Author SHA1 Message Date
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
Bryan Hundven
f59d75c182 config/glibc: Disable ports/ for 2.20
As per the glibc release notes for 2.20:
--------------------------------------------------------------------------------
All supported architectures now use the main glibc sysdeps directory
instead of some being in a separate "ports" directory (which was
distributed separately before glibc 2.17).
--------------------------------------------------------------------------------

There isn't a ports directory anymore. So disable using and forcing it.

closes #7 on crosstool-ng github

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-09 17:36:44 -08:00
David Holsgrove
71ed5aae34 libc/eglibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
79b9881295 libc/glibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
d7b4f0dbe3 glibc: nptl is default from 2.20, so dont add to addons_list
No longer recommended practice to use --enable-add-ons=nptl, so
for 2.20 and later (along with custom glibc), don't add the
CT_THREADS to the addons_list

https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 14:41:35 +10:00
Bryan Hundven
f1bdbe995b libc/glibc: Add glibc-2.20
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 14:32:14 +10:00
Bryan Hundven
f741b161a2 config/libc: update musl-libc mainline to 1.1.5
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-04 23:46:14 -08:00
Bryan Hundven
6bef0b4d24 libc/musl: Add config option for extra developer warnings
This commit adds a configuration knob for enabling extra developer
warnings to be enabled during the musl-libc build.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:12:22 +02:00
Bryan Hundven
9dd63da071 libc/musl: Add config option for debugging info
This option enables a configuration knob for adding debugging info.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:12:19 +02:00
Bryan Hundven
cb27b22974 libc/musl: Add options for optimization
This commit adds configuration knobs for optimizing 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:12:11 +02:00
Bryan Hundven
838bf3a74b libc/musl: Remove 1.0.3 and 1.1.3. Add 1.0.4.
This change removes 1.0.3 and 1.1.3 and linker regession patches for
those versions.

We add 1.0.4, and a patch needed for gcc-4.9.x which defines
`max_align_t'.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-08-31 21:55:07 +02:00
Yann E. MORIN
15f60baf95 libc/mingw: does not require gcc core pass-1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-08-31 01:43:34 +02:00
Bryan Hundven
52260ccebb libc/musl: add musl-libc support
This patch adds initial support for musl-libc.

Musl-libc versions currently supported:
* 1.0.3 (Stable)
* 1.1.3 (Previous Mainline)
* 1.1.4 (Mainline)

Futher improvements are needed.
* gcc-4.9.x has issues (Might be fixed in musl-1.1.4).
* Multilib support is needed.
* Checks to make sure paths are correct.
* Move to 2-step gcc build. 3-step build is not necessary.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[yann.morin.1998@free.fr: removed the gcc musl patch, to be added later;
 removed dead code do_get_arch()]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-08-08 22:49:37 +02:00
Yann E. MORIN
152b7ad4b4 libc/mingw: threads are the native ones
There is no need to differentiate the win32 threads case, since we
can cosider them to be the native implementation on Windows.

Besides, with the previous patch, nothing uses it anymore.

So, just remove it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc Bryan Hundven <bryanhundven@gmail.com>
2014-07-28 01:23:34 +02:00
Yann E. MORIN
a394fe49ec libc: libces are responsible for naming their threads implementation
This will help add new implementations, such as the one in musl.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bryan Hundven <bryanhundven@gmail.com>
2014-07-28 01:23:34 +02:00
Yann E. MORIN
b1f536966b libc: rename the threads options
Use a more coherent naming for the options. This will help commonalise
the native case (e.g. NPTL on Linux, win32 on Windows), and add alternate
implementations (e.g. musl.)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bryan Hundven <bryanhundven@gmail.com>
2014-07-28 01:23:34 +02:00
Yann E. MORIN"
8e0a0d3c41 libc/newlib: only requires core pass-2
Reported-by: Trevor Woerner <trevor.woerner@linaro.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-05 23:24:33 +02:00
Daniel Zimmermann
086e927448 kernel/linux: pump glibc to version 2.19
pump glibc to version 2.19

Signed-off-by: '"Daniel Zimmermann" <netzimme@gmail.com>'
Message-Id: <b9df94ed76365f8bfd0b.1392591214@haus-VirtualBox>
Patchwork-Id: 320827
2014-02-16 23:53:29 +01:00
Yann E. MORIN"
92f8806b2d libc/eglibc: does no longer support LinuxThreads
LinuxThreads are dead. Buried 6 feet under. Long forgotten.
Time for mourning has to come to an end.

But fear not, younster, for we have a great successor as NPTL!
Times for rejoicing have come, now!

LinuxThreads are dead. Long live NPTL!

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-15 23:24:27 +01:00
Yann E. MORIN"
ec93451443 libc/uClibc: add option to enable fenv
Support for fenv.h is a little bit more tricky that enabling it only
for x86-32 is not right.

Add an option for the user to choose whther to install fenv.h or not.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04 16:19:18 +01:00
Daniel Zimmermann
0bc7b32adf libc/newlib: fix typo in "bump version to 2.1.0"
Fix a typo in the commit http://crosstool-ng.org/hg/crosstool-ng/rev/b966620c7b1e

Signed-off-by: "Daniel Zimmermann" netzimme@gmail.com
Message-Id: <f2dbd80da6affb11089a.1388669655@haus-VirtualBox>
Patchwork-Id: 306129
2014-01-02 10:35:44 +01:00