You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
@mithro No, I've never seen this error before, and I would expect adding -fcommon to CFLAGS would fix it. This might require a dive into the autotools machinery to figure out why -fcommon isn't being honored.
Did you do a make distclean before adding the new flags?
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:
Below is a comparison of
*_errno
symbols in newlib libc compiled with GCC 9.2 and GCC 10.1:Looks like
_errno
s 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
inmake
call or beforeconfigure
seems to help.For this reason we skip the
gcc-sh-elf-newlib-linux
for now, but it needs to be repaired.The text was updated successfully, but these errors were encountered: