Index: Makefile =================================================================== --- Makefile +++ Makefile @@ -158,7 +158,7 @@ makeman sysent \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _build-metadata _cross-tools _includes _libraries \ - build32 distribute32 install32 buildsoft distributesoft installsoft \ + build32 distribute32 install32 \ builddtb xdev xdev-build xdev-install \ xdev-links native-xtools native-xtools-install stageworld stagekernel \ stage-packages stage-packages-kernel stage-packages-world \ @@ -187,7 +187,7 @@ # the interactive tty prompt. The safest route is to just whitelist # the ones that benefit from it. META_TGT_WHITELIST+= \ - _* build32 buildfiles buildincludes buildkernel buildsoft \ + _* build32 buildfiles buildincludes buildkernel \ buildworld everything kernel-toolchain kernel-toolchains kernel \ kernels libraries native-xtools showconfig test-includes \ test-system-compiler test-system-linker tinderbox toolchain \ Index: Makefile.inc1 =================================================================== --- Makefile.inc1 +++ Makefile.inc1 @@ -847,9 +847,6 @@ .if ${MK_LIB32} == "yes" _LIBCOMPAT= 32 .include "Makefile.libcompat" -.elif ${MK_LIBSOFT} == "yes" -_LIBCOMPAT= SOFT -.include "Makefile.libcompat" .endif # META_MODE normally ignores host file changes since every build updates Index: etc/Makefile =================================================================== --- etc/Makefile +++ etc/Makefile @@ -107,10 +107,6 @@ MTREES+= mtree/BSD.lib32.dist /usr MTREES+= mtree/BSD.lib32.dist /usr/lib/debug/usr .endif -.if ${MK_LIBSOFT} != "no" -MTREES+= mtree/BSD.libsoft.dist /usr -MTREES+= mtree/BSD.libsoft.dist /usr/lib/debug/usr -.endif .if ${MK_TESTS} != "no" MTREES+= mtree/BSD.tests.dist ${TESTSBASE} MTREES+= mtree/BSD.tests.dist /usr/lib/debug/${TESTSBASE} Index: etc/mtree/BSD.libsoft.dist =================================================================== --- etc/mtree/BSD.libsoft.dist +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ -# -# Please see the file src/etc/mtree/README before making changes to this file. -# - -/set type=dir uname=root gname=wheel mode=0755 -. - libsoft - dtrace - .. - i18n - .. - .. -.. Index: etc/mtree/Makefile =================================================================== --- etc/mtree/Makefile +++ etc/mtree/Makefile @@ -10,7 +10,6 @@ BSD.include.dist \ BSD.root.dist \ ${_BSD.lib32.dist} \ - ${_BSD.libsoft.dist} \ ${_BSD.sendmail.dist} \ ${_BSD.tests.dist} \ BSD.usr.dist \ @@ -19,9 +18,6 @@ .if ${MK_LIB32} != "no" _BSD.lib32.dist= BSD.lib32.dist .endif -.if ${MK_LIBSOFT} != "no" -_BSD.libsoft.dist= BSD.libsoft.dist -.endif .if ${MK_SENDMAIL} != "no" _BSD.sendmail.dist= BSD.sendmail.dist .endif Index: libexec/rc/rc.conf =================================================================== --- libexec/rc/rc.conf +++ libexec/rc/rc.conf @@ -652,17 +652,11 @@ # shared library search paths ldconfig32_paths="/usr/lib32 /usr/lib32/compat" # 32-bit compatibility shared library search paths -ldconfigsoft_paths="/usr/libsoft /usr/libsoft/compat ${_localbase}/libsoft" - # soft float compatibility shared library search paths - # Note: temporarily with extra stuff for transition ldconfig_local_dirs="${_localbase}/libdata/ldconfig" # Local directories with ldconfig configuration files. ldconfig_local32_dirs="${_localbase}/libdata/ldconfig32" # Local directories with 32-bit compatibility ldconfig # configuration files. -ldconfig_localsoft_dirs="${_localbase}/libdata/ldconfigsoft" - # Local directories with soft float compatibility ldconfig - # configuration files. kern_securelevel_enable="NO" # kernel security level (see security(7)) kern_securelevel="-1" # range: -1..3 ; `-1' is the most insecure # Note that setting securelevel to 0 will result Index: libexec/rc/rc.d/ldconfig =================================================================== --- libexec/rc/rc.d/ldconfig +++ libexec/rc/rc.d/ldconfig @@ -64,27 +64,6 @@ ;; esac - case ${machine_arch} in - armv[67]) - for i in ${ldconfig_localsoft_dirs}; do - if [ -d "${i}" ]; then - _files=`find ${i} -type f` - if [ -n "${_files}" ]; then - ldconfigsoft_paths="${ldconfigsoft_paths} `cat ${_files} | sort -u`" - fi - fi - done - _LDC="" - for i in ${ldconfigsoft_paths}; do - if [ -r "${i}" ]; then - _LDC="${_LDC} ${i}" - fi - done - check_startmsgs && - echo 'Soft Float compatibility ldconfig path:' ${_LDC} - ${ldconfig} -soft ${_ins} ${_LDC} - ;; - esac fi } Index: libexec/rtld-elf/arm/reloc.c =================================================================== --- libexec/rtld-elf/arm/reloc.c +++ libexec/rtld-elf/arm/reloc.c @@ -18,46 +18,6 @@ #include "rtld.h" #include "rtld_paths.h" -#ifdef __ARM_FP -/* - * On processors that have hard floating point supported, we also support - * running soft float binaries. If we're being built with hard float support, - * check the ELF headers to make sure that this is a hard float binary. If it is - * a soft float binary, force the dynamic linker to use the alternative soft - * float path. - */ -void -arm_abi_variant_hook(Elf_Auxinfo **aux_info) -{ - Elf_Word ehdr; - - /* - * If we're running an old kernel that doesn't provide any data fail - * safe by doing nothing. - */ - if (aux_info[AT_EHDRFLAGS] == NULL) - return; - ehdr = aux_info[AT_EHDRFLAGS]->a_un.a_val; - - /* - * Hard float ABI binaries are the default, and use the default paths - * and such. - */ - if ((ehdr & EF_ARM_VFP_FLOAT) != 0) - return; - - /* - * This is a soft float ABI binary. We need to use the soft float - * settings. - */ - ld_elf_hints_default = _PATH_SOFT_ELF_HINTS; - ld_path_libmap_conf = _PATH_SOFT_LIBMAP_CONF; - ld_path_rtld = _PATH_SOFT_RTLD; - ld_standard_library_path = SOFT_STANDARD_LIBRARY_PATH; - ld_env_prefix = LD_SOFT_; -} -#endif - void init_pltgot(Obj_Entry *obj) { Index: libexec/rtld-elf/arm/rtld_machdep.h =================================================================== --- libexec/rtld-elf/arm/rtld_machdep.h +++ libexec/rtld-elf/arm/rtld_machdep.h @@ -76,12 +76,6 @@ #define RTLD_DEFAULT_STACK_PF_EXEC PF_X #define RTLD_DEFAULT_STACK_EXEC PROT_EXEC -extern void arm_abi_variant_hook(Elf_Auxinfo **); - -#ifdef __ARM_FP -#define md_abi_variant_hook(x) arm_abi_variant_hook(x) -#else #define md_abi_variant_hook(x) -#endif #endif Index: libexec/rtld-elf/rtld_paths.h =================================================================== --- libexec/rtld-elf/rtld_paths.h +++ libexec/rtld-elf/rtld_paths.h @@ -75,12 +75,6 @@ #define LD_ "LD_" #endif -#define _PATH_SOFT_ELF_HINTS "/var/run/ld-elf-soft.so.hints" -#define _PATH_SOFT_LIBMAP_CONF "/etc/libmap-soft.conf" -#define _PATH_SOFT_RTLD "/libexec/ld-elf.so.1" -#define SOFT_STANDARD_LIBRARY_PATH "/usr/libsoft" -#define LD_SOFT_ "LD_SOFT_" - #ifdef IN_RTLD extern const char *ld_elf_hints_default; extern const char *ld_path_libmap_conf; Index: share/mk/bsd.compat.mk =================================================================== --- share/mk/bsd.compat.mk +++ share/mk/bsd.compat.mk @@ -67,18 +67,6 @@ LIB32DTRACE= ${DTRACE} -32 LIB32WMAKEFLAGS+= -DCOMPAT_32BIT -# ------------------------------------------------------------------- -# soft-fp world -.if ${COMPAT_ARCH:Marmv[67]*} != "" -HAS_COMPAT=SOFT -LIBSOFTCFLAGS= -DCOMPAT_SOFTFP -LIBSOFTCPUFLAGS= -mfloat-abi=softfp -LIBSOFT_MACHINE= arm -LIBSOFT_MACHINE_ARCH= ${COMPAT_ARCH} -LIBSOFTWMAKEENV= CPUTYPE=soft -LIBSOFTWMAKEFLAGS= -DCOMPAT_SOFTFP -.endif - # ------------------------------------------------------------------- # In the program linking case, select LIBCOMPAT .if defined(NEED_COMPAT) @@ -128,8 +116,7 @@ LIBCOMPATWMAKEENV+= MACHINE=${LIBCOMPAT_MACHINE} LIBCOMPATWMAKEENV+= MACHINE_ARCH=${LIBCOMPAT_MACHINE_ARCH} -# -B is needed to find /usr/lib32/crti.o for GCC and /usr/libsoft/crti.o for -# Clang/GCC. +# -B is needed to find /usr/lib32/crti.o for clang and gcc. LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat} .if defined(WANT_COMPAT) Index: share/mk/src.opts.mk =================================================================== --- share/mk/src.opts.mk +++ share/mk/src.opts.mk @@ -203,7 +203,6 @@ DTRACE_TESTS \ EXPERIMENTAL \ HESIOD \ - LIBSOFT \ LOADER_FIREWIRE \ LOADER_VERBOSE \ LOADER_VERIEXEC_PASS_MANIFEST \ @@ -294,10 +293,6 @@ .else BROKEN_OPTIONS+=LIB32 .endif -# Only doing soft float API stuff on armv6 and armv7 -.if ${__T} != "armv6" && ${__T} != "armv7" -BROKEN_OPTIONS+=LIBSOFT -.endif # EFI doesn't exist on powerpc (well, officially) .if ${__T:Mpowerpc*} BROKEN_OPTIONS+=EFI