Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F131993899
D12274.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D12274.id.diff
View Options
Index: UPDATING
===================================================================
--- UPDATING
+++ UPDATING
@@ -51,6 +51,13 @@
****************************** SPECIAL WARNING: ******************************
+20170908:
+ For 32-bit arm compiled for hard-float support, soft-floating point
+ binaries now always get their shared libraries from
+ LD_SOFT_LIBRARY_PATH (in the past, this was only used if
+ /usr/libsoft also existed). Only users with a hard-float ld.so, but
+ soft-float everything else should be affected.
+
20170826:
During boot the geli passphrase will be hidden. To restore previous
behavior see geli(8) configuration options.
Index: libexec/rtld-elf/arm/reloc.c
===================================================================
--- libexec/rtld-elf/arm/reloc.c
+++ libexec/rtld-elf/arm/reloc.c
@@ -18,6 +18,14 @@
#include "rtld.h"
#include "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 altnerative soft
+ * float path.
+ */
void
arm_abi_variant_hook(Elf_Auxinfo **aux_info)
{
@@ -39,17 +47,6 @@
if ((ehdr & EF_ARM_VFP_FLOAT) != 0)
return;
- /*
- * If there's no /usr/libsoft, then we don't have a system with both
- * hard and soft float. In that case, hope for the best and just
- * return. Such systems are required to have all soft or all hard
- * float ABI binaries and libraries. This is, at best, a transition
- * compatibility hack. Once we're fully hard-float, this should
- * be removed.
- */
- if (stat("/usr/libsoft", &sb) != 0 || !S_ISDIR(sb.st_mode))
- return;
-
/*
* This is a soft float ABI binary. We need to use the soft float
* settings.
@@ -60,6 +57,7 @@
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
@@ -31,6 +31,7 @@
#include <sys/types.h>
#include <machine/atomic.h>
+#include <machine/acle-compat.h>
struct Struct_Obj_Entry;
@@ -74,7 +75,9 @@
extern void arm_abi_variant_hook(Elf_Auxinfo **);
+#ifdef __ARM_FP
#define md_abi_variant_hook(x) arm_abi_variant_hook(x)
#define RTLD_VARIANT_ENV_NAMES
+#endif
#endif
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Oct 13, 7:05 PM (21 h, 51 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23641113
Default Alt Text
D12274.id.diff (2 KB)
Attached To
Mode
D12274: End softfp->hardfp transition period for arm
Attached
Detach File
Event Timeline
Log In to Comment