summaryrefslogtreecommitdiffstats
path: root/sbin/ldconfig
Commit message (Collapse)AuthorAgeFilesLines
* Make usage() reflect reality (add the -aout and -elf options).billf1999-04-211-2/+2
| | | | OK'd by: bde
* Add a new library function getobjformat(). It checks all thejdp1998-09-091-73/+16
| | | | | | | | | | | | | standard places ("/etc/objformat", ${OBJFORMAT}, argv) for an indication of the user's preferred object file format. This consolidates some code that was starting to be duplicated in more and more places. Use the new function in ldconfig. Note: I don't think that gcc should use getobjformat(), even though it could. The compiler should limit itself to functions that are widespread, to ease porting and cross-compilation.
* Fix calls to mmap. It returns void *, and on failure it returnsjdp1998-09-061-11/+11
| | | | | | | | | | | MAP_FAILED. Don't try to extend the mapping in place if it is too short. There's no guarantee it will be possible. Remap the file instead. Put in a few style fixes. Submitted by: Bruce Evans <bde>
* For a.out mode, ignore shared libraries that don't have at least 2jdp1998-09-051-1/+3
| | | | version numbers.
* Implement ldconfig functionality for ELF. The hints are stored injdp1998-09-055-31/+465
| | | | | | | | | | | | | | | | | | | | | | | a different file than the a.out hints, namely, "/var/run/ld-elf.so.hints". These hints consist only of the directory search path. There is no hash table as in the a.out hints, because ELF doesn't have to search for the file with the highest minor version number. (It doesn't have minor version numbers at all.) A single run of ldconfig updates either the a.out hints or the ELF hints, but not both. The set of hints to process is selected in the usual way, via /etc/objformat, or ${OBJFORMAT}, or the "-aout" or "-elf" command line option. The rationale is that you probably want to search different directories for ELF than for a.out. "ldconfig -r" is faked up to produce output like we are used to, except that for ELF there are no minor version numbers. This should enable "ldconfig -r" to be used for checking LIB_DEPENDS in ports even for ELF. I implemented the ELF functionality in a new source file, with an eye toward eliminating the a.out code entirely at some point in the future.
* Fixed printf format errors.bde1998-08-021-4/+5
|
* Add rcsid. remove unused #includes. Getopt returns -1 not EOF. Add usage().charnier1998-07-061-23/+27
| | | | Cosmetics in err(3) string.
* Fixed printf format errors.bde1998-06-281-4/+3
|
* Force -DFREEBSD_AOUT incase ldconfig is being compiled under elf.peter1998-06-121-2/+2
| | | | | Without this, <link.h> defines stuff for elf linking which is not what ldconfig needs.
* Build ldconfig in /sbin environment directly, rather than under the gnu ldpeter1998-06-011-6/+4
| | | | directory. The rcs files were repository copied.
* ELF preparation step 2:sos1998-05-261-2/+7
| | | | | | | | | | | | | | Move a.out libraries to /usr/lib/aout to make space for ELF libs. Make rtld usr /usr/lib/aout as default library path. Make ldconfig reject /usr/lib as an a.out library path. Fix various Makefiles for LIBDIR!=/usr/lib breakage. This will after a make world & reboot give a system that no longer uses /usr/lib/*, infact one could remove all the old libraries there, they are not used anymore. We are getting close to an ELF make world, but I'll let this all settle for a week or two...
* Removed /etc/ld.so.conf reference from FILES section (people getalex1998-01-011-3/+1
| | | | | | | confused when they can't find it), but leave the reference to it as being a standard filename (which doesn't imply that it exists). Discussed with: jkh
* Add -R (rescan or refresh) option to rescan and rebuild the hintspeter1997-08-222-13/+27
| | | | | | | | | | | file based on the previous list of directories stored there which should overcome a weakness of the '-m' switch which can only add libs. This is an ideal way of updating the hints list after adding or removing a shlib since it will remove entries that are gone and doesn't need to have all the directories spelled out each time. (eg: rm -f /usr/lib/libtcl75*; ldconfig -R) This only works for version 2 hints files (which we've been generating for a year or so) which store the path.
* Allow ldconfig to accept files (containing directory paths) as well asjkh1997-07-112-9/+73
| | | | | | directory paths. Reviewed by: jkh & jdp Submitted by: Hans Zuidam <hans@brandinnovators.com>
* Configure static linkage in the normal way (default to -static usingbde1997-06-291-2/+2
| | | | NOSHARED?= yes).
* Revert $FreeBSD$ to $Id$peter1997-02-223-3/+3
|
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-143-3/+3
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Document that "ldconfig -m" rescans all directories previouslyjdp1996-11-091-3/+6
| | | | | | | entered into the hints file, in addition to the directories named on the command line. 2.2 Candidate.
* Fixed a bug in the handling of the directories in the search pathjdp1996-11-081-5/+13
| | | | | | | | | | | | | | | | | | | | | | that is stored in the hints file. If that search path contained a non-existent directory (one, say, that had been removed), and "ldconfig -m /a/perfectly/good/directory" was run, ldconfig returned an error status without printing an error message. This caused some confusing bombs when installing ports, in particular. I changed it so that non-existent directories from the stored search path are silently ignored. Only non-existent directories named explicitly on the command line are treated as errors. Also, a diagnostic is printed if and only if an error status is returned. In an unrelated fix, ldconfig now silently ignores any directories named on the command line when the "-r" option is given. Formerly, these directories incorrectly made their way into the "search directories" line of the listing. It really should be an error to specify directories together with "-r", but I don't have time to fix the manual page in that way right now. 2.2 Candidate.
* Add a new option "-f hints_file" to specify an alternate file instead ofjdp1996-10-102-37/+37
| | | | | | | "/var/run/ld.so.hints". Delete an incorrect statement about LD_LIBRARY_PATH from the manual page.
* Updates to deal with ld.so.hints version 2. It now deals with thepeter1996-10-012-18/+53
| | | | | | | | ldconfig path (from NetBSD). I added code to make sure there were no duplicates in the path when multiple ldconfig -m's were used. Reviewed by: nate, jdp Obtained from: NetBSD (partly)
* General -Wall warning cleanup, part I.jkh1996-07-121-3/+5
| | | | Submitted-By: Kent Vander Velden <graphix@iastate.edu>
* Correct some man page xrefs, and some other minor changes to bring somempp1996-04-081-12/+12
| | | | | | man pages up to mdoc guidelines and fix some minor formatting glitches. Also fixed a number of man pages to not abuse the .Xr macro to display functions and path names and a lot of other junk.
* Bring in some of Paul K's fixes for ldconfig from NetBSD-current.pst1996-02-261-10/+30
| | | | | | | | | | | | | This solves the problem of being unable to use shared libraries with dots in their names before the ".so.<version>" code. This should be brought into -stable. There are more changes from Paul that look like they should be included, but they change the format of the hints file, so I'm not going to bring them in now (but we should in the future). Obtained from: pk@netbsd.org
* Reset the umask before creating the output file; otherwise runningjoerg1995-08-161-1/+2
| | | | | ldconfig as root with a restrictive umask yielded ld.so.hints unreadable by the world (and thus useless).
* Add an "-m" flag to merge instead of replace the entries. We canasami1995-06-242-41/+75
| | | | | | | | | | | now safely add a line like ldconfig -m ${PREFIX}/lib in ports' Makefiles and packing lists without throwing away some directories the user may have added. Submitted by: Mostly by Paul Kranenburg <pk@cs.few.eur.nl>
* Make ldconfig and ld.so not hashing the shared lib minor number. Thisjoerg1995-01-121-6/+5
| | | | | | | | | | misfeature caused troubles when a program attempted to access a shlib where one with a higher minor number has been hashed. Ldconfig does only include the highest-numbered shlib anyway, so this is in no way a limitation of generality. Caution: after installing the new programs, your /var/run/ld.so.hints needs to be rebuiult; run ldconfig again as it's done from /etc/rc.
* Updated to recent version of Paul K.'s shlib code. This code has betternate1994-12-232-23/+42
| | | | | | | | | | warning handling and allows for link-time warnings with a modified version of gas. Note: Not all of the newer bits were updated such as some of the non-x86 machine-dependant code is relevant to FreeBSD right now. Obtained from: NetBSD
* Changes from Paul Kranenburg which bring us into sync with his sources:rich1994-06-152-8/+13
| | | | | | | | | | | | | | handling of errors through the standard err() and warn() more fixes for Geoff Rehmet's NULL pointer bug. fixes NULL pointer bugs when linking mono and nested X servers. supports a `-nostdlib' option. accept object files without a symbol table don't attempt dynamic linking when `-A' is given a few variable names have chaged (desc -> fd), and the formatting has changed which should make it much easier to track his sources. I tested 'make world' for /usr/src and X twice with these changes.
* Add the -r and -s flags to the Usage string.ats1994-06-051-2/+2
|
* Better link ldconfig static instead dynamic.ats1994-04-131-2/+2
|
* Add that /usr/X386/lib is also in the default path for ldconfig. Bug foundats1994-04-051-1/+3
| | | | | by Satoshi Asami ( asami@cs.berkeley.edu ). Fixed also a minor typo problem.
* This is Paul K's latest set of ld changes. A commit was necessary at thisjkh1994-02-133-18/+30
| | | | | | | | | | late stage due to the fact that link.h was copyright Sun Microsystems. This version of ld sync's us up with NetBSD's ld and supports compatablily with NetBSD's -[zZ] flags (which we had reversed). Compiling with this new ld will give you RRS warnings for libraries which do not contain .type infomation - these wsarnings are harmless and will go away as soon as you recompile your libraries (cd /usr/src; make libraries).
* Changed NetBSD -> FreeBSDnate1994-02-111-2/+2
|
* Fixed Makefile per bug report from Julian Stacey. There was an extra DESTDIRnate1993-12-161-2/+2
| | | | in front of BINDIR definition.
* Many recent fixes from Paul K, add support for chaining of shared lib deps.jkh1993-11-301-4/+7
|
* Cahnged ldconfig.0 to ldconfig.8 for our man system.paul1993-11-091-2/+2
|
* Updated to newest ld from pk.paul1993-11-091-2/+2
| | | | | | | | | | | | lib.c: Pull in archives containing definitions needed by shared objects. warnings.c: Less spurious "undefined symbol" msgs for shared library defined symbols. ld.c: Do a better job of recognising data in text segments, eg. `const char []'. shlib.c,ld/rtld/{Makefile rtld.c} Use strsep() in stead of strtok() and restore colons in eg. env. vars.
* Changed ldconfig.0 to ldconfig.8 for our man setup.paul1993-11-061-2/+2
|
* Imported NetBSD's ld for shared libs.paul1993-11-033-0/+522
OpenPOWER on IntegriCloud