The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=0d1f0898c90b3f1a87d4382d3a86df20c6b4fb48

commit 0d1f0898c90b3f1a87d4382d3a86df20c6b4fb48
Author:     Warner Losh <i...@freebsd.org>
AuthorDate: 2022-01-07 05:34:21 +0000
Commit:     Warner Losh <i...@freebsd.org>
CommitDate: 2022-01-07 05:44:07 +0000

    rtld-elf: Remove libsoft support
    
    Remove support for loading libsoft libraries.
    
    Sponsored by:           Netflix
---
 libexec/rtld-elf/arm/reloc.c        | 40 -------------------------------------
 libexec/rtld-elf/arm/rtld_machdep.h |  6 ------
 libexec/rtld-elf/rtld_paths.h       |  6 ------
 3 files changed, 52 deletions(-)

diff --git a/libexec/rtld-elf/arm/reloc.c b/libexec/rtld-elf/arm/reloc.c
index de5a6ad6cfbe..cfbddaeede75 100644
--- a/libexec/rtld-elf/arm/reloc.c
+++ b/libexec/rtld-elf/arm/reloc.c
@@ -18,46 +18,6 @@ __FBSDID("$FreeBSD$");
 #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)
 {       
diff --git a/libexec/rtld-elf/arm/rtld_machdep.h 
b/libexec/rtld-elf/arm/rtld_machdep.h
index c9ec047ec34e..c1acdd719e99 100644
--- a/libexec/rtld-elf/arm/rtld_machdep.h
+++ b/libexec/rtld-elf/arm/rtld_machdep.h
@@ -76,12 +76,6 @@ extern void *__tls_get_addr(tls_index *ti);
 #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
diff --git a/libexec/rtld-elf/rtld_paths.h b/libexec/rtld-elf/rtld_paths.h
index 6ead517e8feb..ae4d1c473271 100644
--- a/libexec/rtld-elf/rtld_paths.h
+++ b/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;

Reply via email to