When building libstd++ toolchain should not use includes from newlib
because it places __getreent calls into the lib. So, it's definitely
wrong
This change is a continuation of the commit:
046d9480 crosstool-ng: fix libstdc++ configuration for canadian builds
libstdc++-v3/configure script can't find crt0.o to compile executable.
After this it attempts to verify if libc features are enabled using only
preprocessing, leading to false-positive results.
This problem appeared only for canadian builds.
https://github.com/crosstool-ng/crosstool-ng/issues/2110
moxie-unknown-moxiebox has problems building with newlib 4.3
ld: /lib/libc.a(libc_a-closer.o): in function `_close_r':
newlib/libc/reent/closer.c:47: undefined reference to `_close'
There are some Makefile changes in newlib 4.3 and it's likely previously
this config was picking up `_close` from libsim.a. For now just pin the
newlib version back to 4.2 in the moxie-unknown-moxiebox config.
Resolves#2036
Signed-off-by: Chris Packham <judge.packham@gmail.com>
https://www.mpfr.org/mpfr-4.2.1/
This fixes compatibility issues with hosts using newer glibc (>=2.37).
Fixes#2017, #2029
Signed-off-by: Chris Packham <judge.packham@gmail.com>
A toolchain uclibc-ng-1.0.43, binutils-2.40 and gcc-13.2.0 hits the
following error when building:
ld.bfd: isl_test2.o: non-canonical reference to canonical protected function `__pthread_key_create' in x86_64-multilib-linux-uclibc/sysroot/lib64/libc.so.1
ld.bfd: failed to set dynamic section sizes: bad value
The reference comes from libgcc where it is using the
__pthread_key_create() symbol to detect the use of pthreads with GNU
libc. Prevent this on uclibc-ng with an explicit condition.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111322
Signed-off-by: Chris Packham <judge.packham@gmail.com>
NEWLIB_GLOBAL_ATEXIT needs to be set to y for modern newlib versions.
Commit 227d99d7 ("newlib: add 4.3.0.20230120") ensured this was done.
But xtensa-fsf-elf uses a newlib version from before this so it needs to
explicitly opt out.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
glibc-2.28 complains:
configure: error: use a compatible toolchain or configure with --disable-mathvec (this results in incomplete ABI).
Apparently this is a problem in the way GCC passes the -mcpu and -march
values to the assembler. As a workaround have the configure check pass
-mcpu as well to override anything we're passing in the environment.
Patch and explanation taken from the Yocto project with thanks.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
CC_CC_GCC_ENABLE_DEFAULT_PIE=n is invalid Kconfig syntax for an option
that was intentionally disabled the saved config would be
'# CC_CC_GCC_ENABLE_DEFAULT_PIE is not set'
but the DEFAULT_PIE option isn't selectable for RISCV && BARE_METAL so
the correct thing to do is just remove the config.
This also picks up a change regenerating the saved sample due to changes
in the Kconfig ordering.
Fixes#2019
Signed-off-by: Chris Packham <judge.packham@gmail.com>
As of glibc-2.38 libcrypt is not built by default. Add an option to
allow building libcrypt support into glibc.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
The folder 'packages' is processed in bootstrap, so there is no
need to process it again in Makefile.
This fixes a regression introduced in eb62ec3fbe3982f5f16561675fd0820d4313a0b4
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
libsanitizer has problems intercepting crypt() and crypt_r() with newer
glibcs. Bring in an upstream patch that drops support for these from
ASAN.
d7bead8336https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111057Fixes#2010
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Due to the small flash space on AVR devices the library containing the
standard types in C++ (ˋlibstdc++ˋ) does not get built normally when
enabling the C++ language support.
This option is an easy way to go back to the PC-way where ˋlibstdc++ˋ is
built.
Signed-off-by: Quentin Boswank <qubos@outlook.de>
This reverts commit 5427dac45c12f6be8e3fca7bc38b9abcebb4ec87. The issues
that were causing this have been resolved with some updates so allow the
uclibc+gcc13 combination again.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Disable CT_GLIBC_ENABLE_DEBUG to hopefully make the toolchains use less
disk-space on the free-tier github action runners.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
On canadian cross build-gcc reports its version as '13-win32'.
ncurses >=6.3 correctly interprets this line as '13', but older
ncurses versions fail and jump into wrong conclusions.
Let's cherry-pick related changes from mainline ncurses.
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>