If static cross GDB configuration is selected, cross GDB will be linked
statically with std c++ library, because there is no separate option for
static std c++ library for cross GDB.
The use of not existing variable CT_GDB_NATIVE_STATIC_LIBSTDC has been
replaced with CT_GDB_NATIVE_STATIC_LIBSTDCXX.
Signed-off-by: Maksim Morozov <maxim.morozov.a@gmail.com>
Use a relative path for include directory if gdb or gdbserver
is being built and installed for a target. Otherwise headers
are installed in ${destdir}${CT_HEADERS_DIR} - a concatenation
of ${destdir} and an absolute path to sysroot's include directory.
As a result debug-root may contain wrong paths for includes.
Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
isl-0.26 moves some header includes around so now if we want
isl_val_free we need to include isl/val.h. Otherwise we get errors such
as
src/gcc/gcc/graphite-isl-ast-to-gimple.c: In member function 'tree_node* translate_isl_ast_to_gimple::gcc_expression_from_isl_expr_int(tree, isl_ast_expr*)':
src/gcc/gcc/graphite-isl-ast-to-gimple.c:349:3: error: 'isl_val_free' was not declared in this scope; did you mean 'isl_vec_free'?
349 | isl_val_free (val);
| ^~~~~~~~~~~~
| isl_vec_free
Bring in an upstream fix that uses the correct header file.
Fixes#1962
Signed-off-by: Chris Packham <judge.packham@gmail.com>
These versions were present in crosstool-ng 1.25.0 so as per current
policy mark them as obsolete so they can be dropped after the next
release.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
It's necessary for building native GDB 13+. It depends
on MPFR but it hasn't presented in scripts yet for building
for target.
Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
Variable native_extra_config must be used for configuration
options instead for extra_config for native GDB.
Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
On systems that lack pread64() (e.g. musl) the following build error is
observed.
src/gdb/gdbserver/linux-low.cc:5393:45: error: expected ':' before ')' token
src/gdb/gdbserver/linux-low.cc:5393:45: error: expected primary-expression before ')' token
src/gdb/gdbserver/linux-low.cc:5393:45: error: expected ':' before ')' token
src/gdb/gdbserver/linux-low.cc:5393:45: error: expected primary-expression before ')' token
Bring in the upstream fix for this error.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Depending on the host C++ compiler GCC13 fails on riscv configurations
with the following error
src/gcc/gcc/config/riscv/genrvv-type-indexer.cc:118:30: error: no member named 'log2' in namespace 'std'; did you mean simply 'log2'?
elmul_log2 = lmul_log2 - std::log2 (sew / eew);
^~~~~~~~~
log2
/usr/include/c++/v1/math.h:1463:1: note: 'log2' declared here
log2(_A1 __lcpp_x) _NOEXCEPT {return ::log2((double)__lcpp_x);}
^
Bring in an upstream fix for the build error.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
GCC13 picks up some new errors on older glibc versions. Disable -Werror
automatically when these combinations are selected.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Currently uclibc configurations fail to build with GCC13
src/gcc/libstdc++-v3/src/c++17/floating_from_chars.cc: In function 'std::from_chars_result std::from_chars(const char*, const char*, _Float128&, chars_format)':
src/gcc/libstdc++-v3/src/c++17/floating_from_chars.cc:1281:10: error: 'from_chars_strtod' was not declared in this scope
1281 | return from_chars_strtod(first, last, value, fmt);
| ^~~~~~~~~~~~~~~~~
make[6]: *** [Makefile:587: floating_from_chars.lo] Error 1
make[6]: *** Waiting for unfinished jobs....
For now require GCC older than 13 when using uclibc.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Old options %(newlib_nano_link) for the linker must be passed
otherwise linking may fail. E.g., in case of multilib
configurations a correct emulation mode may be not passed.
Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
Run the patches through
./maintainer/manage-packages.sh -P -s gcc-12.2.0
to mop up the fact that we'd ended up with two 0005 patches.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Changes:
- fix inherited overloaded methods in Python bindings
- decompose topological sort of clusters in incremental scheduler
- improved isl_pw_aff_list_{min,max}
- add some convenience functions
- more exports to (templated C++) bindings
- slightly improved conversion from binary relation to function
https://repo.or.cz/isl.git/shortlog/?qt=range&q=isl-0.25..isl-0.26
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Picolibc now lets you configure the default memory layout used in the
default linker script. Add values to the sample arm-picolibc-eabi
configuration that sets values appropriate for typical cortex m
processors run under qemu.
Signed-off-by: Keith Packard <keithp@keithp.com>
These values are used when constructing the default linker scripts
used with picolibc. Setting reasonable defaults allows simple test
applications to be compiled without additional configuration.
Signed-off-by: Keith Packard <keithp@keithp.com>
GCC's libsanitizer module does provide a subset of support for x86
targets (e.g. libasan). GCC's `libsanitizer/configure.tgt` file only
outlines flags for optional sanitizers.
Signed-off-by: James Knight <james.d.knight@live.com>
As mentioned in #1908, we should have patches that are experimental
under the CT_EXPERIMENTAL option. This an experimental patch to gcc:
https://gcc.gnu.org/pipermail/gcc-patches/2022-August/600452.html
And since it may affect production toolchains, we should move this patch
to the experimental bundled patches introduced in the previous commit.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
This adds 3 new options to patch order:
* bundled + bundled_exp
* bundled + bundled_exp + local
* local + bundled + bundled_exp
The path for bundled experimental patches is: ${CT_LIB_DIR}/packages/${pkg_dir}/experimental
and patches that are still being reviewed, but not yet applied upstream
may be toggled with ENABLE_EXPERIMENTAL_BUNDLED_PATCHES.
Also fix modelines for editors on bootstrap and scripts/functions, and
fix mix whitespace in scripts/functions.
Closes: #1916
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
This adds backports of a couple of patches necessary to support macOS
arm64 hosts for gcc. It was ported from
https://github.com/richfelker/musl-cross-make/pull/129 with some small
fixups to make the patches apply cleanly.
Signed-off-by: Steven Fackler <sfackler@gmail.com>
We don't have a x86_64-pc-linux-gnu sample but we do have a
x86_64-unknown-linux-gnu. Rename the picolibc canadian config
accordingly.
Fixes: #1909
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The arm-picolibc-eabi build runs out of space on the macos makers
because of all the multilib permutations. For now disable the
macos,arm-picolibc-eabi combination until we can think of something
better.
Signed-off-by: Chris Packham <judge.packham@gmail.com>