Commit Graph

383 Commits

Author SHA1 Message Date
Bryan Hundven
85f98147f5 Merge pull request #233 from stilor/fix-build-all
Fix build-all
2015-11-04 02:50:05 -08:00
Bryan Hundven
5ffc9ecd10 Merge pull request #235 from stilor/ctng-source
ctng source
2015-11-03 00:35:30 -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
Alexey Neyman
5844514e74 Fix samples using GMP 4.3.2.
Some older versions of configure (including the one in GMP 4.3.2)
interpret the $ECHO environment variable as the `echo' utility to
use. CT-NG sets the variable to `:' and exports it if V=0 or V=1
is supplied, breaking the samples using such configure. This currently
includes bfin-unknown-linux-uclibc and powerpc-unknown-linux-uclibc.

Also, correct the description of the V= variable - V=0 is *not* the
default; in fact, default does not correspond to any of the V=[012]
values.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
41891506f6 Do not stop build-all after a failed sample.
Instead, continue until the end and provide a summary (PASS/XFAIL/FAIL)
at the end. If there are any FAILs, exit with code 1.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
aba43b63d3 Order the samples in build-all.
First, build cross samples (indicated by lack of comma in their names);
then, build canadian cross samples (and, when they are supported,
cross-native). While building canadian cross, set up the path to the
build-to-host cross if it was built previously.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
b36e002124 Avoid commas in autogenerated CT_PREFIX_DIR.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
a9e6606e53 Make build-all non-interactive.
'make oldconfig' results in asking the user about options not explicitly
set in the defconfig. Instead of copying, run 'conf --defconfig', as in
the normal sample's build sequence. Also, invoke 'conf --oldconfig'
directly, with a -s option, to avoid spamming with useless
"configuration written to .config" messages.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
e71f0db6e3 Rename nios2 sample to match the naming convention.
With current name, 'make saveconfig' is broken for this sample. Also, it
is confusing to have a sample named 'nios2-elf-mingw32' while show-tuple
refers to it as 'nios2-spico-elf' and saveconfig attempts to save it
into 'i686-w64-mingw32,nios2-spico-elf'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
263e8026ec Change sed monstrosity into a make variable.
The convoluted sed expression was doing what is already available in
make as `$*'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 10:32:16 -07:00
Bryan Hundven
1b476c437d Merge pull request #225 from stilor/nios2-fix
Unbreak nios2-elf-mingw32 sample
2015-10-28 11:13:13 -07:00
Alexey Neyman
34c57c56fd Turn off CT_MULTILIB in nios2-elf-mingw32.
There are no multilibs in GCC configured for this arch.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-27 23:58:41 -07:00
Alexey Neyman
444db621a3 Disable cross-gdb in nios2-elf-mingw32.
Building cross-gdb in canadian cross requires expat/ncurses for the
host. Currently, 300-gdb.sh only builds expat/ncurses for the target
(for native-gdb). For cross-gdb on regular cross (build==host), expat
and ncurses are expected to be provided by the host.

There are two approaches possible:

- If building for canadian cross, build expat/ncurses for cross-gdb
  just as the native-gdb does.
- Promote expat/ncurses to first class citizens and build them as
  companion libs during the build of the build-to-host toolchain.

I am leaning towards the latter approach - it would also allow to
specify the versions for expat/ncurses rather than have them hardcoded
in 300-gdb.sh - but would appreciate feedback.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-27 23:58:41 -07:00
Alexey Neyman
580f300ad9 Disable with-system-lib.
Target does not have libz/zlib.h.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-27 23:58:40 -07:00
Alexey Neyman
41892bbf74 Stash nios2 config adjusted for consistence with the rest.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-27 23:58:34 -07:00
Alexey Neyman
3a436690a7 Mark broken: i586-mingw32msvc,i686-none-linux-gnu.
Error message:
[EXTRA]  Preparing working directories
[ERROR]  Missing: 'i586-mingw32msvc-ar' or 'i586-mingw32msvc-ar' or 'ar': either needed!

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-27 15:45:03 -07:00
Alexey Neyman
32c5952980 Revert "Remove ltrace from samples"
This reverts commit a3bb2aeb44.
2015-10-23 18:09:41 -07:00
Bryan Hundven
d60b4c2962 samples: add arm-unknown-linux-musleabi
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-10-21 17:57:23 -07:00
Bryan Hundven
f34d1a93f1 Merge pull request #198 from stilor/avr2-fix
Fix avr sample
2015-10-20 15:31:52 -07:00
Bryan Hundven
720e0b4a1e Merge pull request #201 from stilor/powerpc-e500v2
Fix option names in powerpc-e500v2 sample.
2015-10-19 20:08:16 -07:00
Bryan Hundven
4c6c7fdea0 Merge pull request #200 from stilor/arm-unwind-uclibc
Fix link error in arm/uclibc with GCC 5.x
2015-10-19 20:07:33 -07:00
Bryan Hundven
fbf66d7c90 Merge pull request #197 from stilor/avr-fix
Trivial avr32 fix: name of config option has changed
2015-10-19 20:05:52 -07:00
Alexey Neyman
52203df900 Fix sh4-unknown-linux-gnu sample.
The issue with this sample is that the sh4-* targets in GCC do not
implement __builtin_trap() function. Starting with release 5.1,
GCC inserts abort() calls where NULL pointers are dereferenced. The
elf/dl-conflict.c in glibc is one such place: it calls elf_machine_rela
with NULL `sym' pointer. This causes an undefined `abort' symbol to
appear in the object file and as a result, pulls in some files during
the linking of the dynamic loader that are not supposed to. Eventually,
it results in link error due to multiple definitions of _itoa and some
other symbols.

