Commit Graph

474 Commits

Author SHA1 Message Date
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
Alexey Neyman
1ca65187f7 Make arm-multilib-linux-uclibcgnueabi static
GCC does not distinguish the resulting binary by the CFLAGS (e.g. based
on which -march= was given). This means, while it will use the right
libraries for linking, at runtime they are all going to request the same
ld.so path and load the libraries from the same default path.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-15 23:57:31 -07:00
Alexey Neyman
4d49730711 Merge pull request #586 from stilor/restore-old-kernel-libc
Restore old kernel/glibc versions
2017-02-10 23:55:33 -08:00
Alexey Neyman
973664c906 Forgot to saveconfig the changes for ARM/elf2flt sample
Hence, it is better to enforce via config rules: elf2flt does not
play nice with ld wrapper, when both ld.bfd and ld.gold are present.
Limit the choices to just 'ld.bfd' for flat-format architectures.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 21:21:57 -08:00
Alexey Neyman
7ba7707959 Add Ubuntu {12.04,14.04,16.04} configs.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 18:05:36 -08:00
Alexey Neyman
01ce37fa09 Add CentOS6/7 sample configs
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 18:05:36 -08:00
Alexey Neyman
308c6b9a14 Add a contrived ARM with elf2flt sample
... that exhibited the issue with elf2flt configuration. Original reported
did not provide the config, and did not respond.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-07 00:36:51 -08:00
Alexey Neyman
2db8d4400c Enable WCHAR in a sample
... needed to build canadian cross on top of it.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-06 12:03:42 -08:00
Alexey Neyman
71dccfffbb Add a canadian elf2flt sample
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05 14:26:09 -08:00
Alexey Neyman
39e880f594 Add a sample config.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-03 00:10:48 -08:00
Alexey Neyman
d2bf553656 Enable Fortran & tools in x86_64-w64-mingw
... both were recently a source of bug that didn't manifest on *-linux-*

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-28 13:35:55 -08:00
Alexey Neyman
832bee87c0 Make build-all rely on kconfig options.
For that, make CT_BUILD_TOP_DIR a non-settable config option (so that it is
recursively expanded with CT_HOST/CT_TARGET). Use a common prefix, with
same default as for regular sample build.

Use showConfig.sh to determine host toolchain path (for canadian crosses)
and build directory to be removed.

Remove LIBC_SYSROOT_ARG (unused).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-19 18:08:29 -08:00
Alexey Neyman
7fad393635 Run samples through 'ct-ng update-samples'.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-19 18:08:29 -08:00
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