Commit Graph

1328 Commits

Author SHA1 Message Date
Alexey Neyman
1baddb19ee Merge pull request #567 from stilor/fix-build-manuals
Fix build manuals
2017-01-30 12:48:47 -08:00
Alexey Neyman
c83335c5a3 Use 'make install' to install DUMA
This serves two purposes:
- installs its manpage
- installs headers, without them it does not make sense to install a
static library

Unfortunately, there's no way to select shared-only build of DUMA.
Hence, disable selection for static library.

Also, allow user to select whether to use stock or ct-ng's wrapper.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-30 12:11:37 -08:00
Alexey Neyman
a08a4c4b88 Allow for per-tool templates when creating overrides
... will be used to implement a smarter install wrapper.

While there, correct the spelling of "OVERIDE".

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-30 12:10:47 -08:00
Alexey Neyman
7a94c81e5b Rework configure logic wrt GNU autotools
Rather than requiring them of a certain version, detect if they are present
(and have sufficient version) and select an appropriate companion tool
otherwise. The reason is that, for example, most recent gettext requires
automake 1.15, but the newest available CentOS has 1.13. Hence, the option
to "upgrade your system" does not apply, and the warning comment above
the companion tools is rather scary.

With this approach, it will work out of the box - either by using the host's
tools, or by building them as needed. Note that the user can still change
the setting in the config.

While there, propagate the new version checking macro to awk/bash/host binutils,
and switch from --with-foo=xxx to officially blessed FOO=xxx: the latter
does not require checking for bogus values (i.e., --with-foo, --without-foo)
and AC_PROG_* macros recognize the corresponding settings without further
modifications. For now, I kept --with-foo=, if only to complain and steer
people to the new way. To be cleaned up after a release.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-27 20:40:47 -08:00
Alexey Neyman
3fc7c1ef69 Fix handling of ltrace 0.5.3 peculiarity.
Also, remove 0.5.2 selection - no longer available for download.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Alexey Neyman
42c9f031dd Add m4 1.4.18
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Alexey Neyman
d0569d322b Add gettext 0.19.8.1
Patches:
120 - updated to apply cleanly
140,150 - removed, now upstream

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Alexey Neyman
f4b8e29e63 Add Linux 4.9.5.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Alexey Neyman
23aef79883 Declare older versions obsolete.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Alexey Neyman
b5d0e396d9 Merge pull request #547 from stilor/separate-canadian-crosses-instdir
Simplify the pre-build actions a bit
2017-01-24 14:54:42 -08:00
Alexey Neyman
027a75cbf0 Merge pull request #549 from stilor/backend-obsolete
Declare BACKEND obsolete.
2017-01-24 14:52:23 -08:00
Alexey Neyman
8dff7012be Check for git presence
... and make the optiont that fetch from Git repositories depend on
the git discovery.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-23 18:25:15 -08:00
Alexey Neyman
65e037b654 Merge pull request #552 from stilor/uclibc-ng-for-buildroot
Restore uClibc-ng usability in buildroot
2017-01-23 16:12:18 -08:00
Alexey Neyman
aa24e9d913 Add selection for RPC
So that uClibc config can be matched to Buildroot's expectations via
the menu, without the need for a saved config.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-23 14:37:18 -08:00
Alexey Neyman
76099962bf Merge pull request #462 from lihanglin/master
mingw: compile the mingw-w64 companion tools as well
2017-01-22 09:14:47 -08:00
Li-Hang Lin
1f6c6d3f32 mingw: compile the mingw-w64 companion tools as well
There are some useful tools such as widl, gendef, genidl ... etc.
provided by mingw-w64 and do not waste the developers' works.

Signed-off-by: Li-Hang Lin <lihang.lin@gmail.com>
2017-01-22 18:09:49 +08:00
Alexey Neyman
f4a611b9cb Typos in linuxthreads/posix config values.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-21 11:49:52 -08:00
Alexey Neyman
83d78d33d3 Declare BACKEND obsolete.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-19 23:27:13 -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
3e4d4870c9 Simplify config saving.
Instead of hardcoding defaults in saveSample.sh.in, have the same
defaults in config. Then we can just remove them when saving the
config.
2017-01-19 18:08:29 -08:00
Alexey Neyman
c0cc73cd6f Install canadian crosses into a separate subdir.
Makes them sorted out by host, and removes the need for similar hack in
samples.mk.

