Commit Graph

484 Commits

Author SHA1 Message Date
Alexey Neyman
3dbb576c17 Make companion libs static.
This follows the trend set by 1*.sh scripts that configure ISL, GMP,
MPFR, CLooG, etc. Building with shared libraries presents all kinds
of problems:
- The shared libraries need to be installed into ${CT_PREFIX_DIR}.
- The binaries linked against companion libs need to have proper
RPATH, or they're looking for shared libs in
.build/${CT_PREFIX}/buildtools/lib.
- All libraries must agree as to whether they're built shared,
static, or both. Otherwise, gettext tries to link in static libncurses.a
into a shared library and fails (since libncurses was compiled without
the -fPIC switch and hence contains relocations that cannot be handled
in a shared library).

So this fixes the current mess. If we decide to re-enable building
the companion libs shared, we should probably make this dependent on
a separate suboption of CT_STATIC_TOOLCHAIN.

Add a config loosely based on one reported in the issue 274.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-11 00:46:06 -08:00
Alexey Neyman
bf0d593639 Add comp. tools for host in one of canadian crosses.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:03:15 -08:00
Alexey Neyman
e082dd8991 Enable posix threads in x86_64-w64-mingw32.
This enables the resulting toolchaing to be used to build a canadian
cross to x86_64-pc-linux-gnu target. Unmark that sample as broken,
it now builds successfully.

It is likely that it is affected by issue #483, too - I see the
resulting gcc executable has a DLL dependency on libiconv-2.dll,
which is only installed into .build/.../buildtools. This will be
investigated/fixed separately.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-29 13:25:44 -08:00
Alexey Neyman
e3c764cc2d Remove a broken sample.
We don't have a sample that builds the required toolchain (i586-mingw32msvc).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-29 08:47:39 -08:00
Alexey Neyman
db252df423 Add a canadian cross sample ...
... that was exhibiting the failures fixed in previous commits.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-29 08:45:26 -08:00
Max Filippov
51b4a509db samples: rename xtensa-unknown-linux-uclibc to xtensa-fsf-linux-uclibc
Put xtensa core name to the tuple vendor string (without any overlay the
default core is 'fsf') and rename sample directory accordingly.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-23 05:15:40 -08:00
Max Filippov
fdf35a2fa9 samples: add target CFLAGS to xtensa-unknown-linux-uclibc
Add -mlongcalls and -mtext-section-literals to target CFLAGS. Target
libraries built with these flags have great call range, useful for linux
applications.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-22 15:16:09 -08:00
Max Filippov
6c6829a061 xtensa: fix endianness support
To build uClibc correctly we need correct endianness selected in the
crosstool-NG. Xtensa cores may be little- or big-endian, but this
property is static. The toolchain knows the core endianness and doesn't
need options to select it.
Enable ARCH_SUPPORTS_BOTH_ENDIAN and select LE by default. Specify empty
CT_ARCH_ENDIAN_CFLAG so that -m{big,little}-endian don't get added to
the TARGET_CFLAGS, as it's not supported by gcc. Specify empty
CT_ARCH_ENDIAN_LDFLAG so that -EB/-EL don't get added to the
TARGET_LDFLAGS as they are ignored. Select big-endian in the example
xtensa-unknown-linux-uclibc configuration.

This fixes uClibc toolchain build for little-endian cores.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-22 10:48:34 -08:00
Alexey Neyman
15ffdc42f1 Make all samples save tarballs.
... and provide consistent logging.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-18 13:36:21 -08:00
Alexey Neyman
97c01b8491 Update samples previously using 4.9.3.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-17 17:23:17 -08:00
Alexey Neyman
f0bb72b741 Merge pull request #381 from enunes/avr
avr-libc: update to 2.0.0
2016-11-15 14:45:42 -08:00
Alexey Neyman
2cb1b851c2 Make sparc-leon-linux-uclibc "version neutral".
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-04 17:47:15 -07:00
Yogesh Sharma
2bc7fc0dab sample: s390x-ibm-linux-gnu removed CT_PATCH_NONE=y
Signed-off-by: Yogesh Sharma <ysharm01@harris.com>
2016-09-07 10:16:52 -04:00
Yogesh Sharma
270f1285bf sample: i686-w64-mingw32,nios2-spico-elf updated ISL
Signed-off-by: Yogesh Sharma <YogeshASharma@gmail.com>
2016-09-07 10:16:52 -04:00
Bryan Hundven
1e4040e011 Merge pull request #406 from vaibhav92/powerpc64le-sample
samples: Add powerpc64 little-endian toolchain sample
2016-08-30 17:18:54 -07:00
Bryan Hundven
f881f818a7 Merge pull request #409 from KirillSmirnov/master
samples: Add sparc-leon-linux-uclibc sample
2016-08-30 17:17:56 -07:00
Alexey Neyman
b7ef2697ca Rename sample to match the 'saveconfig' location.
arm-cortex_a15-linux-gnueabi was actually
arm-cortex_a15-linux-gnueabihf.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
017ff08d61 build-all: Remove successful build trees.
I am running out of space when running build-all for all samples.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
7d8f85e6af arm-multilib-linux-uclibcgnueabi: Add.
No threads (uclibc/libpthread does not compile on ARMv8); no C++ (libitm
depends on pthreads), no GDB/DUMA (depend on threads).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
667898fc44 mips64el-*-linux-uclibc: Remove.
Now, both -mabi=n32 and -mabi=64 are available as multilibs.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
e30e370800 Create multilib configurations based on certain *-linux-* samples.
Based on the following samples:
- x86_64-unknown-linux-gnu (-m64/-m32/-mx32)
- powerpc64-unknown-linux-gnu (-m64/-m32)
- mipsel-unknown-linux-gnu (-mabi={32,n32,64})
- sh4-unknown-linux-gnu (-m4/-m4a)
- x86_64-unknown-linux-uclibc (-m64/-m32)
- mips64el-unknown-linux-uclibc (-mabi={32,n32,64})

New samples:
- sparc64-multilib-linux-gnu (-m64/-m32)
- sh4-multilib-linux-uclibc (-m4/-m4a/-m3)
- x86_64-multilib-linux-musl (-m64/-m32)

Notably missing is arm-unknown-linux-gnu (aprofile): GLIBC does not
compile in one of the variants in its multilib set (-march=armv4t
-mthumb) due to missing atomic ops implementation.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Kirill K. Smirnov
269eb63875 Add sparc-leon-linux-uclibc sample
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-07-26 00:26:17 +03:00
Vaibhav Jain
4090f17e6b samples: Add powerpc64 little-endian toolchain sample
This change adds a powerpc64le-unknown-linux-gnu sample that can be used
to quickly create a little-endian tool-chain for powerpc64
architecture. This sample is based on the earlier work done by "Yann
E. MORIN" to add support for powerpc64 tool chain and implementing the
power64-unknown-linux-gnu sample. The existing sample however generates
a big-endian tool chain by default.

Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
2016-07-19 15:14:26 +05:30
Erico Nunes
560bbdc887 avr: update sample to use up-to-date gcc
With avr-libc 2.0.0 released, we no longer need to force gcc 4.9.x for
the avr toolchain. So, remove the gcc version constraint and allow it to
follow the default gcc version. There is also no need to force companion
libraries' versions anymore.
The 'experimental' flag was also removed from the description as it
seems to be following upstream development now.

This sample has been build tested on Arch Linux and Ubuntu 14.04 hosts.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2016-04-19 01:38:32 -03:00
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
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