| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\
| |
| | |
Use the platform headers in the pass-2 and canadian gcc stages
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
... as 1.0 and 99.99, respectively, to gcc configure.
Fixes #1031.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|/
|
|
|
|
| |
... as it may need to override them for building runtime-selectable code.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
| |
This fixes gccs LIMITS_H_TEST detection for baremetal targets
so limits.h will be installed correctly.
Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
|
|
|
|
|
|
| |
Fixes #611.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
| |
Also, preserve .config when running test-package.sh.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some users (like myself) may want to omit the crosstool-NG version
from the binaries' versioning output, as it can be incredibly long
and not too helpful. Add a config option to disable it. The possible
combinations are as follows:
- crosstool-NG version (default)
- crosstool-NG version - custom toolchain ID
- Custom toolchain ID
- No crosstool-NG version OR custom toolchain ID
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
|
|
|
|
|
|
|
| |
While here, also consider patched by anything other than "bundled patches"
as per-target sources. Add scary warnings in case of a failure.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
| |
... and limit our modifications to our variables.
Fixes #762.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
| |
Fixes #789
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
| |
... because there the symbols were constructer part by part.
Also, remove cc.sh and source $(CT_CC).sh directly - we only build
a single compiler at a time.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
| |
(fails at building GMP off the VCS because it needs to run bootstrap scripts)
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
|
|
| |
Make this behavior default in case the core gcc backend is used
for final compiler (i.e., for baremetal configurations). Not
setting this option breaks canadian baremetal configurations,
and not setting it makes little sense at all in any baremetal
configuration (since in baremetal we don't have any libc to begin
with).
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
|
|
| |
(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>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out buildroot does not currently accept a toolchain where a dynamic
linker does not reside in the multi-os-directory. Unfortunately this is
how glibc installs itself on AArch64 without any extra tricks.
So, provide an option to force everything into /lib or /usr/lib; patch to
buildroot will be worked on separately.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
| |
Also a fix for CT_IterateMultilibs: it didn't pass multi_os_dir_gcc, so
it only worked if the caller did *not* declare it as a local variable.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
| |
If libc ended up in a directory other than /lib, place GCC's libs
in that directory as well.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
| |
I.e., only to CFLAGS_FOR_BUILD if the build is canadian.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
| |
This reverts commit 7bcf18bfab84374d3305c7a088f95ac1219ddf93.
|
|
|
|
|
|
|
| |
Adding new tristate configuration for TLS (Thread Local Storage) to
add "--enable-tls" (y), "--disable-tls" (n) or nothing (m).
Signed-off-by: Jasmin Jessich <jasmin@anw.at>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
| |
Loading a dynamic library (LTO plugin) from a static binary fails
on ArchLinux. It is also prone to break if a system is ever upgraded.
Also, disable plugins if not enabled explicitly.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
| |
... on all supported versions.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... and then use the right option. See the note in scripts/functions
on where we should use ${foo} and where just 'foo'; this boils down to
whether we can expect the build tools override to be in effect (e.g. in
the actual build scripts) or not (i.e. outside of scripts/build).
While running in scripts/functions, or in scripts/crosstool-NG.sh the
build tools override directory (.build/tools/bin) may have not been
set up (yet, or at all).
Also, modify the installed scripts (populate, xldd) accordingly.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
| |
... as its help message says in menuconfig.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|\
| |
| | |
Restore copying headers for gcc_build
|
| |
| |
| |
| |
| |
| | |
Only needed in canadian configurations to build libstdc++.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|/
|
|
|
|
| |
... when refering to target's compiler.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|\
| |
| | |
Avoid creating include/include
|
| |
| |
| |
| | |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|/
|
|
|
|
| |
Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
| |
Also, require gettext for NLS, and require iconv/ncurses for gettext.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
| |
There is no such option so the check is always true.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
| |
This is needed for callbacks that use that directory to look inside
GCC internal directories, e.g. moving the libraries. This broke
when I made libexpat for target honor ${CT_SHARED_LIBS}.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
|
|
| |
1. Check if anything was installed outside sysroot; on some [baremetal only?]
configurations GCC doesn't install anything to ${CT_PREFIX_DIR}/${CT_TARGET}/lib.
2. We need to create <sysroot>/lib/<multilib> if it doesn't exist
(MUSL only installs in <sysroot>/usr/lib).
3. Do not move the linker scripts; elf2flt expects to find them
in gcc's dir, not sysroot.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|\ |
|
| |
| |
| |
| | |
Signed-off-by: Alexey Neyman <stilor@att.net>
|
| |
| |
| |
| |
| |
| |
| | |
After building final gcc, place the libraries in non-sysroot libs
into sysroot.
Signed-off-by: Alexey Neyman <stilor@att.net>
|