Files src.HEAD_20111506/.Makefile.swo and src/.Makefile.swo differ diff -urNp -x '*.orig' -x 'typescript*' -x '*.swp' -x BEASTIE -x 'obj.*' -x 'list.*' src.HEAD_20111506/Makefile.inc1 src/Makefile.inc1 --- src.HEAD_20111506/Makefile.inc1 2011-05-19 07:13:25.000000000 +0200 +++ src/Makefile.inc1 2011-07-29 08:49:23.000000000 +0200 @@ -259,6 +259,7 @@ XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE # world stage WMAKEENV= ${CROSSENV} \ _SHLIBDIRPREFIX=${WORLDTMP} \ + _LDSCRIPTROOT= \ VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} @@ -302,6 +303,7 @@ LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMP # Yes, the flags are redundant. LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ _SHLIBDIRPREFIX=${LIB32TMP} \ + _LDSCRIPTROOT=${LIB32TMP} \ VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ @@ -313,11 +315,11 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTR LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \ -DWITHOUT_HTML -DNO_CTF -DNO_LINT DESTDIR=${LIB32TMP} -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*} -DNO_INCS +LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS .endif # install stage -IMAKEENV= ${CROSSENV} +IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 .if empty(.MAKEFLAGS:M-n) IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ diff -urNp -x '*.orig' -x 'typescript*' -x '*.swp' -x BEASTIE -x 'obj.*' -x 'list.*' src.HEAD_20111506/lib/libc/Makefile src/lib/libc/Makefile --- src.HEAD_20111506/lib/libc/Makefile 2011-02-25 01:04:39.000000000 +0100 +++ src/lib/libc/Makefile 2011-06-25 14:17:05.000000000 +0200 @@ -30,6 +30,7 @@ CFLAGS+=-DNLS CLEANFILES+=tags INSTALL_PIC_ARCHIVE= PRECIOUSLIB= +SHLIB_LDSCRIPT=libc.ldscript .ifndef NO_THREAD_STACK_UNWIND CANCELPOINTS_CFLAGS=-fexceptions diff -urNp -x '*.orig' -x 'typescript*' -x '*.swp' -x BEASTIE -x 'obj.*' -x 'list.*' src.HEAD_20111506/lib/libc/libc.ldscript src/lib/libc/libc.ldscript --- src.HEAD_20111506/lib/libc/libc.ldscript 1970-01-01 01:00:00.000000000 +0100 +++ src/lib/libc/libc.ldscript 2011-07-15 11:02:15.000000000 +0200 @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +GROUP ( @@SHLIB@@ @@LIBDIR@@/libssp_nonshared.a ) diff -urNp -x '*.orig' -x 'typescript*' -x '*.swp' -x BEASTIE -x 'obj.*' -x 'list.*' src.HEAD_20111506/share/mk/bsd.lib.mk src/share/mk/bsd.lib.mk --- src.HEAD_20111506/share/mk/bsd.lib.mk 2011-04-19 20:09:21.000000000 +0200 +++ src/share/mk/bsd.lib.mk 2011-07-28 22:40:08.000000000 +0200 @@ -282,6 +282,15 @@ _libinstall: ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} .if defined(SHLIB_LINK) +# _LDSCRIPTROOT and _SHLIBDIRPREFIX serve almost the same purpose but the +# former needs to be empty during installworld while the later does not. +.if defined(SHLIB_LDSCRIPT) && !empty(SHLIB_LDSCRIPT) && exists(${.CURDIR}/${SHLIB_LDSCRIPT}) + sed -e 's,@@SHLIB@@,${_LDSCRIPTROOT}${SHLIBDIR}/${SHLIB_NAME},g' \ + -e 's,@@LIBDIR@@,${_LDSCRIPTROOT}${LIBDIR},g' \ + ${.CURDIR}/${SHLIB_LDSCRIPT} > lib${LIB}.ld + ${INSTALL} -S -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${_INSTALLFLAGS} lib${LIB}.ld ${DESTDIR}${LIBDIR}/${SHLIB_LINK} +.else .if ${SHLIBDIR} == ${LIBDIR} ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .else @@ -292,8 +301,9 @@ _libinstall: rm -f ${DESTDIR}${LIBDIR}/${SHLIB_NAME} .endif .endif -.endif -.endif +.endif # SHLIB_LDSCRIPT +.endif # SHLIB_LINK +.endif # SHIB_NAME .if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no" ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR} @@ -361,6 +371,9 @@ clean: .endif .if defined(SHLIB_NAME) .if defined(SHLIB_LINK) +.if defined(SHLIB_LDSCRIPT) && exists(${.CURDIR}/${SHLIB_LDSCRIPT}) + rm -f lib${LIB}.ld +.endif rm -f ${SHLIB_LINK} .endif .if defined(LIB) && !empty(LIB)