Commit Graph

3818 Commits

Author SHA1 Message Date
Alexey Neyman
b7194db3ff Fix xtensa static link.
uClibc-ng 1.0.20 fixed static linking with "libdl" by adding all libdl functions
into the libc. On xtensa, though, libdl contains an unresolved reference that is
satisfied by the ld.so - which is not a part of the linking in a static case.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-09 15:49:38 -08:00
Alexey Neyman
da3f8c4ec5 Merge pull request #494 from stilor/cygwin-fixes
Cygwin fixes
2016-12-06 11:33:44 -08:00
Alexey Neyman
7e44983388 Work around Cygwin idiosyncrasy.
Cygwin doesn't like directory names ending with a dot, e.g. "multilib_."

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-06 10:33:20 -08:00
Alexey Neyman
25f5b82d2e Update Linux kernel patches.
3.0.9/100-headers-install-fix*.patch picked up upstream.
The Cygwin fix is needed for Cygwin on all kernel versions.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-06 10:33:20 -08:00
Alexey Neyman
f6ea9a68b2 Add patches for <sys/select.h> issue on Cygwin.
From gnulib´s mailing list; paths modified to match gnulib module inside
gettext.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-06 10:33:20 -08:00
Alexey Neyman
31e2a8776d Rename gettext 0.19.6 patches to 0.19.7.
120-*.patch needed an update; others copied verbatim.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-06 10:33:20 -08:00
Alexey Neyman
f3fcb8d2f8 Ignore *.exe (on Cygwin).
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-06 10:33:20 -08:00
Alexey Neyman
ee4446c7ae Merge pull request #495 from stilor/old-gcc-build
Backport the fix to 4.8.5.
2016-12-05 18:41:02 -08:00
Alexey Neyman
b00222d307 Merge pull request #496 from stilor/uclibc-add-1.0.20
Add uclibc-ng 1.0.20.
2016-12-05 18:40:46 -08:00
Alexey Neyman
ec5a27e082 Add uclibc-ng 1.0.20.
Retire 1.0.{17,18,19}. Both static link & dlopen issues are now
apparently fixed.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-05 18:38:40 -08:00
Alexey Neyman
368398bdf4 Backport the fix to 4.8.5.
4.9.4 doesn't need this, fixed upstream.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-05 18:38:31 -08:00
Alexey Neyman
f5a375e407 Merge pull request #443 from KirillSmirnov/gdb-native
debug/gdb: properly link with expat
2016-12-05 18:24:05 -08:00
Kirill K. Smirnov
ee1c04378c debug/gdb: restore comments
There are two separate issues with gdb configure usage:
1) inspecting build system libraries while cross-compiling;
2) preferring a shared library over static one.

The first usage issue is described and fixed now.
The second issue was described but the notes were removed
for some reason. This patch restores those notes.