Change how canadian crosses are named: using `=' character resulted in
Glibc build failure.

Move loading config into a common function, CT_LoadConfig.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-19 18:08:29 -08:00
Alexey Neyman
96ff82e9ec Linaro's 4.9 requires ISL 0.14 or older
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-17 17:23:31 -08:00
Alexey Neyman
6ea0700a68 Mark obsolete versions.
Keep one latest on each of 3.x, 4.x and 5.x versions.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-16 09:10:29 -08:00
Alexey Neyman
70f20b20ef Add mingw-w64 5.0.0/5.0.1.
Also, move 'devel' to the bottom - we don't want this ever-moving tag
to be default in the released product.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-16 09:10:29 -08:00
Alexey Neyman
ebf82e8215 Add versions 4.11..4.15 of strace.
Versions 4.13 and older marked as obsolete.
Identify the source of the patches 007..009.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-16 09:07:19 -08:00
Alexey Neyman
2b2c496f2a Merge pull request #536 from stilor/musl-update
Musl update to 1.1.16
2017-01-16 09:01:44 -08:00
Alexey Neyman
cc30c2c880 Merge pull request #533 from stilor/gdb-7.12
Gdb 7.12
2017-01-16 09:01:10 -08:00
Alexey Neyman
16a7f7bde7 Merge pull request #532 from stilor/expat-2.2
Add expat 2.1.1 and 2.2.0.
2017-01-16 09:01:00 -08:00
Alexey Neyman
130a2bc021 Add musl 1.1.16.
Patch we had for 1.0.4/1.1.5 is now upstream.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14 14:58:42 -08:00
Alexey Neyman
fb58775a46 Typo s/CC_BINUTILS/BINUTILS/.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:55:01 -08:00
Alexey Neyman
aa60275fdf Declare GDB 7.9 and older obsolete.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:53:47 -08:00
Alexey Neyman
7bc66a2ca2 Add uClibc-ng 1.0.21.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:47:28 -08:00
Alexey Neyman
d34a6bd8a0 GDB 7.12 needs c++.
Also, minor fixes in 300-gdb.sh

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:47:07 -08:00
Alexey Neyman
d7b313774e Add gdb 7.12.
Same patches apply; changed 101-uclibc-no-gettimeofday-clobber.patch -
modify configure.ac and regenerate configure (rather than modifying
the latter directly).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:47:07 -08:00
Alexey Neyman
ac9f361f8a Add expat 2.1.1 and 2.2.0.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:47:03 -08:00
Alexey Neyman
949cc86ab7 Merge pull request #526 from stilor/double-include
Avoid creating include/include
2017-01-13 21:44:33 -08:00
Alexey Neyman
cbb045ab33 Merge pull request #525 from stilor/linaro-download-location
Fix Linaro download locations
2017-01-13 09:53:27 -08:00
Alexey Neyman
5e0f715ea7 Add/update/remove Linaro versions.
Linaro GDB 7.2 no longer available from Linaro's website; removed.
Linaro GDB 7.5 had incorrect version (the tarball on linaro.org does
not have a -1 patch level).
Add/update latest versions on each (otherwise supported) branches of
GCC, GDB, binutils, glibc.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:41 -08:00
Alexey Neyman
168b5f8858 Add ISL 0.17.1 and 0.18.
GCC accepts them using the same check for "0.15 or newer", but since
they are not "officially recommended" by GCC installation guide,
mark them as experimental.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:28 -08:00
Alexey Neyman
ce8976fba1 Sort out ISL/CLooG dependencies.
Source-wise, both CLooG and GCC depend on ISL, and GCC may depend on
CLooG. However, GCC may or may not require CLooG (GCC5 dropped this
dependency). Also, all GCC4.x releases build fine with any of the CLooG
releases we have.

With all that in mind, it is easier to specify ISL dependency on
particular GCC releases; and CLooG dependency (if applicable) on ISL.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:28 -08:00
Alexey Neyman
01bae48719 Do not use sysroot in bare metal.
None of the bare metal C library choices (avr-libc, newlib) support
installing into sysroot. Nor does it make any sense, since sysroot
implies a file system, which in turn implies an OS.
2017-01-12 23:00:20 -08:00
Alexey Neyman
eff79ab714 Merge pull request #519 from InfernoEmbedded/newlib-enhancements
Newlib enhancements
2017-01-10 18:17:21 -08:00
Alexey Neyman
9f62ca8deb Select libintl from gettext we built.
Also, require gettext for NLS, and require iconv/ncurses for gettext.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alexey Neyman
8e7ac5fcd9 Change when libiconv/gettext are built.
Make them configurable, default to y when build!=host (i.e.
canadian or cross-native) because we don't know what libraries the host
will provide. GLIBC, as previously, selects them explicitly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alexey Neyman
874f4bd668 Disallow c++ for baremetal.
libstdc++ configure fails to find <stdio.h>.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alastair D'Silva
14896a2600 Support building Newlib with Link Time Optimisation
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-10 10:51:32 +11:00
Alastair D'Silva
2ac39621bc Add more newlib options 2017-01-10 09:47:35 +11:00
Alastair D'Silva
e427a6408f Remove GCC 6.2.0
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
36e8567167 Bump GCC to 6.3.0
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
93cbaa811b Add Newlib 2.4.0 & 2.5.0
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
92c33fe46d Bump binutils to 2.27
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
20e73c4f62 Bump ISL to 0.16.1
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
5651c56ec3 Bump MPFR to 3.1.5
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
3c981f9dc5 Bump GMP version to 6.1.2
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
5f5463053a Remove stray whitespace
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alexey Neyman
5c985041fd Kill CT_INSTALL_DIR.
We now use CT_PREFIX and expect the resulting toolchain to be relocatable.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-19 11:45:24 -08:00
Alexey Neyman
83d9e6a49a Kill dmalloc.
- No new releases in almost 10 year.
- No public bug tracker or VCS.
- No responses from maintainer over sent patches.

RIP, dmalloc.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-16 16:10:32 -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
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
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
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
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
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
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
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
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
b4efb5e519 Update kernel versions...
... to match those currently listed on kernel.org.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-18 13:33:52 -08:00
Thorsten Johannvorderbrueggen
18b5382e9c add support for gcc 4.9.4 2016-11-17 16:17:22 -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
762c511947 Merge pull request #387 from jserv/gettext-0_19_7
gettext: update to 0.19.7
2016-11-15 14:45:31 -08:00
Dmitry Pankratov
2cc9e68596 Merge remote-tracking branch 'upstream/master' 2016-11-13 09:10:34 +01:00
Joachim Nilsson
9b216274e5 glibc: Add glibc-2.24
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-11-12 19:49:26 +01:00
Dmitry Pankratov
fa9f2bda11 Requested changes by @stilor in the PR #368 review 2016-11-12 07:32:06 +01:00
Dmitry Pankratov
0d17d26005 Merge remote-tracking branch 'upstream/master' 2016-11-11 21:03:11 +01:00
Alexey Neyman
5ebbb52be0 Merge pull request #468 from dajamminyogesh/master
gcc: Updated gcc from 6.1.0 to 6.2.0
2016-11-10 20:10:05 -08:00
Yogesh Sharma
0bf97beb30 gcc: Updated gcc from 6.1.0 to 6.2.0
Signed-off-by: Yogesh Sharma <ysharm01@harris.com>
2016-10-31 14:29:25 -04:00
Alexey Neyman
91575d02c4 Merge branch 'master' into static-libgcc-more-fixes 2016-10-12 11:58:28 -07:00
Alexey Neyman
339b83c393 MINGW doesn't like libmpx either.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-07 10:35:57 -07:00
Alexey Neyman
1d43ed3151 Restore 1.0.17 and make 1.0.18 experimental.
1.0.18 changed the dependencies for the static libraries, notably
in libc/Makefile.in. This resulted in packing a lot of unrelated
stuff into libc.a, including (sic!) a nested .a library and stuff
from other libraries such as libdl. This results in a failure to
statically link with thus created libc.a:

.../libc.a(libdl.os):(.literal+0x74): undefined reference to `_dl_tlsdesc_return'

