CI in #31 revealed, that gcc-newlib-sh-linux step is failing (run#3651807217).
There seems to a problem with duplicate _errno symbols (see line 65617 of logs).
Here it is cleaned up a little bit:
$PREFIX/sh-elf/bin/ld:
$PREFIX/sh-elf/lib/libc.a(lib_a-syscalls.o):(.bss+0x0): multiple definition of `_errno';
$PREFIX/sh-elf/lib/libc.a(lib_a-reent.o):(.bss+0x0): first defined here
Below is a comparison of *_errno symbols in newlib libc compiled with GCC 9.2 and GCC 10.1:
$ # GCC 9.2
$ sh-elf-nm -g sh-elf/lib/libc.a | grep _errno | sort | uniq -c
20 U ___errno
17 U _errno
1 00000000 T ___errno
2 00000004 C _errno
$ # GCC 10.1
$ sh-elf-nm -g sh-elf/lib/libc.a | grep _errno | sort | uniq -c
20 U ___errno
17 U _errno
2 00000000 B _errno
1 00000000 T ___errno
Looks like _errnos are in BSS and not in COMMON section.
I'm pretty confident, that this is a reason: https://wiki.gentoo.org/wiki/Project:Toolchain/Gcc_10_porting_notes/fno_common
Although neither adding CFLAGS=-fcommon in make call or before configure seems to help.
For this reason we skip the gcc-sh-elf-newlib-linux for now, but it needs to be repaired.
CI in #31 revealed, that
gcc-newlib-sh-linuxstep is failing (run#3651807217).There seems to a problem with duplicate
_errnosymbols (see line 65617 of logs).Here it is cleaned up a little bit:
Below is a comparison of
*_errnosymbols in newlib libc compiled with GCC 9.2 and GCC 10.1:Looks like
_errnos are in BSS and not in COMMON section.I'm pretty confident, that this is a reason: https://wiki.gentoo.org/wiki/Project:Toolchain/Gcc_10_porting_notes/fno_common
Although neither adding
CFLAGS=-fcommoninmakecall or beforeconfigureseems to help.For this reason we skip the
gcc-sh-elf-newlib-linuxfor now, but it needs to be repaired.