summaryrefslogtreecommitdiffstats
path: root/sbin/ldconfig
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2016-01-18 21:40:18 +0000
committerimp <imp@FreeBSD.org>2016-01-18 21:40:18 +0000
commit4e5086551d319f9c7fe728a3eab713a1d1bfbcb3 (patch)
tree6d5589431473f385aa2333e1b087cd0a910738ad /sbin/ldconfig
parenta4bbea0419ac706a7197d1db72bb3c784a075776 (diff)
downloadFreeBSD-src-4e5086551d319f9c7fe728a3eab713a1d1bfbcb3.zip
FreeBSD-src-4e5086551d319f9c7fe728a3eab713a1d1bfbcb3.tar.gz
Add ldconfig -soft to process the soft float abi libraries and put it
into startup scripts for armv6. It acts much like ldconfig -32 does.
Diffstat (limited to 'sbin/ldconfig')
-rw-r--r--sbin/ldconfig/ldconfig.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sbin/ldconfig/ldconfig.c b/sbin/ldconfig/ldconfig.c
index 31d8083..85d97e6 100644
--- a/sbin/ldconfig/ldconfig.c
+++ b/sbin/ldconfig/ldconfig.c
@@ -64,6 +64,7 @@ static const char rcsid[] =
#define _PATH_LD32_HINTS "/var/run/ld32.so.hints"
#define _PATH_ELF32_HINTS "/var/run/ld-elf32.so.hints"
+#define _PATH_ELFSOFT_HINTS "/var/run/ld-elf-soft.so.hints"
#undef major
#undef minor
@@ -111,6 +112,7 @@ main(int argc, char **argv)
int rval = 0;
int is_aout = 0;
int is_32 = 0;
+ int is_soft = 0;
while (argc > 1) {
if (strcmp(argv[1], "-aout") == 0) {
@@ -125,12 +127,18 @@ main(int argc, char **argv)
is_32 = 1;
argc--;
argv++;
+ } else if (strcmp(argv[1], "-soft") == 0) {
+ is_soft = 1;
+ argc--;
+ argv++;
} else {
break;
}
}
- if (is_32)
+ if (is_soft)
+ hints_file = _PATH_ELFSOFT_HINTS; /* Never will have a.out softfloat */
+ else if (is_32)
hints_file = is_aout ? _PATH_LD32_HINTS : _PATH_ELF32_HINTS;
else
hints_file = is_aout ? _PATH_LD_HINTS : _PATH_ELF_HINTS;
OpenPOWER on IntegriCloud