The patch below adds explicit -lm when libshell.a is used to link an 
executable. This unbreaks the build on armv7. Building on amd64 succeeded 
as well, with no change in ldd output for ksh or shcomp.

Index: patches/patch-src_cmd_ksh93_Mamfile
===================================================================
RCS file: patches/patch-src_cmd_ksh93_Mamfile
diff -N patches/patch-src_cmd_ksh93_Mamfile
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_cmd_ksh93_Mamfile 26 Apr 2018 14:48:11 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: src/cmd/ksh93/Mamfile
+--- src/cmd/ksh93/Mamfile.orig
++++ src/cmd/ksh93/Mamfile
+@@ -1337,7 +1337,7 @@ prev +ljobs
+ prev +li
+ prev ${mam_libsocket}
+ prev ${mam_libsecdb}
+-exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} 
${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o ksh pmain.o ${mam_libshell} 
${mam_libnsl} ${mam_libast}
++exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} 
${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o ksh pmain.o ${mam_libshell} 
${mam_libnsl} ${mam_libast} -lm
+ done ksh generated
+ make shcomp
+ make shcomp.o
+@@ -1361,7 +1361,7 @@ prev ${mam_libsocket}
+ prev ${mam_libsecdb}
+ setv CC.DLL -UCC.DLL
+ setv SH_DICT -DSH_DICT="\"libshell\""
+-exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} 
${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o shcomp shcomp.o 
${mam_libshell} ${mam_libnsl} ${mam_libast}
++exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} 
${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o shcomp shcomp.o 
${mam_libshell} ${mam_libnsl} ${mam_libast} -lm
+ done shcomp generated
+ make suid_exec
+ make suid_exec.o

Reply via email to