Commit Graph

437 Commits

Author SHA1 Message Date
Alexey Neyman
127a789a71 Adjust vendor in arm-nano-eabi...
So that 'ct-ng saveconfig' works properly.
Also, run it through 'ct-ng saveconfig' so that default options are removed.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 00:01:18 -08:00
Alastair D'Silva
4532830f96 Add ARM nano sample configuration
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-10 10:51:39 +11:00
Alexey Neyman
e593a1a30b Run samples through 'ct-ng update-samples'.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-16 16:12:15 -08:00
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