https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107125
Bug ID: 107125
Summary: libobjc fails to build on arc-linux-gnu
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: doko at gcc dot gnu.org
Target Milestone: ---
seen with trunk 20221001 on arc-linux-gnu:
first, config/arc/arc-arch.h uses NULL, but doesn't include stddef.h
then linking of libobjc fails with:
libtool: link: /home/packages/cross/12/p/gcc-cross-ports/gcc/build/./gcc/xgcc
-B/home/packages/cross/12/p/gcc-cross-ports/gcc/build/./gcc/ -B/usr/ar
c-linux-gnu/bin/ -B/usr/arc-linux-gnu/lib/ -isystem /usr/arc-linux-gnu/include
-isystem /usr/arc-linux-gnu/sys-include -isystem /home/packages/cross
/12/p/gcc-cross-ports/gcc/build/sys-include -shared -fPIC -DPIC
.libs/NXConstStr.o .libs/Object.o .libs/Protocol.o .libs/accessors.o .libs/link
ing.o .libs/class.o .libs/encoding.o .libs/error.o .libs/gc.o .libs/hash.o
.libs/init.o .libs/ivars.o .libs/memory.o .libs/methods.o .libs/nil_metho
d.o .libs/objc-foreach.o .libs/objc-sync.o .libs/objects.o .libs/protocols.o
.libs/sarray.o .libs/selector.o .libs/sendmsg.o .libs/thr.o .libs/excep
tion.o -shared-libgcc -Wl,-z -Wl,relro -Wl,-soname -Wl,libobjc.so.4 -o
.libs/libobjc.so.4.0.0
checking whether the target supports thread-local storage...
/usr/arc-linux-gnu/bin/ld: config.status: executing libtool commands
.libs/thr.o:/home/packages/cross/12/p/gcc-cross-ports/gcc/src/libobjc/../gcc/config/arc/arc-arch.h:130:
multiple definition of `arc_cpu_types'; .lib
s/encoding.o:/home/packages/cross/12/p/gcc-cross-ports/gcc/src/libobjc/../gcc/config/arc/arc-arch.h:130:
first defined here
/usr/arc-linux-gnu/bin/ld:
.libs/thr.o:/home/packages/cross/12/p/gcc-cross-ports/gcc/src/libobjc/../gcc/config/arc/arc-arch.h:120:
multiple definiti
on of `arc_arch_types';
.libs/encoding.o:/home/packages/cross/12/p/gcc-cross-ports/gcc/src/libobjc/../gcc/config/arc/arc-arch.h:120:
first defined h
ere
so better move these vars to a .c file, don't keep them in the header.