Suggested-by: Alexey Neyman <stilor@att.net>
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-12-05 23:39:55 +03:00
Alexey Neyman
4042269de6 Merge pull request #487 from stilor/host-comp-tools
Allow for installation of companion tools for host
2016-12-02 19:18:56 -08:00
Alexey Neyman
a787e410dc Merge pull request #492 from stilor/custom-loc
Fix building uClibc-ng from custom directory
2016-12-02 19:18:46 -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
cf86df688a Add 'companion tools for host' step.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:03:15 -08:00
Alexey Neyman
3f7fbd7bed Move companion tool build into a separate step.
Also, rename "build" -> "for_build", since we're going to have a "for_host"
as well.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:03:15 -08:00
Alexey Neyman
289188e6f2 uClibc-ng needs to know whether it is 1.0.15+
This is workaround, as more packages require similar tweaks (some
depend on X_Y_Z_or_later config variables either in kconfig, or in
the build scripts.

We should have a CT_CompareVersion, that will apply the default
or per-package method of comparison.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:02:58 -08:00
Alexey Neyman
51a3606b17 Fix use of custom location if it is a directory.
In that case, CT_GetCustom just creates a symlink to the original.
In that case, 'cp -a <path> .' gives an error and 'cp -a <path> <newdir>'
creates <newdir> as a symlink (which will then run the build inside
the shared directory, .build/src/<package>).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:02:58 -08:00
Bryan Hundven
f7f70b67c4 Merge pull request #491 from stilor/uclibc-1.0.20
Mark uClibc 1.0.20 experimental
2016-12-02 13:09:11 -08:00
Alexey Neyman
713b1544b0 Make 1.0.19 experimental...
... and 1.0.17 default, again. Sigh.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 13:02:54 -08:00
Alexey Neyman
4c7f49fb6c Revert "uClibc-ng: Remove 1.0.17 and 1.0.18"
This reverts commit 93dab0585b.
2016-12-02 11:58:08 -08:00
Bryan Hundven
8f55112b89 Merge pull request #480 from bhundven/update_uclibc-ng
uClibc-ng: Add 1.0.19
2016-12-01 08:37:16 -08:00
Bryan Hundven
93dab0585b uClibc-ng: Remove 1.0.17 and 1.0.18
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-12-01 08:35:30 -08:00
Bryan Hundven
583fe25c34 uClibc-ng: Add 1.0.19
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-12-01 08:32:20 -08:00
Bryan Hundven
812ed6856e Merge pull request #485 from bhundven/update_kconfig
kconfig: sync upstream changes
2016-12-01 08:31:08 -08:00
Alexey Neyman
6785440c76 Merge pull request #486 from jcmvbkbc/xtensa-fix-pr78603
gcc: backport fix for xtensa PR target/78603
2016-11-30 20:45:52 -08:00
Max Filippov
bd2a376fe3 gcc: backport fix for xtensa PR target/78603
This fixes the following kind of ICE on configurations with zero
overhead loops support:

  ../src/pjlib-test/thread.c: In function 'thread_test':
  ../src/pjlib-test/thread.c:328:1: internal compiler error: in
    dwarf2out_var_location, at dwarf2out.c:21846

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-30 17:17:18 -08:00
Alexey Neyman
f849de0de3 Merge pull request #484 from stilor/fix-canadian
Fix canadian crosses
2016-11-30 17:08:58 -08:00
Bryan Hundven
89a2182f14 kconfig: sync upstream changes
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-11-30 16:34:39 -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
3285ccbd3e Sync up with buildroot GCC 6.2.0 patches.
Additionally, copy from 5.4.0:
- 910-nios2-bad-multilib-default.patch (needed for nios2 sample)
- 930-libgcc-disable-split-stack-nothreads.patch (applicable to 6.2.0 as well)

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-29 11:15:21 -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
Alexey Neyman
5e49166140 Disallow dmalloc for bare metal.
In case of bare metal, newlib is built without any syscalls,
and dmalloc fails to link with undefined references to _exit,
fstat, open, sbrk and so on.

Same for DUMA: depends on <memory.h>, not available with newlib.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-29 00:33:52 -08:00
Alexey Neyman
2091c5dd2d Pass FOR_BUILD flags when building the pass-1/2 core GCC.
Current build passes {CFLAGS,LDFLAGS}_FOR_HOST - which breaks canadian cross
(e.g. tried building for x86_64-unknown-linux-uclibc host). This dates
back to the days of yore when CFLAGS were set directly in the do_gcc_core_backend
(and that function is used as the final gcc's backend).

do_gcc_core_backend is now passed with CFLAGS/LDFLAGS to use, so let
the pass-1/pass-2/final-for-build steps pass the appropriate flags.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-28 22:55:54 -08:00
Alexey Neyman
699a54d8ce Merge pull request #465 from jcmvbkbc/xtensa-endian
Xtensa fixes
2016-11-23 10:03:16 -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
b55c288db9 gcc: backport fix for xtensa PR target/78118
This fixes ICE when building libgcc for xtensa with call0 ABI.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-22 15:16:30 -08:00
Max Filippov
c9b2d11f54 gcc: don't use unwind-dw2-fde-dip with xtensa-elf targets
This fixes build for elf target with windowed xtensa core that currently
breaks with the following error message:

  unwind-dw2-fde-dip.c:36:40: fatal error: elf.h: No such file or directory

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-22 15:16:30 -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
73b11177c2 gcc: fix libgcc build with --text-section-literals for xtensa
This fixes toolchain build with --text-section-literals, which should
normally be enabled for linux targets.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-22 15:16:09 -08:00
Max Filippov
fe3cca91d2 gcc: fix xtensa_fallback_frame_state for call0 ABI
This allows for stack unwinding over signal frames on xtensa linux with
call0 ABI.

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
0946ce59a0 Merge pull request #479 from stilor/gmake-link-fix
Gmake link fix
2016-11-22 10:02:04 -08:00
Alexey Neyman
87bfd55b3b Give companion tools some love.
Allow selection of make/m4/... version. Support imports of new versions
via addToolVersion.sh. Import newest versions of the companion tools.

One non-trivial change is the handling of make versions. Existing code
was not handling make companion tool as described (see the previous
commit). However, since most modern systems have make 4.x, that previous
commit made crosstool-ng always build make as a companion tool.

This traces back to the commit dd15c93 from 2014. That commit's log message
says that actually it was 3.81 which broke the build for certain component
(it was originally breaking eglibc, but I noticed it was breaking current
glibc on powerpc64), and introduced an option to force using 3.81 by
"components that really need it". It looks like in 2.5 years we haven't
seen any such components that really need make 3.81, and (given that make
has already had a few releases since 3.81) we're unlikely to see them
in the future.

Hence, the configure check is changed from "exactly 3.81" to "3.81 or newer".
In its current form, configure will accept make 3.80+, and will not require
make as a companion tool for 3.81+. We might want to bump the latter check
to even newer version given the claim from dd15c93. Killed
COMP_TOOLS_make_3_81_NEEDED.

Anyway, I retained 3.81 just in case; ditto for m4 1.14.3, autoconf 2.65
and automake 1.11.1.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-21 23:03:03 -08:00
Alexey Neyman
488b27f58b Partially revert 6f8e89cb5c.
The referenced commit replaced 'make' with '${make}' everywhere. This is
wrong for at least the utilities that we may build as companion tools
(make, libtool): this will always invoke the version detected by configure
by supplying the absolute path. In other words, the wrappers in
.build/tools/bin are not fallbacks - they are either temporary (in case
a respective companion tool is built) or permanent redirectors.

This is the reason why the PATH= has .build/*/buildtools/bin at higher
precedence than .build/tools/bin; the latter has the versions detected by
configure and the former has the versions built as companion tools.

Revert the rest of the gang (grep/sed/...) for consistency. After all,
we may decide to supply some of them as well (awk, for instance).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-20 23:50:17 -08:00
Bernhard Walle
6cb9e62f6c comptools/make: Fix CT_COMP_TOOLS_make_gmake option
Commit 6f8e89cb5c broke that option.
Since ${make} points to /usr/bin/make, making the symlink from gmake
to /usr/bin/make is obviously the wrong decision. gmake should link to
our (old-versioned) self-built make.

Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
2016-11-19 12:40:47 -08:00
Alexey Neyman
3eb2e351f0 Merge pull request #478 from stilor/kernel-update
Kernel update
2016-11-18 17:04:12 -08:00