Commit Graph

510 Commits

Author SHA1 Message Date
Alexey Brodkin
de76f7cc82 ARC: Support building of multi-lib Glibc toolchain
From GCC's standpoint ARC's multilib items are defined by "mcpu" values
which we have quite a few and for all of them might be built optimized
cross-toolchain.

From Glibc's standpoint multilib is just multi-ABI [1] and so very limited
versions are supposed to co-exist (e.g. arc700 & archs).

Here we force Glibc to install libraries in GCC's multilib folder to create
a universal cross-toolchain that has libs optimized for multiple CPU types.

But note we only need to mess with installation paths in case of real
multilib, otherwise we keep default "lib/" paths so that GCC finds default
(the one and only) libs where it expects them to be.

Also here we add a sample which allows to build universal Glibc Linux
toolchain for ARC.

[1] https://sourceware.org/ml/libc-alpha/2019-06/msg00018.html

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2019-06-14 17:50:46 +03:00
Alexey Brodkin
32e945e764 Add Glibc toolchain sample for ARC HS
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2019-04-17 10:36:14 +03:00
Alexey Neyman
51f1db5c0a
Merge pull request #1178 from stilor/master
Last fixes for 1.24.0
2019-04-05 14:09:48 -07:00
Alexey Neyman
ace18924a3
Merge pull request #1167 from palmer-dabbelt/riscv-cxx
riscv64-unknown-linux-gnu: Add C++ Support
2019-04-05 14:09:29 -07:00
Alexandre Belloni
138d0d4da6 samples: G+ is gone, update reporter_url
G+ is now defunct, update the reporter_url to bootlin as both Thomas and I
are working there.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2019-04-04 16:25:11 +02:00
Alexey Neyman
4a0a490811 Use explicit revision in xtensa-fsf-elf
So that the build does not depend on internet connectivity.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-03-20 17:24:03 -07:00
Palmer Dabbelt
7ba6097629
riscv64-unknown-linux-gnu: Add C++ Support
We've had very solid support for C++ for quite a while now in RISC-V
land, at least in our Linux targets.  This patch set enables C++ support
by default, which I assume most users will want.

Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
2019-03-20 01:47:32 -07:00
Alexey Neyman
5332f480e4 Update the samples to v3
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-03-09 19:42:34 -08:00
Alexey Neyman
bf4b573089 Add sample from #985
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-17 16:57:23 -08:00
Alexey Neyman
47e16f64e4 Run the samples through update to v2
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-09 15:55:37 -08:00
Alexey Neyman
74a53fdf3e Use enhanced framework for 'ct-ng update-samples'
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-09 15:55:16 -08:00
Alexey Neyman
93dd61e257 Run the samples through ct-ng update-samples
- Pin sparc-leon-linux-gnu to GCC6, again.
- Remove "brokenness" explanation from moxie-elf comment (was only
applicable to stage-2 compiler, not final).

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-01-28 22:46:15 -08:00
Alexey Neyman
adc16046f7 Add upgrade logic to version-check.sh
Slightly rework config version detector to catch the case where neither
CONFIG_VERSION/CONFIG_VERSION_CURRENT is defined in the config file.

Add olddefconfig and use it after the upgrade.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-01-27 22:55:26 -08:00
Alexey Neyman
57e5be632d Basic framework for checking config file version
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-01-26 13:13:32 -08:00
Alexey Neyman
b0d954f0ec Allow short "moxiebox" alias
... while making use of the new tunables.

Also, unmark the moxie-elf as broken: the ld scripts installed by newlib
can be found by the compiler and can link the binaries. Why the default
script is broken is not ct-ng's problem...

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-10 01:11:18 -08:00
Alexey Neyman
7a7a20bfee Moxiebox requires target to be LE
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07 14:49:28 -08:00
Alexey Neyman
0ffcfd657c Add config from issue 1107
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07 00:03:04 -08:00
Alexey Neyman
40d5bf6440 Add moxiebox as a choice for libc
This required some rework of the libc selection, as moxiebox is a layer on
top of another libc - newlib.