This was breaking xtensa-*-uclibc sample.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-05 15:23:40 -07:00
Alexey Neyman
1cb9253dd7 uClibc-ng pushes new releases faster than we merge them in!
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-04 17:48:28 -07:00
Alexey Neyman
8121be5b21 Fix m68k with uClibc-ng >= 1.0.15.
1.0.15 only kept a single LINUXTHREADS option, and renamed it, making it
no longer option-compatible with uClibc.

The option for "1.0.14 or later" version of uClibc-ng is not currently
used; rename it to "1.0.15 or later" and use it to handle newer
uClibc-ng's linuxthreads.

m68k happens to be the only sample using linuxthreads.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-04 17:47:15 -07:00
Alexey Neyman
03730997ae GC uClibc 1.0.14.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-04 17:47:15 -07:00
Alexey Neyman
f35c62daf0 Add uClibc-ng 1.0.17.
Also, support uClibc-ng in addToolVersion.sh

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-04 17:47:15 -07:00
Alexey Neyman
202ca9b7d4 Upgrade uClibc-ng to 1.0.14.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-04 17:47:15 -07:00
Dmitry Pankratov
34ca68e3b0 Merge branch 'master' of https://github.com/crosstool-ng/crosstool-ng 2016-10-01 22:43:56 +02:00
Alexey Neyman
651567ff90 Add a checkbox for libmpx build.
Disable libmpx for musl builds.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-09-22 17:01:43 -07:00
Bryan Hundven
290ae52db3 Merge pull request #441 from kozyilmaz/duma
duma: add SHARED_LIBS dependency for DUMA shared library option
2016-09-11 15:43:39 -07:00
kozyilmaz
2885b0ea2a duma: add SHARED_LIBS dependency for DUMA shared library option 2016-09-07 17:24:22 +03:00
Yogesh Sharma
4b4082785d musl: updated version to 1.1.15
Signed-off-by: Yogesh Sharma <ysharm01@harris.com>
2016-09-07 10:16:52 -04:00
Yogesh Sharma
a4a6f2305e gcc: Added 6.1.0 to version list
added gcc-6.1.0 to version list in kconfig

