freebsd-skq/gnu/usr.bin/ld
peter 7523d23ee7 Update to handle new version ld.so.hints and info in executable for
configurable fallback search paths, as well as new crt interface version.

Also:
 - even faster getenv(), get all environment variable settings in a single
   pass.
 - ldd printf-like format specifications
 - minor code cleanups, one vsprintf -> vsnprintf (harmless)

The library search sequence is a little more complete now. Before,
it'd search $LD_LIBRARY_PATH (by opendir/readdir/closedir), then read
the hints file, then read /usr/lib (again by scanning thr directory).  It
would then fail if there was no "found" library.

Now, it does LD_LIBRARY_PATH and the hints file the same, but then uses
a longer fallback path.  The -R path is fetched from the executable if
specified at build time, the ldconfig path is appended, and /usr/lib is
appended to that. Duplicates are suppressed.  This means that simply
placing a new library in /usr/local/lib will work (the same as it did in
/usr/lib) without needing ldconfig -m.  It will find it quicker if the
ldconfig is run though.

Similar changes have been made to the NetBSD ld.so, but ours is rather
different now due to John Polstra's speedups and fixes from a while back.

The ldd printf-like format support came direct from NetBSD.

Reviewed by: nate, jdp
1996-10-01 01:52:03 +00:00
..
i386 Update the backends to go with the top-level ld changes. The non-i386 1996-10-01 01:28:10 +00:00
ldconfig Updates to deal with ld.so.hints version 2. It now deals with the 1996-10-01 01:31:51 +00:00
ldd Support for specifying printf-like output specs to control the ldd output 1996-10-01 01:34:32 +00:00
rtld Update to handle new version ld.so.hints and info in executable for 1996-10-01 01:52:03 +00:00
sparc Update the backends to go with the top-level ld changes. The non-i386 1996-10-01 01:28:10 +00:00
cplus-dem.c Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
dynamic.h Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
ld.1 Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
ld.1aout Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
ld.c Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
ld.h Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
lib.c Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
Makefile Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
PORTING Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
rrs.c Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
shlib.c Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
shlib.h Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
support.c Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
support.h Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
symbol.c Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
symseg.h Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
warnings.c Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00
xbits.c Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal 1996-10-01 01:22:51 +00:00