Also, moxiebox'es host VM (`sandbox`) needs a libcrypto on the host. We will
not have it if we're cross-compiling a canadian cross. Fortunately, all moxiebox
needs from libcrypto is SHA256, and it already includes a standalone implementation
of SHA256 in its runtime. Provide a little wrapper that allows moxiebox use
that implementation for the host binary, too.

Also, automate collecting/printing the list of all packages in a given category
(e.g. LIBC or COMP_TOOLS), generate a list of all Kconfig symbols for a given
category.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-01 10:10:51 -08:00
Alexey Neyman
172308cb1b Add moxie architecture
and a moxie-unknown-elf target (which is what #1088 apparently wanted).

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-28 00:30:10 -08:00
Alexey Neyman
d72f065e71 Check if .config is a regular file before clobbering it
Fixes #1014.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-01 23:19:12 -07:00
Paul Walmsley
af8da8b181 riscv64: add rv64gc bare-metal sample
This sample works well for building the open-source first stage
bootloader for the SiFive U540 device (and similar):

https://github.com/sifive/freedom-u540-c000-bootloader

Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
2018-09-24 11:09:39 -07:00
Paul Walmsley
05d74f9d63 riscv64: add rv64gc linux-gnu sample
This sample works well for the SiFive U540 device (and similar).

Thanks to Jim Wilson <jimw@sifive.com> for his review, discovering
several bugs (now fixed).

Cc: Jim Wilson <jimw@sifive.com>
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
2018-09-10 22:58:08 -07:00
Alexey Brodkin
409046f91d ARC: Update Linux samples
There's no point in keeping samples which are in its essense
just a sub-set of multilib toolchain.

But still we'd like to cover quite unusual but really existing
case - ARC750, i.e. ARC700 with MMU but without so-called
atomic instructions (LLOCK/SCOND). To support this HW variation
we need:
 1) Compile all target binaries without "-matomics" or even
    better "-mno-atomics" so that's even future-proof
    (as we may decide to enable "-matomics" by default for Linux
     targets which is a recommented setup).
 2) Configure libc such that it uses Linux-kernel-assisted implementation
    of atomic operation via "arc_usr_cmpxchg" syscall,
    see https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=b985fa069187e4c5a7ee84213d9fbead2f219ce5

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-21 15:03:17 +03:00
Alexey Brodkin
b078bb09dd ARC: Add Linux uClibc multilib sample
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-21 13:43:07 +03:00
Alexey Brodkin
a397b69516 ARC: Add baremetal/elf32 multilib sample
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-16 17:20:23 +03:00
Alexey Brodkin
66e0a25fd3 Add ARC700 and ARC HS38 Linux samples
ARC700 is based on ARCompact (AKA ARCv1 ISA) while ARC HS38 is
based on modern ARCv2 ISA.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-15 16:41:20 +03:00
Alexey Neyman
1b18fd6bdd
Merge pull request #924 from tofutim/feature/fixchecksamps
fix deprecated diff option
2018-04-10 21:29:29 -07:00
Alexey Neyman
bb6c97551f User manual installation
... when running from a release tarball.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Tim Uy
b94dfcd59f fix deprecated diff option 2018-02-28 08:15:10 -08:00
Alexey Neyman
b2af5df5fc Backport GCC fix for partial int modes
... from trunk to GCC7/GCC6/GCC5.

Fixes #742.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-15 09:15:00 -08:00
Franz Flasch
c8c9249659 Added vendor string for riscv32-hifive1-elf 2018-01-22 15:26:28 +01:00
Franz Flasch
8c74cdf9dc Added sample for riscv-hifive1 board
Signed-off-by: Franz Flasch <ffl@mission-embedded.com>
2018-01-22 14:16:27 +01:00
Alexey Neyman
d759137c46 Align script names with the ct-ng commands
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-11-19 21:50:28 -08:00
Alexey Neyman
f1cca2a7c2 Retire wiki-printer
It is not used anymore and is currently broken.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-11-19 21:50:28 -08:00
Antony Pavlov
cc342748ce add a bare metal RISC-V sample
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
2017-11-19 04:57:28 +03:00
Alexey Neyman
602304b230 Use the new SuperH fixes in the two multilib samples
- Glibc configure args and tuple need adjustment on SuperH
- Only allow "both endian" and "with CPU" for unspecified arch
  variant. May reconsider endianness (was breaking things before
  adjusting glibc tuple)
