Age | Commit message (Collapse) | Author | Files | Lines |
|
This commit updates the GDB build script to specify `-static-libgcc`
when `CT_GDB_NATIVE_STATIC_LIBSTDCXX` is enabled. Both libgcc and
libstdc++ are considered to be part of the "standard libraries," and
should be specified by the same flag (the configuration symbol could
potentially use a better name and/or further indirection).
This also semantically aligns the `CT_GDB_NATIVE_STATIC_LIBSTDCXX`
with the equivalent GCC configuration `CT_CC_GCC_STATIC_LIBSTDCXX`,
which also enables static linking of both libgcc and libstdc++.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
|
|
This commit fixes an incorrect reference to the configuration
`CT_GDB_NATIVE_STATIC_LIBSTDCXX` in the GDB build script.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
|
|
... so that it is saved/restored when restarting the build.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
... resulted in an attempt to build libinproctrace.so whenever any
of the {gdbserver, native gdb} was enabled.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
... when it is compiled without the native GDB.
Also, fix the gdbserver to be installed without a program prefix in this
case, as it was before the unification of the GDB backend.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
Also, fix the subdir used when only gdbserver is built (without native
GDB).
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
... needed to create a common runtime test for an incompatible change
in glibc API.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
- Force building make as a companion tool if host make is older than
4.0 (CentOS 7 currently has 3.82)
- Disable 2.29 as a choice if host python is older than 3.4
(CentOS 7 has 2.6 unless python from EPEL is installed)
- Python2 emits its version information to STDERR. Ugh.
While there, also use the detected host Python for GDB configuration.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
These config variables are documented as such anyway.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
https://github.com/crosstool-ng/crosstool-ng/issues/712#issuecomment-300891861
|
|
There is a subtle difference when executable bit is a part of the umask.
And at least some versions (Debian/stretch) fail if the resulting mode
would've been different if not for the umask setting.
Fixes #998.
Although, with such chmods/umasks it is likely that some package installation
will break anyway. But I'll leave it until somebody complains.
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>
|
|
(whether GDB has --disable-build-with-cxx) and use it.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
Build flags are scalar variables.
Signed-off-by: Sergey Korolev <s.korolev@ndmsystems.com>
|
|
Fix variables passing to gdb configure scripts
|
|
These changes mainly fix static linking errors when building static
native gdb and gdbserver (tested with gcc 7.2.0 + uClibc-ng 1.0.27 +
binutils 2.29.1 for MIPS):
[ALL ] .../lib/libstdc++.a(eh_throw.o): In function `__cxa_throw':
[ALL ] (.text.__cxa_throw+0x64): undefined reference to `_Unwind_RaiseException'
[ALL ] (.text.__cxa_throw+0x6c): undefined reference to `_Unwind_RaiseException'
[ALL ] .../lib/libstdc++.a(eh_throw.o): In function `__cxa_rethrow':
[ALL ] (.text.__cxa_rethrow+0x78): undefined reference to `_Unwind_Resume_or_Rethrow'
[ALL ] (.text.__cxa_rethrow+0x80): undefined reference to `_Unwind_Resume_or_Rethrow'
...
The problem is in mixing of CPP, CC, CXX, and LD with CPPFLAGS, CFLAGS,
CXXFLAGS, and LDFLAGS before passing to configure scripts.
gcc is sensitive to argument order and the scripts are normally responsible
to combine the variables in a proper way.
Signed-off-by: Sergey Korolev <s.korolev@ndmsystems.com>
|
|
Signed-off-by: Sergey Korolev <s.korolev@ndmsystems.com>
|
|
... when using musl to compile strace.
Also, honor CT_TARGET_CFLAGS in scripts compiling target libs/binaries.
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>
|
|
Also, remove resolved TBDs.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
|
|
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
... which now requires C++.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
Check for python2/python3 and if found, pass them to --with-python.
Allow user to override the choice via a new config option. This
fixes systems where there is no "python", only "python2" or "python3".
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
It picks up gettext string and results in [ERROR] messages from ct-ng
when gettext strings happen inside an error() call.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
This reverts commit 7bcf18bfab84374d3305c7a088f95ac1219ddf93.
|
|
... 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>
|
|
Require BFD linker if building for flat format
|
|
... when building native GDB/gdbserver.
Suggested by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
If GDB is turned off, the script will not be even sourced. Otherwise,
if GDB checkbox is set but none of the cross/native/gdbserver are
selected, debug.sh gives a bogus error message.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
... as its help message says in menuconfig.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
Also, minor fixes in 300-gdb.sh
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>
|
|
Warning causes gdb's configure to not detect <limit.h> declarations
of LONG_MIN/MAX.
Found-by: Kirill Smirnov <kirill.k.smirnov@gmail.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
debug/gdb: properly link with expat
|
|
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>
|
|
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>
|
|
The necessity of --without-libexpat-prefix is not
obvious and needs comments.
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
|
|
This patch fixes libexpat detection for gdb-native and
gdb-cross static builds.
For gdb-native build configure should not touch system
/usr/{lib,include} directories while looking for libexpat.
To fix this we pass --without-libexpat-prefix flag
to configure script.
For gdb-cross build configure is allowed to investigate
system /usr/{lib,include} directories, but it does not
hurt to disable this behavior. In this case configure
falls back to -lexpat, which works as expected.
For more info:
http://marc.info/?l=gnulib-bug&m=129660262901148&w=2
Signed-off-by: Kirill Smirnov <kirill.k.smirnov@gmail.com>
|
|
Previous fix for cross-gdb broke powerpc-unknown_nofpu-linux-gnu which
uses an old GDB (6.8a). That GDB's configure chokes on $CC values with
multiple consecutive spaces; see the comment in 300-gdb.sh.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
GDB's configure mishandles the libexpat.{so,a} libraries when it is
given -static in CFLAGS AND --with-libexpat-prefix in configure's args:
it checks for <prefix>/lib/libexpat.so and finding that, attempts to
link it as `gcc -static .. conftest.c <prefix>/lib/libexpat.so`; this
obviously fails (.so cannot be statically linked), so configure assumes
libexpat is unusable. Thus, --with-libexpat-prefix is dangerous and
should be avoided; instead, configure should find the libraries via the
supplied CC/LD definitions.
|
|
We indent by multiples of 4.
This change cleans up whitespace in offending files.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
|
|
This commit updates the build scripts to match the new usage of
CT_GetCustom from the previous change.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
|
|
When building from:
{git,http}://sourceware.org/git/binutils-gdb.git
and setting BINUTILS_CUSTOM or GDB_CUSTOM, they could be the same
source.
These config options should not affect normal released versions.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
|
|
We check for apps:
* make
* sed
* grep
* awk
* libtool/libtoolize
* install
* patch
* and more
...during configure. Our scripts should be consistent about using the
variables that define where the found tool was found.
Of course, we do hard-link these tools in buildtools, but that should be
a backup for the components we are building. Our scripts should always
use the tools we find.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
|
|
Now that expat/curses have migrated into separate script, no need for
do_debug_gdb_parts() and need_gdb_src checks.
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
Then re-enable cross-gdb for nios2-spico-elf sample, previously
disabled.
|
|
Currently, builds for build and target (matching the current
implementation). Need to add building for host for canadian crosses.
TIC_PATH is removed - configure in ncurses searches $PATH, so it finds
'tic' in buildtools anyway. Arguably unneeded code for MacOS also
removed, with a FIXME comment for validation by someone using MacOS.
Signed-off-by: Alexey Neyman <stilor@att.net>
|