Commit Graph

410 Commits

Author SHA1 Message Date
Alexey Neyman
cc7f7db767 Mark x86_64-w64-mingw32,x86_64-pc-linux-gnu broken.
I couldn't get this sample to build. I tried rolling ct-ng back to 1.22
and back to the commit that introduced it, to no avail. Not sure if it
ever built on my machine.

The first problem is the failure to build binutils/gold because of the
missing <pthread.h> in mingw. However, even if CT_BINUTILS_GOLD_THREADS
option is unset, the build dies in configure of the pass-1 of the core CC.
The config.log states that it failed to link with libmpfr.a, which has
a lot of undefined references to symbols like '__imp___iob_func'.
Googling shows that these symbols are some dark Cygwin/MinGW magic and I
do not have the knowledge of these arcana. Let some other MinGWizard fix
it another day.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-01 18:15:39 -07:00
Alexey Neyman
7ac327d6c3 Remove --with-expat from extra GDB args.
300-gdb.sh always adds --with-expat, no need to list it in
crosstool.config.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-01 18:15:39 -07:00
Alexey Neyman
85af584872 Unbreak powerpc-unknown-linux-uclibc.
There is invalid assembly in dmalloc for PowerPC. The issue is that
'stw' expects a memory operand, and =g constraint allows both registers
and memory. Newer GCC tends to choose register even at -O0, resulting in
invalid assembly. Instead, force a register constraint in 'mflr' and let
GCC decide if it wants to store it into memory at all.

Reported this upstream.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-01 18:15:39 -07:00
Bryan Hundven
d7339f50a2 Merge pull request #364 from bhundven/aarch64_generic_sample
Aarch64 generic sample
2016-03-03 15:04:51 -08:00
Bryan Hundven
13d4b2b6a3 samples: Add generic aarch64 sample
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-03 09:32:31 -08:00
Bryan Hundven
1f590667ac samples: add aarch64-rpi3-linux-gnueabi
This is a aarch64 raspberry pi 3 sample.

Please test!

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-03 07:23:01 -08:00
Stefan Hallas Mulvad
bc9ed3c5cb Adds Raspberry Pi 3 sample config
Signed-off-by: Stefan Hallas Mulvad <shm@hallas.nu>
2016-03-02 20:09:09 -08:00
Bryan Hundven
e0fd82bb01 mingw-w64: Set it as experimental
With the upcoming release of 1.22.0, mingw-w64 is still in an
experimental state, and is not considered to be fully supported yet.

This change should be reverted after the release.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-19 15:09:12 -08:00
Alexey Neyman
860ac8d5fc Document {check,update}-samples targets.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-17 10:43:55 -08:00
Bryan Hundven
326a958f85 samples: Forgot to unmark mips64 samples as not experimental
As per 4be766254d, mips64 is not longer
experimental, and as such, the samples should not need it enabled.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-14 17:43:44 -08:00
Bryan Hundven
465e5a8b9f Merge pull request #249 from stilor/expat_ncurses
Promote expat/ncurses to 'companion libs'
2015-11-14 17:40:21 -08:00
Alexey Neyman
2541bd0b11 Remove redundant configure options.
-mcpu= and -msoft-float are added due to ARCH_* flags, and correctly
passed down to libstdc build.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:21:45 -08:00
Alexey Neyman
57dc5e69d2 Remove --disable-libsanitizer.
It is now added automatically if CT_GCC_SANITIZER is not set - and that
option depends on !UCLIBC.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:21:44 -08:00
Alexey Neyman
10c0f278e9 Switch to using EV67 in alphaev67-*.
It does not make much sense to have alphaev67 example use -mcpu=ev67,
does it?

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:21:44 -08:00
Alexey Neyman
379331986d More trivial sample updates.
Drop ARCH_ARCH/ARCH_TUNE where it is overridden by ARCH_CPU. Also, same
updates as in the previous batch for architectures with
!ARCH_EXCLUSIVE_WITH_CPU (i.e. where there is no need to drop
ARCH_CPU/ARCH_TUNE).

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:04:55 -08:00
Alexey Neyman
8a07253fa0 Use $* to simplify rules in samples.mk.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:03:35 -08:00
Alexey Neyman
f7d6e53e2b Add update-samples target.
Same as check-samples, but actually updates the crosstool.config.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:03:35 -08:00
Bryan Hundven
b54d55c843 Samples: Update samples
This commit updates samples to latest config/ changes.

This closes #114

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-14 11:30:03 -08:00
Alexey Neyman
4d2d2ba954 Enable building expat/ncurses for host.
Then re-enable cross-gdb for nios2-spico-elf sample, previously
disabled.
2015-11-13 10:31:46 -08:00
Bryan Hundven
e78251b751 Merge pull request #253 from jcmvbkbc/xtensa-for-mainline-20151113
Add support for Xtensa architecture
2015-11-13 01:47:08 -08:00
Max Filippov
18dfc4871d samples: add xtensa-unknown-linux-uclibc config
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 12:27:11 +03:00
Bryan Hundven
e4bb360748 file modes: Set files to be non-executable
I was going to start doing some autoconf work, and noticed that
configure.in was executable. Then I noticed Makefile.in was executable.

o.O

So, I ran ```find . -type f -executable``` and found a bunch of files
that shouldn't be set executable.

This commit makes them normal files again.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 23:18:04 -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
4f3310cf03 Samples: Add x86_64-w64-mingw32,x86_64-pc-linux-gnu
Tested on build machines of x86_64-pc-cygwin and x86_64-unknown-linux-gnu

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:46 +00:00
Bryan Hundven
972c03d7f1 samples: Update samples to use default uClibc-ng config
This commit removes per-sample configuration files for uClibc and falls
back to using the default config file in contrib/uClibc-defconfigs.

Only one sample is broken:

* powerpc-unknown-linux-uclibc
  * breaks on dmalloc

I will come back and work on the dmalloc failure later, but I don't want it to
hold up getting uClibc-ng out in ct-ng.

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
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
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