Commit Graph

179 Commits

Author SHA1 Message Date
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
Yann E. MORIN"
d1ff75f4dc libc/newlib: bump version to 2.1.0
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-31 12:25:27 +01:00
Yann E. MORIN"
f63e4f0604 libc/{glibc,eglibc}: Don't download glibc-ports when not available
Don't download glibc-ports when glibc or eglibc version greater than 2.16,
because the "ports" source is mainline in the glibc or eglibc since version 2.17.

Signed-off-by: "Daniel Zimmermann" <netzimme@gmail.com>
Message-Id: <9c045ca3cf1b9dc89da3.1384602843@haus-VirtualBox>
Patchwork-Id: 291766
[yann.morin.1998@free.fr: slightly tweak subject, change variable name]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-16 16:16:51 +01:00
Yann E. MORIN"
bb151f2762 libc/eglibc: add latest version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-10-07 00:16:38 +02:00
Yann E. MORIN"
27847b8e14 libc/glibc: add latest version
Take two patches from upstream at the same time.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-10-07 00:16:20 +02:00
Yann E. MORIN"
d565297b97 libc/newlib: add latest version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-27 00:57:26 +01:00
Yann E. MORIN"
e8e7eca3c6 all: unmark experimental version
It's been a while we've had those versions, time to unmark them being
experimental. It does not mean everything is perfect, but may gather
some more testing on those versions.

Update samples accordingly.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 19:54:12 +01:00
Yann E. MORIN"
8bcfb25fb7 libc/eglibc: add latest version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 12:13:13 +01:00
Yann E. MORIN"
bbe3c1ee13 libc/glibc: add post-2.14 versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 11:49:49 +01:00
Yann E. MORIN"
ea77a251e5 libc/glibc: both glibc and eglibc have pkgversion and bugurl
Well, all eglibc version we support do, and latest glibc versions
we support do.

Not all glibc versions do, but older versions simply ignore the
unrecognised ./configure flags.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 13:30:51 +01:00
Yann E. MORIN"
340875e473 libc/eglibc: remove now superfluous config knobs
All eglibc versions we now have support pkgversion and bugurl.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 12:15:10 +01:00
Yann E. MORIN"
652906ac5f all: remove versions marked obsolete
For major components, keep the latest version of each major releases.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 11:53:05 +01:00
Yann Diorcet
e9920217e8 cc: add a flag for skipping core passes
It is used for skipping unnecessary compilation steps when the libc
doesn't need to be compiled (eg. when we do not use a C library).

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <150eadb0117e697d79aa.1353625025@blackmint>
Patchwork-Id: 201222
2012-11-22 23:56:58 +01:00
Yann Diorcet
3d01e9f275 libc/mingw: replace mingw32 with generic mingw
Replace the 32-bit-only mingw32 with mingw-w64 that is capable
of building toolchains for both 32-bit and 64-bit Windows.

kernel/mingw: replace mingw32 with generic Windows
kernel/windows: New windows kernel supporting 32 and 64 bit arch
libc/mingw: Remove old options
patches: Remove old mingw libc options' patches

Signed-off-by: "Yann Diorcet" <diorcet.yann@gmail.com>
[yann.morin.1998@free.fr: array var in libc/mingw.sh, typos]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <b045ac08fc9eac2e5ee3.1352898499@blackmint>
Patchwork-Id: 198901
2012-11-14 14:05:49 +01:00
Yann E. MORIN"
baba086806 libc/uClibc: remove use of snapshots and specific date
We now have the ability to use a custom location, so supporting
snapshots or custom date is no longer needed. Let the user do the
required preparation in this case.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-31 23:31:32 +01:00