rtld-elf: Remove libsoft support
Remove support for loading libsoft libraries. Sponsored by: Netflix
This commit is contained in:
parent
8b7cc20f79
commit
0d1f0898c9
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user