Signed-off-by: Yogesh Sharma <YogeshASharma@gmail.com>
2016-09-07 10:15:56 -04:00
kozyilmaz
deaa4b8ded xgcc: Update gcc 5 to 5.4.0
patches synced with buildroot trunk and:
110-xtensa-implement-trap-pattern.patch (copied to 5.4.0 patches)
130-build_gcc-5_with_gcc-6.patch (upstreamed in 5.4.0, dropped)
370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (copied to 5.4.0 patches)
380-gcc-plugin-POSIX-include-sys-select-h.patch (copied to 5.4.0 patches)
910-nios2-bad-multilib-default.patch (copied to 5.4.0 patches)
2016-08-24 11:33:24 +03:00
Bryan Hundven
19fdf86ab6 Merge pull request #402 from lundmar/fix_elf2flt_repo
Update elf2flt git repository location
2016-08-23 14:25:22 -07:00
Alexey Neyman
99dd2f6f60 mips: allow o32 ABI as default for multilib
... since n32 and n64 are going to get built as well.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
4ee22d66a8 uclibc: merge startfiles/final into single backend.
In preparation for multilib support, use the same "backend" model that
is already employed by glibc and musl.

Also, the verbosity setting descriptions were swapped. V=2 is actually
less verbose than V=1: V=1 prints full commands, while V=2 prints 'CC
<file> <defines>'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
f204cc8ec4 Spelling fixes.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
d58e740be8 glibc.sh: cleanups
- Dump CT_LIBC_EXTRA_CC_ARGS: instead, treat CT_LIBC_EXTRA_CFLAGS as
  arguments to CC (or they are not applied to .S, for example).
  Combine them with multi_flags and CT_TARGET_CFLAGS in proper order.
- Analyze thus combined flags to determine --with-fp/--without-fp.
  Don't need to check CT_ARCH_FLOAT - it is reflected in
  CT_TARGET_CFLAGS anyway. Check more soft/hard float options defined
  on different architectures.
- Drop checking for endianness flags: they are not reflected in
  configure arguments in any way, and they're already present in CFLAGS
  (either via multi_flags or via CT_TARGET_CFLAGS). Besides,
  CT_ARCH_ENDIAN_OPT was actually called CT_ARCH_ENDIAN_CFLAG, so this
  was a no-op anyway.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
82072d0cbc multilib: Determine which options may pass through.
On some arches (e.g. MIPS) the options like -mabi do not work if
specified more than once (see the comment in 100-gcc.sh). Therefore,
we need to determine which of the options produced by <arch>.sh can
be passed to multilib builds and which must be removed (i.e., which
options vary among the multilibs).

This presents a chicken-and-egg problem. GCC developers, in their
infinite wisdom, do not allow arbitrary multilib specification to be
supplied to GCC's configure. Instead, the target (and sometimes some
extra options) determine the set of multilibs - which may include
different CPUs, different ABIs, different endianness, different FPUs,
different floating-point ABIs, ... That is, we don't know which parts
vary until we build GCC and ask it.

So, the solution implemented here is:
- For multilib builds, start with empty CT_ARCH_TARGET_CFLAGS/LDFLAGS.
- For multilib builds, require core pass 1. Pass 1 does not build any
  target binaries, so at that point, our target options have not been
  used yet.
- Provide an API to modify the environment variables for the steps that
  follow the current one.
- As a part of multilib-related housekeeping, determine the variable
  part of multilibs and filter out these options; pass the rest into
  CT_TARGET_CFLAGS/LDFLAGS.

This still does not handle extra dependencies between GCC options (like
-ma implying -mcpu=X -mtune=Y, etc.) but I feel that would complicate
matters too much. Let's leave this until there's a compelling case for
it.

Also, query GCC's sysroot suffix for targets that use it (SuperH,
for example) - the default multilib may not work if the command line
specifies the default option explicitly (%sysroot_suffix_spec is not
aware of multilib defaults).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Dmitry Pankratov
91b8280e8c Merge remote-tracking branch 'upstream/master' 2016-06-18 16:02:15 +02:00