Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F140628601
D5605.id54425.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
12 KB
Referenced Files
None
Subscribers
None
D5605.id54425.diff
View Options
Index: Makefile
===================================================================
--- Makefile
+++ Makefile
@@ -125,7 +125,8 @@
obj objlink rerelease showconfig tags toolchain update \
_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
_build-tools _cross-tools _includes _libraries _depend \
- build32 builddtb distribute32 install32 xdev xdev-build xdev-install \
+ build32 distribute32 install32 buildsoft distributesoft installsoft \
+ builddtb xdev xdev-build xdev-install \
xdev-links native-xtools installconfig \
TGTS+= ${SUBDIR_TARGETS}
Index: Makefile.inc1
===================================================================
--- Makefile.inc1
+++ Makefile.inc1
@@ -457,6 +457,9 @@
.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
.include "Makefile.lib32"
.endif
+.if ${TARGET_ARCH} == "armv6"
+.include "Makefile.libsoft"
+.endif
WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
@@ -516,6 +519,9 @@
.if defined(LIB32TMP)
rm -rf ${LIB32TMP}
.endif
+.if defined(LIBSOFTTMP)
+ rm -rf ${LIBSOFTTMP}
+.endif
.else
rm -rf ${WORLDTMP}/legacy/usr/include
# XXX - These can depend on any header file.
@@ -554,6 +560,16 @@
-p ${WORLDTMP}/usr/lib/debug/usr >/dev/null
.endif
.endif
+.if ${MK_LIBSOFT} != "no"
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist \
+ -p ${WORLDTMP}/usr >/dev/null
+.if ${MK_DEBUG_FILES} != "no"
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist \
+ -p ${WORLDTMP}/legacy/usr/lib/debug/usr >/dev/null
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist \
+ -p ${WORLDTMP}/usr/lib/debug/usr >/dev/null
+.endif
+.endif
.if ${MK_TESTS} != "no"
mkdir -p ${WORLDTMP}${TESTSBASE}
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
@@ -589,6 +605,9 @@
.if defined(LIB32TMP)
${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR}
.endif
+.if defined(LIBSOFTTMP)
+ ${_+_}cd ${.CURDIR}; ${LIBSOFTWMAKE} -f Makefile.inc1 ${CLEANDIR}
+.endif
.endif
_obj:
@echo
@@ -656,6 +675,9 @@
.if defined(LIB32TMP) && ${MK_LIB32} != "no" && empty(SUBDIR_OVERRIDE)
WMAKE_TGTS+= build32
.endif
+.if defined(LIBSOFTTMP) && ${MK_LIBSOFT} != "no" && empty(SUBDIR_OVERRIDE)
+WMAKE_TGTS+= buildsoft
+.endif
buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
.ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
@@ -694,7 +716,7 @@
@cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \
|| true
-TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild32}
+TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild32:Nbuildsoft}
toolchain: ${TOOLCHAIN_TGTS}
kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries}
@@ -791,6 +813,9 @@
.if defined(LIB32TMP) && ${MK_LIB32} != "no"
EXTRA_DISTRIBUTIONS+= lib32
.endif
+.if defined(LIBSOFTTMP) && ${MK_LIBSOFT} != "no"
+EXTRA_DISTRIBUTIONS+= libsoft
+.endif
.if ${MK_TESTS} != "no"
EXTRA_DISTRIBUTIONS+= tests
.endif
@@ -849,6 +874,14 @@
-p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib/debug/usr >/dev/null
.endif
.endif
+.if ${MK_LIBSOFT} != "no"
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist \
+ -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null
+.if ${MK_DEBUG_FILES} != "no"
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist \
+ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib/debug/usr >/dev/null
+.endif
+.endif
.if ${MK_TESTS} != "no" && ${dist} == "tests"
-mkdir -p ${DESTDIR}/${DISTDIR}/${dist}${TESTSBASE}
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
@@ -869,6 +902,10 @@
${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.lib32.dist | \
sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG}
.endif
+.if ${MK_LIBSOFT} != "no"
+ ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist | \
+ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG}
+.endif
.endif
.endfor
-mkdir ${DESTDIR}/${DISTDIR}/base
@@ -954,6 +991,9 @@
.if defined(LIB32TMP) && ${MK_LIB32} != "no"
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32
.endif
+.if defined(LIBSOFTTMP) && ${MK_LIBSOFT} != "no"
+ ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 installsoft
+.endif
redistribute: .MAKE .PHONY
@echo "--------------------------------------------------------------"
@@ -964,6 +1004,10 @@
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 \
DISTRIBUTION=lib32
.endif
+.if defined(LIBSOFTTMP) && ${MK_LIBSOFT} != "no"
+ ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distributesoft \
+ DISTRIBUTION=libsoft
+.endif
distrib-dirs distribution: .MAKE .PHONY
${_+_}cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
@@ -1025,7 +1069,7 @@
.endif
.endfor
-${WMAKE_TGTS:N_worldtmp:Nbuild32} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY
+${WMAKE_TGTS:N_worldtmp:Nbuild32:Nbuildsoft} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY
#
# buildkernel
@@ -2278,6 +2322,10 @@
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
-p ${XDDESTDIR}/usr >/dev/null
.endif
+.if ${MK_LIBSOFT} != "no"
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist \
+ -p ${XDDESTDIR}/usr >/dev/null
+.endif
.if ${MK_TESTS} != "no"
mkdir -p ${XDDESTDIR}${TESTSBASE}
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
Index: Makefile.libsoft
===================================================================
--- Makefile.libsoft
+++ Makefile.libsoft
@@ -1,136 +1,99 @@
# $FreeBSD$
+#
+
+# soft-fp world
+LIBSOFT_OBJTREE= ${OBJTREE}${.CURDIR}/worldsoft
+LIBSOFTTMP= ${OBJTREE}${.CURDIR}/libsoft
-# Makefile for the 32-bit compat libraries on PowerPC and AMD64.
-# could also be for mips, but that doesn't work today.
-
-# 32 bit world
-LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32
-LIB32TMP= ${OBJTREE}${.CURDIR}/lib32
-
-.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" \
- OBJCOPY="${XOBJCOPY}"
-.endif
-
-
-LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \
- -isystem ${LIB32TMP}/usr/include/ \
- -L${LIB32TMP}/usr/lib32 \
- -B${LIB32TMP}/usr/lib32
+LIBSOFTCPUFLAGS=
+LIBSOFTWMAKEENV= CPUTYPE=soft MACHINE=arm MACHINE_ARCH=armv6
+LIBSOFTWMAKEFLAGS=
+LIBSOFTFLAGS= -isystem ${LIBSOFTTMP}/usr/include/ -DCOMPAT_SOFTFP \
+ -L${LIBSOFTTMP}/usr/libsoft \
+ -B${LIBSOFTTMP}/usr/libsoft
.if ${XCC:N${CCACHE_BIN}:M/*}
-LIB32FLAGS+= --sysroot=${WORLDTMP}
+LIBSOFTFLAGS+= --sysroot=${WORLDTMP}
.endif
# Yes, the flags are redundant.
-LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \
- _LDSCRIPTROOT=${LIB32TMP} \
+LIBSOFTWMAKEENV+= MAKEOBJDIRPREFIX=${LIBSOFT_OBJTREE} \
+ _LDSCRIPTROOT=${LIBSOFTTMP} \
INSTALL="sh ${.CURDIR}/tools/install.sh" \
PATH=${TMPPATH} \
- LIBDIR=/usr/lib32 \
- SHLIBDIR=/usr/lib32 \
- DTRACE="${DTRACE} -32"
-LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \
- CXX="${XCXX} ${LIB32FLAGS}" \
- DESTDIR=${LIB32TMP} \
- -DCOMPAT_32BIT \
+ LIBDIR=/usr/libsoft \
+ SHLIBDIR=/usr/libsoft \
+ DTRACE="${DTRACE}"
+LIBSOFTWMAKEFLAGS+= CC="${XCC} ${LIBSOFTFLAGS}" \
+ CXX="${XCXX} ${LIBSOFTFLAGS}" \
+ DESTDIR=${LIBSOFTTMP} \
+ -DCOMPAT_SOFTFP \
-DLIBRARIES_ONLY \
-DNO_CPU_CFLAGS \
MK_CTF=no \
-DNO_LINT \
MK_TESTS=no
+LIBSOFTWMAKE= ${LIBSOFTWMAKEENV} ${MAKE} ${LIBSOFTWMAKEFLAGS} \
+ MK_MAN=no MK_HTML=no
+LIBSOFTIMAKE= ${LIBSOFTWMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \
+ MK_TOOLCHAIN=no ${IMAKE_INSTALL}
-LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \
- MK_MAN=no MK_HTML=no
-LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \
- MK_TOOLCHAIN=no ${IMAKE_INSTALL}
-
-build32: .PHONY
+buildsoft: .PHONY
@echo
@echo "--------------------------------------------------------------"
- @echo ">>> stage 5.1: building 32 bit shim libraries"
+ @echo ">>> stage 5.1: building softfp shim libraries"
@echo "--------------------------------------------------------------"
- mkdir -p ${LIB32TMP}/usr/include
+ mkdir -p ${LIBSOFTTMP}/usr/include
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
- -p ${LIB32TMP}/usr >/dev/null
+ -p ${LIBSOFTTMP}/usr >/dev/null
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
- -p ${LIB32TMP}/usr/include >/dev/null
- mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
- -p ${LIB32TMP}/usr >/dev/null
+ -p ${LIBSOFTTMP}/usr/include >/dev/null
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist \
+ -p ${LIBSOFTTMP}/usr >/dev/null
.if ${MK_DEBUG_FILES} != "no"
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
- -p ${LIB32TMP}/usr/lib >/dev/null
- mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
- -p ${LIB32TMP}/usr/lib/debug/usr >/dev/null
+ -p ${LIBSOFTTMP}/usr/lib >/dev/null
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.libsoft.dist \
+ -p ${LIBSOFTTMP}/usr/lib/debug/usr >/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; ${LIBSOFTWMAKE} DIRPRFX=include/ ${_t}
+ ${_+_}cd ${.CURDIR}/lib; ${LIBSOFTWMAKE} DIRPRFX=lib/ ${_t}
.if ${MK_CDDL} != "no"
- ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t}
+ ${_+_}cd ${.CURDIR}/cddl/lib; ${LIBSOFTWMAKE} DIRPRFX=cddl/lib/ ${_t}
.endif
- ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t}
+ ${_+_}cd ${.CURDIR}/gnu/lib; ${LIBSOFTWMAKE} DIRPRFX=gnu/lib/ ${_t}
.if ${MK_CRYPT} != "no"
- ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t}
+ ${_+_}cd ${.CURDIR}/secure/lib; ${LIBSOFTWMAKE} DIRPRFX=secure/lib/ ${_t}
.endif
.if ${MK_KERBEROS} != "no"
- ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t}
+ ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIBSOFTWMAKE} DIRPRFX=kerberos5/lib ${_t}
.endif
.endfor
.for _dir in usr.bin/lex/lib
- ${_+_}cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj
+ ${_+_}cd ${.CURDIR}/${_dir}; ${LIBSOFTWMAKE} 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=${LIBSOFT_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 -DNO_FSCHG libraries
-.for _t in obj depend all
- ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \
- -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t}
- ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \
- DIRPRFX=usr.bin/ldd ${_t}
-.endfor
+ ${LIBSOFTWMAKE} -f Makefile.inc1 -DNO_FSCHG libraries
-distribute32 install32: .MAKE .PHONY
- ${_+_}cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
+distributesoft installsoft: .MAKE .PHONY
+ ${_+_}cd ${.CURDIR}/lib; ${LIBSOFTIMAKE} ${.TARGET:S/soft$//}
.if ${MK_CDDL} != "no"
- ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
+ ${_+_}cd ${.CURDIR}/cddl/lib; ${LIBSOFTIMAKE} ${.TARGET:S/soft$//}
.endif
- ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
+ ${_+_}cd ${.CURDIR}/gnu/lib; ${LIBSOFTIMAKE} ${.TARGET:S/soft$//}
.if ${MK_CRYPT} != "no"
- ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
+ ${_+_}cd ${.CURDIR}/secure/lib; ${LIBSOFTIMAKE} ${.TARGET:S/soft$//}
.endif
.if ${MK_KERBEROS} != "no"
- ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
+ ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIBSOFTIMAKE} ${.TARGET:S/soft$//}
.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$//}
Index: lib/Makefile
===================================================================
--- lib/Makefile
+++ lib/Makefile
@@ -172,7 +172,7 @@
_libcasper= libcasper
.endif
-.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT)
+.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP)
_clang= clang
.endif
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Dec 27, 3:45 AM (12 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27296662
Default Alt Text
D5605.id54425.diff (12 KB)
Attached To
Mode
D5605: Build libsoft stuff on armv6 for our transition to hardfp ABI. These are the old softfp ABI.
Attached
Detach File
Event Timeline
Log In to Comment