Hi, I tried to cross compile latest armv7 src and I experienced a few problems.
Maybe I was doing something wrong or maybe the patch will make sense - below are the changes I had to apply to make it build calling: make -f Makefile.cross TARGET=... CROSSDIR=... cross-dirs make -f Makefile.cross TARGET=... CROSSDIR=... cross-tools make -f Makefile.cross TARGET=... CROSSDIR=... cross-distrib Unfortunately, its completely untested - I dont have any supported armv7 board yet but Ill try to get one. The first issue was: ===> ld.so/ldconfig /home/krle/devel/OpenBSD/build/dest.armv7/usr/arm-unknown-openbsd7.4/bin/cc -static -pie -o ldconfig ldconfig.o shlib.o etc.o sod.o ldconfig_path.o arm-unknown-openbsd7.4-ld: error: duplicate symbol: __umodsi3 >>> defined at umodsi3.S:32 >>> (/home/krle/devel/OpenBSD/src/gnu/lib/libcompiler_rt/../../llvm/compiler-rt/lib/builtins/arm/umodsi3.S:32) >>> umodsi3.o:(__umodsi3) in archive >>> /home/krle/devel/OpenBSD/build/dest.armv7/usr/lib/libcompiler_rt.a >>> defined at divsi3.S:26 >>> (/home/krle/devel/OpenBSD/src/lib/libc/arch/arm/gen/divsi3.S:26) >>> divsi3.o:(.text+0x0) in archive >>> /home/krle/devel/OpenBSD/build/dest.armv7/usr/lib/libc.a arm-unknown-openbsd7.4-ld: error: duplicate symbol: __modsi3 >>> defined at modsi3.S:41 >>> (/home/krle/devel/OpenBSD/src/gnu/lib/libcompiler_rt/../../llvm/compiler-rt/lib/builtins/arm/modsi3.S:41) >>> modsi3.o:(__modsi3) in archive >>> /home/krle/devel/OpenBSD/build/dest.armv7/usr/lib/libcompiler_rt.a >>> defined at divsi3.S:35 >>> (/home/krle/devel/OpenBSD/src/lib/libc/arch/arm/gen/divsi3.S:35) >>> divsi3.o:(.text+0x18) in archive >>> /home/krle/devel/OpenBSD/build/dest.armv7/usr/lib/libc.a arm-unknown-openbsd7: error: linker command failed with exit code 1 (use -v to see invocation) *** Error 1 in libexec/ld.so/ldconfig (<bsd.prog.mk>:126 'ldconfig') *** Error 2 in libexec/ld.so (<bsd.subdir.mk>:48 'all') *** Error 2 in libexec (<bsd.subdir.mk>:48 'all') *** Error 2 in /home/krle/devel/OpenBSD/src (Makefile.cross:373 'cross-bin') The other was a linker issue - linking against host platform libraries. Probably wont even show up if platform and target match. LDADD was used where DPADD should be used? Maybe it should go to tech@ but Id like to verify the issue exists at all and its not PEBCAK case. BR, -- Krystian Lewandowski Index: gnu/lib/libcompiler_rt/Makefile =================================================================== RCS file: /cvs/src/gnu/lib/libcompiler_rt/Makefile,v retrieving revision 1.6 diff -u -p -r1.6 Makefile --- gnu/lib/libcompiler_rt/Makefile 28 Dec 2021 15:45:17 -0000 1.6 +++ gnu/lib/libcompiler_rt/Makefile 21 Jan 2024 17:44:53 -0000 @@ -96,7 +96,6 @@ GEN_SRCS= absvdi2 \ lshrdi3 \ lshrti3 \ moddi3 \ - modsi3 \ modti3 \ muldc3 \ muldi3 \ @@ -142,7 +141,6 @@ GEN_SRCS= absvdi2 \ udivmodti4 \ udivti3 \ umoddi3 \ - umodsi3 \ umodti3 .if ${RTARCH} != "arm" @@ -160,12 +158,14 @@ GEN_SRCS+= adddf3 \ fixunssfdi \ floatsidf \ floatsisf \ + modsi3 \ muldf3 \ mulsf3 \ subdf3 \ subsf3 \ truncdfsf2 \ - udivsi3 + udivsi3 \ + umodsi3 .endif .if ${RTARCH} == "i386" Index: usr.sbin/radiusd/radiusd_bsdauth/Makefile =================================================================== RCS file: /cvs/src/usr.sbin/radiusd/radiusd_bsdauth/Makefile,v retrieving revision 1.1 diff -u -p -r1.1 Makefile --- usr.sbin/radiusd/radiusd_bsdauth/Makefile 21 Jul 2015 04:06:04 -0000 1.1 +++ usr.sbin/radiusd/radiusd_bsdauth/Makefile 21 Jan 2024 17:45:08 -0000 @@ -3,7 +3,7 @@ PROG= radiusd_bsdauth BINDIR= /usr/libexec/radiusd SRCS= radiusd_bsdauth.c radiusd_module.c imsg_subr.c LDADD+= -lradius -lcrypto -lutil -LDADD+= ${LIBRADIUS} ${LIBCRYPTO} ${LIBUTIL} +DPADD= ${LIBRADIUS} ${LIBCRYPTO} ${LIBUTIL} NOMAN= # .include <bsd.prog.mk> Index: usr.sbin/radiusd/radiusd_radius/Makefile =================================================================== RCS file: /cvs/src/usr.sbin/radiusd/radiusd_radius/Makefile,v retrieving revision 1.1 diff -u -p -r1.1 Makefile --- usr.sbin/radiusd/radiusd_radius/Makefile 21 Jul 2015 04:06:04 -0000 1.1 +++ usr.sbin/radiusd/radiusd_radius/Makefile 21 Jan 2024 17:45:08 -0000 @@ -4,7 +4,7 @@ BINDIR= /usr/libexec/radiusd SRCS= radiusd_radius.c radiusd_module.c util.c imsg_subr.c log.c CFLAGS+= -DUSE_LIBEVENT LDADD+= -lradius -lcrypto -lutil -levent -LDADD+= ${LIBRADIUS} ${LIBCRYPTO} ${LIBUTIL} ${LIBEVENT} +DPADD+= ${LIBRADIUS} ${LIBCRYPTO} ${LIBUTIL} ${LIBEVENT} NOMAN= # .include <bsd.prog.mk>