The right fix would be to implement __builtin_trap() for sh4 in GCC.
A workaround would be adding -fno-delete-null-pointer-checks to
CFLAGS-dl-conflict.c in elf/Makefile. Until either of these happens,
though, pin the GCC version to 4.9.3 - the last that did not generate
`abort' calls. Note that the version where GCC started to generate
`abort' calls is apparently different for different architectures;
the issue in [1] was reported against GCC 4.9.

References:
[1] https://www.sourceware.org/ml/libc-alpha/2014-10/msg00807.html
  (similar issue on HP-PA which was resolved by implementing
  __builtin_trap)
2015-10-15 17:34:49 -07:00
Alexey Neyman
5211d68d08 Use dedicated option for 128-bit long double. 2015-10-15 17:34:26 -07:00
Alexey Neyman
7b3821450a Fix powerpc-e500v2-linux-gnuspe.
Options were renamed. However, matching current option names result
in a compile error for strfmon_l.o in glibc: GCC 4.6 detects an
unitialized variable in its own va_arg() implementation. Likely,
an older GLIBC was used when this sample was submitted - which did
not provide -Werror in CFLAGS.

Thus, use most recent GCC (5.2.0) and revert GLIBC_FORCE_UNWIND to
its default value, 'y' (as forced unwind is required with this version).
2015-10-15 17:34:26 -07:00
Alexey Neyman
e6e8f97c4f Fix avr sample.
- Incompatible ISL/CLooG were requested by config after newer releases
of both were brought in.
- Consistency with other samples: save tarballs (which will avoid
  downloading them each time from Travis), extra logging.
2015-10-15 17:33:55 -07:00
Alexey Neyman
9659f7131f Rename the GCC version option to match current config. 2015-10-15 17:31:52 -07:00
Alexey Neyman
f1e2315700 Fix arm/uclibc; see the description in the patch.
This should ideally be upstreamed to uclibc maintainers, but with the
last release more than 3 years ago, I wouldn't hold my breath for a
fix being released any time soon.
2015-10-15 17:27:32 -07:00
Alexey Neyman
55d0770209 Fix bfin-unknown-linux-uclibc sample.
Pin GCC to 4.5.3 and binutils to 2.22, the last versions working. There
are multiple bugs affecting bfin configuration; while [3] is fixed on
trunk in GCC (but not backported to gcc-5-release branch yet), [1] and
[2] do not have fixes yet.

