# HG changeset patch # Parent 02f42f01305d36241713e1cec6bc35ee4ba3a05a diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -114,6 +114,7 @@ TGTS= all all-man buildenv buildenvvars _build-tools _cross-tools _includes _libraries _depend \ build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ xdev-links native-xtools \ + build.softfp distribute.softfp install.softfp TGTS+= ${SUBDIR_TARGETS} diff --git a/Makefile.inc1 b/Makefile.inc1 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -401,6 +401,9 @@ WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAG .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" .include "Makefile.inc1.lib32" .endif +.if ${TARGET_ARCH} == "armv6hf" +.include "Makefile.inc1.libsoftfp" +.endif IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ @@ -458,6 +461,9 @@ KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS .if defined(LIB32TMP) rm -rf ${LIB32TMP} .endif +.if defined(LIBSOFTFPTMP) + rm -rf ${LIBSOFTFPTMP} +.endif .else rm -rf ${WORLDTMP}/legacy/usr/include # XXX - These three can depend on any header file. @@ -517,6 +523,9 @@ KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS .if defined(LIB32TMP) ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} .endif +.if defined(LIBSOFTFPTMP) + ${_+_}cd ${.CURDIR}; ${LIBSOFTFPWMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} +.endif .endif _obj: @echo @@ -576,6 +585,9 @@ WMAKE_TGTS+= _includes _libraries _depen .if defined(LIB32TMP) && ${MK_LIB32} != "no" WMAKE_TGTS+= build32 .endif +.if defined(LIBSOFTFPTMP) && ${MK_LIBSOFTFP} != "no" +WMAKE_TGTS+= build.softfp +.endif buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue .ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue @@ -706,6 +718,9 @@ EXTRA_DISTRIBUTIONS= doc .if defined(LIB32TMP) && ${MK_LIB32} != "no" EXTRA_DISTRIBUTIONS+= lib32 .endif +.if defined(LIBSOFTFPTMP) && ${MK_LIBSOFTFP} != "no" +EXTRA_DISTRIBUTIONS+= lib.softfp +.endif .if ${MK_TESTS} != "no" EXTRA_DISTRIBUTIONS+= tests .endif @@ -852,6 +867,9 @@ reinstall: .MAKE .if defined(LIB32TMP) && ${MK_LIB32} != "no" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32 .endif +.if defined(LIBSOFTFPTMP) && ${MK_LIBSOFTFP} != "no" + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install.softfp +.endif redistribute: .MAKE @echo "--------------------------------------------------------------" @@ -862,6 +880,10 @@ redistribute: .MAKE ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 \ DISTRIBUTION=lib32 .endif +.if defined(LIBSOFTFPTMP) && ${MK_LIBSOFTFP} != "no" + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute.softfp \ + DISTRIBUTION=lib.softfp +.endif distrib-dirs distribution: .MAKE cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ diff --git a/Makefile.inc1.lib32 b/Makefile.inc1.lib32 --- a/Makefile.inc1.lib32 +++ b/Makefile.inc1.lib32 @@ -1,6 +1,7 @@ # 32 bit world LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 +LIB32LIB= /usr/lib32 .if ${TARGET_ARCH} == "amd64" .if empty(TARGET_CPUTYPE) @@ -12,7 +13,7 @@ LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH MACHINE_CPU="i686 mmx sse sse2" LIB32WMAKEFLAGS= \ AS="${XAS} --32" \ - LD="${XLD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ + LD="${XLD} -m elf_i386_fbsd -Y P,${LIB32TMP}${LIB32LIB}" \ OBJCOPY="${XOBJCOPY}" .elif ${TARGET_ARCH} == "powerpc64" @@ -27,11 +28,10 @@ LIB32WMAKEFLAGS= \ OBJCOPY="${XOBJCOPY}" .endif - LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \ -isystem ${LIB32TMP}/usr/include/ \ - -L${LIB32TMP}/usr/lib32 \ - -B${LIB32TMP}/usr/lib32 + -L${LIB32TMP}${LIB32LIB} \ + -B${LIB32TMP}${LIB32LIB} .if ${XCC:M/*} LIB32FLAGS+= --sysroot=${WORLDTMP} .endif @@ -43,9 +43,9 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32 VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - LIBDIR=/usr/lib32 \ - SHLIBDIR=/usr/lib32 \ - LIBPRIVATEDIR=/usr/lib32/private \ + LIBDIR=${LIB32LIB} \ + SHLIBDIR=${LIB32LIB} \ + LIBPRIVATEDIR=${LIB32LIB}/private \ DTRACE="${DTRACE} -32" LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \ CXX="${XCXX} ${LIB32FLAGS}" \ diff --git a/Makefile.inc1.lib32 b/Makefile.inc1.libsoftfp copy from Makefile.inc1.lib32 copy to Makefile.inc1.libsoftfp --- a/Makefile.inc1.lib32 +++ b/Makefile.inc1.libsoftfp @@ -1,129 +1,112 @@ -# 32 bit world -LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 -LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 +# soft float world +LIBSOFTFP_OBJTREE= ${OBJTREE}${.CURDIR}/world.softfp +LIBSOFTFPTMP= ${OBJTREE}${.CURDIR}/lib.softfp +LIBSOFTFPLIB= /usr/lib/soft -.if ${TARGET_ARCH} == "amd64" -.if empty(TARGET_CPUTYPE) -LIB32CPUFLAGS= -march=i686 -mmmx -msse -msse2 -.else -LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} -.endif -LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ - MACHINE_CPU="i686 mmx sse sse2" -LIB32WMAKEFLAGS= \ - AS="${XAS} --32" \ - LD="${XLD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ - OBJCOPY="${XOBJCOPY}" - -.elif ${TARGET_ARCH} == "powerpc64" -.if empty(TARGET_CPUTYPE) -LIB32CPUFLAGS= -mcpu=powerpc -.else -LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} -.endif -LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc -LIB32WMAKEFLAGS= \ - LD="${XLD} -m elf32ppc_fbsd" \ +.if ${TARGET_ARCH} == "armv6hf" +LIBSOFTFPCPUFLAGS= +LIBSOFTFPWMAKEENV= MACHINE=arm MACHINE_ARCH=armv6 +LIBSOFTFPWMAKEFLAGS= \ + AS="${XAS}" \ + LD="${XLD} -Y P,${LIBSOFTFPTMP}${LIBSOFTFPLIB}" \ OBJCOPY="${XOBJCOPY}" .endif - -LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \ - -isystem ${LIB32TMP}/usr/include/ \ - -L${LIB32TMP}/usr/lib32 \ - -B${LIB32TMP}/usr/lib32 +LIBSOFTFPFLAGS= -msoft-float ${LIBSOFTFPCPUFLAGS} -DCOMPAT_SOFT \ + -isystem ${LIBSOFTFPTMP}/usr/include/ \ + -L${LIBSOFTFPTMP}${LIBSOFTFPLIB} \ + -B${LIBSOFTFPTMP}${LIBSOFTFPLIB} .if ${XCC:M/*} -LIB32FLAGS+= --sysroot=${WORLDTMP} +LIBSOFTFPFLAGS+= --sysroot=${WORLDTMP} .endif # Yes, the flags are redundant. -LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ - _SHLIBDIRPREFIX=${LIB32TMP} \ - _LDSCRIPTROOT=${LIB32TMP} \ +LIBSOFTFPWMAKEENV+= MAKEOBJDIRPREFIX=${LIBSOFTFP_OBJTREE} \ + _SHLIBDIRPREFIX=${LIBSOFTFPTMP} \ + _LDSCRIPTROOT=${LIBSOFTFPTMP} \ VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - LIBDIR=/usr/lib32 \ - SHLIBDIR=/usr/lib32 \ - LIBPRIVATEDIR=/usr/lib32/private \ - DTRACE="${DTRACE} -32" -LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \ - CXX="${XCXX} ${LIB32FLAGS}" \ - DESTDIR=${LIB32TMP} \ - -DCOMPAT_32BIT \ + LIBDIR=${LIBSOFTFPLIB} \ + SHLIBDIR=${LIBSOFTFPLIB} \ + LIBPRIVATEDIR=${LIBSOFTFPLIB}/private +LIBSOFTFPWMAKEFLAGS+= CC="${XCC} ${LIBSOFTFPFLAGS}" \ + CXX="${XCXX} ${LIBSOFTFPFLAGS}" \ + DESTDIR=${LIBSOFTFPTMP} \ + -DCOMPAT_SOFT \ -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ MK_CTF=no \ -DNO_LINT \ MK_TESTS=no -LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ +LIBSOFTFPWMAKE= ${LIBSOFTFPWMAKEENV} ${MAKE} ${LIBSOFTFPWMAKEFLAGS} \ MK_MAN=no MK_HTML=no -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ +LIBSOFTFPIMAKE= ${LIBSOFTFPWMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ MK_TOOLCHAIN=no ${IMAKE_INSTALL} -build32: +build.softfp: @echo @echo "--------------------------------------------------------------" - @echo ">>> stage 5.1: building 32 bit shim libraries" + @echo ">>> stage 5.1: building soft float shim libraries" @echo "--------------------------------------------------------------" - mkdir -p ${LIB32TMP}/usr/include + mkdir -p ${LIBSOFTFPTMP}/usr/include mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${LIB32TMP}/usr >/dev/null + -p ${LIBSOFTFPTMP}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${LIB32TMP}/usr/include >/dev/null + -p ${LIBSOFTFPTMP}/usr/include >/dev/null .if ${MK_DEBUG_FILES} != "no" mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${LIB32TMP}/usr/lib >/dev/null + -p ${LIBSOFTFPTMP}/usr/lib >/dev/null .endif mkdir -p ${WORLDTMP} ln -sf ${.CURDIR}/sys ${WORLDTMP} .for _t in obj includes - cd ${.CURDIR}/include; ${LIB32WMAKE} DIRPRFX=include/ ${_t} - cd ${.CURDIR}/lib; ${LIB32WMAKE} DIRPRFX=lib/ ${_t} + cd ${.CURDIR}/include; ${LIBSOFTFPWMAKE} DIRPRFX=include/ ${_t} + cd ${.CURDIR}/lib; ${LIBSOFTFPWMAKE} DIRPRFX=lib/ ${_t} .if ${MK_CDDL} != "no" - cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t} + cd ${.CURDIR}/cddl/lib; ${LIBSOFTFPWMAKE} DIRPRFX=cddl/lib/ ${_t} .endif - cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t} + cd ${.CURDIR}/gnu/lib; ${LIBSOFTFPWMAKE} DIRPRFX=gnu/lib/ ${_t} .if ${MK_CRYPT} != "no" - cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t} + cd ${.CURDIR}/secure/lib; ${LIBSOFTFPWMAKE} DIRPRFX=secure/lib/ ${_t} .endif .if ${MK_KERBEROS} != "no" - cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t} + cd ${.CURDIR}/kerberos5/lib; ${LIBSOFTFPWMAKE} DIRPRFX=kerberos5/lib ${_t} .endif .endfor .for _dir in usr.bin/lex/lib - cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj + cd ${.CURDIR}/${_dir}; ${LIBSOFTFPWMAKE} DIRPRFX=${_dir}/ obj .endfor .for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ WORLDTMP=${WORLDTMP} \ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ - MAKEOBJDIRPREFIX=${LIB32_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ + MAKEOBJDIRPREFIX=${LIBSOFTFP_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ build-tools .endfor cd ${.CURDIR}; \ - ${LIB32WMAKE} -f Makefile.inc1 libraries + ${LIBSOFTFPWMAKE} -f Makefile.inc1 libraries .for _t in obj depend all - cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ + cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf.soft.so.1 ${LIBSOFTFPWMAKE} \ DIRPRFX=libexec/rtld-elf/ ${_t} - cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ + cd ${.CURDIR}/usr.bin/ldd; PROG=lddsoft ${LIBSOFTFPWMAKE} \ DIRPRFX=usr.bin/ldd ${_t} .endfor -distribute32 install32: - cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} +distribute.softfp install.softfp: + cd ${.CURDIR}/lib; ${LIBSOFTFPIMAKE} ${.TARGET:S/.softfp$//} .if ${MK_CDDL} != "no" - cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/cddl/lib; ${LIBSOFTFPIMAKE} ${.TARGET:S/.softfp$//} .endif - cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/gnu/lib; ${LIBSOFTFPIMAKE} ${.TARGET:S/.softfp$//} .if ${MK_CRYPT} != "no" - cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/secure/lib; ${LIBSOFTFPIMAKE} ${.TARGET:S/.softfp$//} .endif .if ${MK_KERBEROS} != "no" - cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/kerberos5/lib; ${LIBSOFTFPIMAKE} ${.TARGET:S//softfp$//} .endif cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} - cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} ${.TARGET:S/32$//} + PROG=ld-elf.soft.so.1 ${LIBSOFTFPIMAKE} ${.TARGET:S/.softfp$//} + cd ${.CURDIR}/usr.bin/ldd; PROG=lddsoft ${LIBSOFTFPIMAKE} ${.TARGET:S/.softfp$//} diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -36,6 +36,12 @@ .. private .. + soft + i18n + .. + private + .. + .. .. lib32 i18n diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -38,6 +38,14 @@ .. i18n .. + soft + dtrace + .. + i18n + .. + private + .. + .. .. lib32 dtrace diff --git a/lib/clang/include/Makefile b/lib/clang/include/Makefile --- a/lib/clang/include/Makefile +++ b/lib/clang/include/Makefile @@ -8,7 +8,8 @@ LLVM_SRCS= ${.CURDIR}/../../../contrib/l .PATH: ${LLVM_SRCS}/tools/clang/lib/Headers -INCSDIR=${LIBDIR}/clang/3.6.0/include +#INCSDIR=${LIBDIR}/clang/3.6.0/include +INCSDIR=/usr/lib/clang/3.6.0/include INCS= __stddef_max_align_t.h \ __wmmintrin_aes.h \ diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -138,7 +138,7 @@ SHLIB_NAME_FULL=${SHLIB_NAME}.full # Use ${DEBUGDIR} for base system debug files, else .debug subdirectory .if ${_SHLIBDIR} == "/boot" ||\ ${SHLIBDIR:C%/lib(/.*)?$%/lib%} == "/lib" ||\ - ${SHLIBDIR:C%/usr/lib(32)?(/.*)?%/usr/lib%} == "/usr/lib" + ${SHLIBDIR:C%/usr/lib(32|/soft)?(/.*)?%/usr/lib%} == "/usr/lib" DEBUGFILEDIR=${DEBUGDIR}${_SHLIBDIR} .else DEBUGFILEDIR=${_SHLIBDIR}/.debug diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -116,6 +116,7 @@ LDNS_UTILS \ LEGACY_CONSOLE \ LIB32 \ + LIBSOFTFP \ LIBPTHREAD \ LIBTHR \ LOCALES \