Commit Graph

499 Commits

Author SHA1 Message Date
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
Andrew Wygle
61d1fa57c9 Added a sample of the MSP430 architecture and removed config.sub
override from msp430.sh

Signed-off-by: Andrew Wygle <awygle@gmail.com>
2017-06-02 15:32:55 -07:00
Kirill Smirnov
bba46dc1b5 samples: update sparc/leon sample
* Remove obsolete RPC options from uclibc-ng config
* Enable utmp/wtmp options (gdb needs them)
* Switch to gcc-6.3

Signed-off-by: Kirill Smirnov <kirill.k.smirnov@gmail.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-02 13:27:56 -07:00
Alexey Neyman
97a20eed5c Disallow duma/ltrace/strace for bionic
Allow cross-gdb and gdbserver. This requires removal of an explicit
check that disables gdbserver on android. However, the comment above
that check refers to exec_elf.h, which has been removed since API level
19. It builds fine with current selection of the sample (21). Only
build-tested, hope someone can give it a try and report back.

We can fine tune the check for GDB but I'll leave it for now.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-05-14 18:49:56 -07:00
Alexey Neyman
dab327ed06 Allow rebuilding aarch64-unknown-linux-android
Otherwise, fails when checking if the destination dir is writable.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-05-14 15:23:41 -07:00
hyc
22e4a3f433 Fix samples defaulted to glibc
Since glibc is no longer the default C library
2017-05-14 15:23:34 -07:00
hyc
a776367937 Add sample Android config, gcc 6.3 patches 2017-05-14 15:23:34 -07:00
Alexey Neyman
c9dad33728 Use config from the install location
... no need to create a local symlink.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-22 23:33:36 -07:00
Alexey Neyman
7111f95dc3 MinGW-W64 fixes
- libpthread requires iteration over multilibs, unlike the core, it
does not detect and build multilibs by itself.

- Disable parallel builds for mingw-w64 components; until mingw-w64 core
builds clean, I am not trusting it.

- Make the list of tools to build configurable

- Turn on multilib in x86_64 sample.

- Make warnings about tuple less redundant. As in, "one WARN is enough,
no need to shout it three times".

- Messages about various steps/substeps are more aligned with the rest
of the components.

- Use 'make' instead of ${make} to invoke the companion make just built,
if applicable.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-30 19:11:33 -07:00
Alexey Neyman
a596ec5b39 Fix up the sysroot issue for sh4 in a different way
(see the comments in the code for details on the issue)

Old workaround in 100-gcc.sh stopped working (probably, due to one
of GCC version upgrades), so switch to the other approach originally
described there: adjust the list of multilibs to not include the
default target explicitly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-26 23:32:27 -07:00
Alexey Neyman
a295b3f477 Run samples through an update
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-20 15:14:21 -07:00
Alexey Neyman
2b13f8dd78 sh*-*-linux-gnu can use GCC6 now
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-20 01:01:11 -07:00