rtld-elf: Remove libsoft support

Remove support for loading libsoft libraries.

Sponsored by:		Netflix
This commit is contained in:
Warner Losh 2022-01-06 22:34:21 -07:00
parent 8b7cc20f79
commit 0d1f0898c9
3 changed files with 0 additions and 52 deletions

View File

@ -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)
{

View File

@ -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

View File

@ -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;