The following are experimental patches for gcc that add support for
musl-libc.
I haven't been able to test every combination, but please test and let
me know on the mailing-list or on irc your results!
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[yann.morin.1998@free.fr: ditch the gcc-4.7 patches]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
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>
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>
Allows users for which GNU grep is not the default grep (e.g. BSD
folks), or is in a weird location.
Reported-by: Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
Signed-off-by: "Fabian Freyer" <fabian.freyer@physik.tu-berlin.de>
[yann.morin.1998@free.fr: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
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>
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>
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>
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>
This change adds support for experimental patches to be introduced to
crosstool-ng. The patches enabled by this option are to be located here:
patches/experimental/<package>/<version>/XXXX-NAME.patch
Where, XXXX is the patch number to be applied in order, like:
0001-some_patch_one.patch
0002-some_patch_two.patch
9999-some_patch_to_be_applied_last.patch
In the first patch series, all patches in the EXPERIMENTAL_PATCHES
option will be applied all at once, or none at all.
In a later [RFC] patch, I plan on adding finer tuned patch
enable/disable options based on the name of the patch and where it is
located in the patches/experimental sub-tree. So the name of the patch
should use underscores between words in the patch name.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[yann.morin.1998@free.fr: slightly reword prompt]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This configuration has been tested on an Atmel sama5d3 board. It is a Cortex-A5
without neon and the floating point unit is a vfpv4-d16.
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
The previous patch (cset b61a1b1, cc/gcc: avoid passing --enable-multilib)
only fixed the core backend, and missed the final backend.
This patch does the same as b61a1b1, but for the final backend.
Signed-off-by: Cody P Schafer <dev@codyps.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit updates the arm-unknown-linux-uclibcgnueabi sample to the
modern age:
- gcc is bumped from 4.4.3 to 4.8.2
- binutils is bumped from 2.19 to 2.24
- gdb is bumped from 7.1 to 7.7
- uclibc is bumped from 0.9.30 to 0.9.33
- kernel headers are bumped to 3.10
- strace is bumped to 4.8
- all companion libraries are also updated
In addition, the ARCH_CPU/ARCH_TUNE configuration options are changed
from xscale to arm926ej-s, with the reasoning that in the ARMv5
ecosystem, ARM926EJ-S cores are much, much more widely used than
Xscale cores.
The resulting toolchain was tested by building a Busybox-only system
with Buildroot, and testing it under an ARMv5 Qemu emulation.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
uClibc 0.9.33.2 has an issue related to __kernel_long and similar
types when building with kernel headers >= 3.4. This commit adds a
uClibc that fixes this issue, and allows building with recent kernel
headers.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
It makes more sense to remove the build dir on 'clean' rather than
on 'distclean', since the latter also trashes the .config file.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This script is too Hg-specific. Just remove it.
In case we need something similar in the future,
we'd just have to use the better git counterparts.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This script is too Hg-specific. Just remove it.
In case we need something similar in the future,
we'd just have to use the better git counterparts.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This avoids using an oldish tag as base for the version string.
Reported-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In make-3.8x, the $(wildacrd) function would sort the entries,
while in make-4.x, it would just return the entries in any
unpredictable order [*]
Use the $(sort) function to get reproducible behaviour.
[*] Well, most probably the roder the entries appear when read
from readdir()
Reported-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Those versions are no longer available upstream. They have purely and
simply disapeared, without leaving any trace of their mere existences.
Just keep the latest cloog-ppl-0.15.11, which still exists on the gcc
infra mirror (but for how long?)
Reported-by: Guillaume FLORENCE-COURTAND <gflorenc@laposte.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Technically, I don't forbid powerpcle support either, but I'm not sure that
there is any library/compiler support for that at the moment (though the hw
technically makes it possible).
powerpc64le needs glibc 2.19 and gcc 4.9. I haven't looked into the support
tools, but at least gdb 7.5 is too old (7.7.1 definitely has support).
Also make powerpc64 non-experimental. It's practically old at this point.
Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: use ${target_endian_le} and ${target_bits_64}]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <64bfbbced9dd8f62e0d6.1399801945@gun>
Patchwork-Id: 347775
These variables behave the same for bitness as their counterparts do
for endianness: they are defined to the appropriate bitness.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Cody P Schafer <dev@codyps.com>
We currently define target_endian_el and target_endian_eb to be the
tuple extension depending on endianness, defined to be respectively
'el' or 'eb' according to the endianness.
Some architecture do not use 'el' or 'eb', but use 'le' or 'be'.
Provide that as well, as two new variables: target_endian_le and
target_endian_be.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Cody P Schafer <dev@codyps.com>
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
In case we're using a custom (aka local) binutils source, we still
need to extract and patch elf2flt.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Some of the compiler options depend on the C library choice, (e.g.
whether core passes are needed).
Since the compiler menu comes before the C library menu, those options
may or may not be visible until the C library is chosen, leading to
either options being visible by the user (thus be puzzling as they would
not apply to his case), or invisible to him (yet again puzzling him).
Invert the order of the compiler and the C library in the menuconfig. It
anyway looks more rational, in the end.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
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
Some versions of gcc have a broken --enable-multilib flag. As multilib is the
default, only pass the --disable-multilib flag
Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: make it an if-block; duplicate commit log as comment]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <5c970c1ceb22528fe28a.1399687923@localhost>
Patchwork-Id: 347585