References:
[1] https://sourceware.org/bugzilla/show_bug.cgi?id=17334 (binutils bug)
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47779 (gcc bug #1)
[3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55144 (gcc bug #2)
2015-09-30 17:22:28 -07:00
Bryan Hundven
a3bb2aeb44 Remove ltrace from samples
As of right now, ltrace fails to build. To get CI happy, lets just
disable it!

When we fix ltrace, just revert this change.

This is also in reference to bug #115

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-29 12:37:29 -07:00
Frederick Zhang
f29c8332ed raspberry pi 2 sample 2015-09-06 07:06:53 +08:00
Ray Donnelly
86fbcfc36b mingw-w64: Rename targets to {i686,x86_64}-w64-mingw32
.. and set CT_TARGET_VENDOR to w64. Otherwise config.gcc doesn't
pickup the right files for include_next (and probably many other
things go wrong too).

w64 has been the correct vendor for absolutely ages now on all
distributions that provide MinGW-w64 cross compilers.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-08-25 00:16:25 +01:00
Erico Nunes
2f436a02e3 avr: enable C++ support in the avr sample
C++ support is enabled in most samples existing in crosstool-ng and is also
supported by AVR.
As pointed out in pull request #124 in the crosstool-ng github, Arduino based
projects willing to use this toolchain will require C++ support.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-27 21:33:49 -03:00
Erico Nunes
6da2fde11e avr: add avr toolchain config sample
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.

Some patches are required in avr-libc for a toolchain with gcc 5.x to
work. These patches are still not part of any avr-libc release version,
so the config sample currently forces 4.9.x to avoid requiring to clone
avr-libc trunk.

References:
    https://savannah.nongnu.org/bugs/?44574
    https://gcc.gnu.org/gcc-5/changes.html

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:53:18 -03: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
Daniel Zimmermann
25f2f07bf9 arch/sample : add sample file for the nios2 architecture
add sample file for the nios2 architecture.
2015-01-27 00:57:28 +01:00
Yann E. MORIN
50d94b2098 samples: powerpc-unknown-linux-uclibc is currently broken
Fixing this sample proved to be, well, challenging.

Mark it broken so it does not stop the release.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bryan Hundven <bryanhundven@gmail.com>
2014-09-08 23:15:46 +02:00
Yann E. MORIN
5baad1d554 samples: update the PowerPC samples
powerpc-unknown-linux-uclibc is left aside for now...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-08 19:18:22 +02:00
Yann E. MORIN
2e9b97a89a samples: update the sparc sample
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-06 01:31:49 +02:00
Yann E. MORIN
20346f27ad samples: update the MIPS samples
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-06 00:57:46 +02:00
Yann E. MORIN
bf5d513248 samples: update ARM little-endian samples
Removed the arm-davinci sample, it does not bring much more
that the other samples.

Add an ARM uClibc EABIhf sample.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-05 15:16:33 +02:00
Yann E. MORIN
95c4e89ac9 samples: update ARM big-endian samples
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-02 23:12:30 +02:00
Yann E. MORIN
741972070f samples: update the ix86 samples
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-02 23:11:59 +02:00
Yann E. MORIN
929f125fea samples: update the m68k samples
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-02 23:11:59 +02:00
Yann E. MORIN
7d55350716 samples: update the bfin sample
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-02 23:11:59 +02:00
Yann E. MORIN
b48b3c4e39 samples: update the s390 samples
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-02 23:11:59 +02:00
Yann E. MORIN
3170069ee8 samples: update sh4 sample
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-02 23:11:59 +02:00
Yann E. MORIN
00c5fb37af samples: update x86-64 samples
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-02 23:11:59 +02:00
Yann E. MORIN
2fb855f025 samples: update the alpha samples
Use latest versions where possible, don't use experimental versions.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-02 23:11:59 +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