diff options
author | imp <imp@FreeBSD.org> | 2016-01-18 21:40:18 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2016-01-18 21:40:18 +0000 |
commit | 4e5086551d319f9c7fe728a3eab713a1d1bfbcb3 (patch) | |
tree | 6d5589431473f385aa2333e1b087cd0a910738ad /sbin | |
parent | a4bbea0419ac706a7197d1db72bb3c784a075776 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sbin/ldconfig/ldconfig.c | 10 |
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; |