diff options
author | Robert Nagy <robert@cvs.openbsd.org> | 2017-04-27 17:41:48 +0000 |
---|---|---|
committer | Robert Nagy <robert@cvs.openbsd.org> | 2017-04-27 17:41:48 +0000 |
commit | 58e6afbbed66a48b499ef20842ad99c9b968432e (patch) | |
tree | 1d8763f23144b0a6064fc092b865c0bec200be80 /share/mk | |
parent | 3c896b4ed056d1e873ab05745d3bed07a55c3432 (diff) |
syspatch needs to create shared libs with the same object sequence instead
of randomizing the order so let's read the libs on the system and link the
same way in case a syspatch is being built
Diffstat (limited to 'share/mk')
-rw-r--r-- | share/mk/bsd.lib.mk | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index aced31fcfb0..78077c72e43 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -1,4 +1,4 @@ -# $OpenBSD: bsd.lib.mk,v 1.80 2017/03/26 18:50:37 guenther Exp $ +# $OpenBSD: bsd.lib.mk,v 1.81 2017/04/27 17:41:47 robert Exp $ # $NetBSD: bsd.lib.mk,v 1.67 1996/01/17 20:39:26 mycroft Exp $ # @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 @@ -183,8 +183,14 @@ SOBJS+= ${OBJS:.o=.so} ${FULLSHLIBNAME}: ${SOBJS} ${DPADD} @echo building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) @rm -f ${.TARGET} +.if defined(SYSPATCH) + ${CC} -shared ${PICFLAG} -o ${.TARGET} \ + `readelf -Ws ${LIBDIR}/${.TARGET} | awk '/ FILE/{gsub(/\..*/, ".so", $$NF); sub(".*/", "", $$NF); print $$NF}' | \ + grep -v unwind-dw2` ${LDADD} +.else ${CC} -shared ${PICFLAG} -o ${.TARGET} \ `echo ${SOBJS} | tr ' ' '\n' | sort -R` ${LDADD} +.endif ${FULLSHLIBNAME}.a: ${SOBJS} @echo building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) ar |