- Retire non-multilib sample, it should be a subset of the
  multilib one now.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-03 12:12:14 -07:00
Alexey Neyman
413f5f6100 Super-H multilib toolchain fixes
1. On SuperH, configuring GCC with explicit variant of the CPU
(like "sh4") limits the default set of multilibs to just that CPU
and requires --with-multilib-list to change. Allow for "unspecified"
variant, so that we can defer to GCC to determine the list.

2. Support toolchains with both endiannesses at the same time.

3. Add a SuperH/newlib sample

4. Add more flags processing for uClibc

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-03 12:11:23 -07:00
Alexey Neyman
d25e19f780 Add NIOS2/MMU sample
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-27 23:36:56 -07:00
Alexey Neyman
3182001a27 Pin sparc-leon to GCC6, again
Also, change the name for uClibc config to be version-agnostic,
the version changes too fast.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-18 10:31:28 -07:00
Alexey Neyman
0490687512 Update new nios2 sample
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 12:11:12 -07:00
Alexey Neyman
1b207d0adc Allow packages to define "relevant" part of the version
E.g., only include minor/major of the Linux kernel into the kconfig
symbol. In the future, to be defined by all packages, but for now
matches the current versioning in the packages.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:57 -07:00
Alexey Neyman
ae71ce4106 Kconfigize choice/menu items
Also, add a poor man's upgrade script.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
567277099a Fix the references to old config variables
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
6c07462bc6 Merge pull request #773 from stilor/fix-bionic-32bit
Fix ARM32 name for android
2017-07-07 15:11:03 -07:00
Alexey Neyman
1029dcf91a Fix ARM32 name for android
Must have eabi suffix for GCC to accept it. Also:
- We only have one glibc now, no need to account for eglibc.
- Rename aarch64 samples, eabi suffix does not apply to them
  (and ct-ng saveconfig was saving them into a different directory).

Fixes #772.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-07 12:38:32 -07:00
Kirill K. Smirnov
04ef0deb85 samples: remove unnecessary option
The line CT_GETTEXT=y is remains from canadian sample. This cross
sample does not need it.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2017-07-05 02:51:17 +03:00
Kirill K. Smirnov
a19d97c4dc samples: add a config for bare metal NIOS2
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2017-07-01 14:37:07 +03:00
Alexey Neyman
dc80274261 Declare msp430 experimental
... as GCC5 and later ICEs over inocuous code.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79242

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-10 00:11:51 -07:00
Alexey Neyman
1b4e784a0b Fix debuild warnings/errors
- Update .gitignore, do not place .gitignore into directories installed
in bulk
- Remove executable permissions and shebangs from the scripts that are
supposed to be invoked only via ct-ng frontent; prepend them with $(bash).
Despite what showSamples.sh said, it already has some bashisms.
- Remove --with autotools-dev and override dh_update_autotools_config
to avoid having config.{sub,guess} clobbered with older versions
- Install bash completion where Debian (now) expects it
- Update man page to use .\" as the comment delimiter, instead of
undefined macro (."); also, minor text edits.
- Install kconfig.mk without execute permission.
- Remove shell wrappers from 170-localedef-fix-trampoline.patch, we
do not use that for applying patches
- Revoke execute permissions on 210-expat.sh
- Get flags from dpkg-buildflags if available

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-07 22:38:53 -07:00
Alexey Neyman
ed1d2d6a0e Merge pull request #732 from awygle/msp430-support
Added MSP430 architecture support
2017-06-02 16:48:55 -07:00