summaryrefslogtreecommitdiffstats
path: root/sbin/ldconfig/ldconfig.c
Commit message (Collapse)AuthorAgeFilesLines
* Add a comment about why aout support is still here: We need it forimp2013-03-191-0/+7
| | | | compat2x, which is still in use, as evidence by recent bug reports.
* ANSIfy ldconfig and the aout bits it still uses from rtld-aout.ed2009-12-291-13/+7
| | | | (Why is aout support still there?)
* Remove unused reference to objformat.hpeter2007-01-251-1/+0
|
* Document -32 flag in usage() output as well.jhb2005-11-111-1/+1
| | | | | Requested by: ru MFC after: 1 week
* Sync program's usage() with manpage's SYNOPSIS.ru2005-02-101-1/+1
|
* Improve readability for the recently introduced changes by havingdelphij2005-01-141-4/+4
| | | | | | their sizeof(*p) instead of explicitlly specifying their types. Suggested by: nectar
* Use a better name than underscore-tmpfile for better representationdelphij2005-01-141-5/+5
| | | | | | of the meaning. Suggested by: stefanf
* 64-bit clean + WARNS=6:delphij2005-01-141-21/+26
| | | | | | | | | | | | | | | | | - Convert the (char *) cast+cast backs magic to memcpy(3). Without this, the resulting code is potentially risky with higher optimization levels. - Avoid same name when calling local variables, as well as global symbols. This reduces confusion for both human and compiler. - Add necessary casts, consts - Use new style function defination. - Minor style.Makefile(5) tweak - Bump WARNS?= from 0 to 6 ** for the aout code: changes are intentionally limited to ease maintaince.
* Avoid using void pointers in additive expressions.stefanf2004-08-141-2/+2
| | | | PR: 56653
* Add initial support for compiling a special 32 bit version ofpeter2004-03-211-12/+26
| | | | | | | ld-elf.so.1 on 64 bit systems. Most of this involves using alternate paths, environment variables and diagnostic messages. The build glue is seperate.
* Fix 10 year old size-of-bcopy bug.cperciva2004-03-131-1/+1
| | | | | | | | PR: bin/43930 Submitted by: Alan Barrett Approved by: rwatson (mentor) MFNetBSD: revision 1.35 MFC after: 3 days
* Initiate deorbit burn for the i386-only a.out related support. Moves arepeter2002-09-171-9/+10
| | | | | | | | | | | | | | | under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that. Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now. Tested on: i386 (extensively), alpha
* o __P removedimp2002-03-211-7/+7
| | | | o main prototype removed
* Remove 'register' keyword.obrien2002-03-201-2/+2
| | | | | | It does not help modern compilers, and some may take some hit from it. (I also found several functions that listed *every* of its 10 local vars with "register" -- just how many free registers do people think machines have?)
* * include/elf.h has been repo copied to include/elf-hints.h, and it noobrien2001-05-021-1/+1
| | | | | | | | longer includes machine/elf.h. * consumers of elf.h now use the minimalist elf header possible. This change is motivated by Binutils 2.11.0 and too much clashing over our base elf headers and the Binutils elf headers.
* Add a "-i" option ("insecure") which disables the checks forjdp2000-08-071-17/+6
| | | | | | | root ownership, etc. I will soon commit a companion knob for "/etc/rc.conf". Submitted by: Maxime Henrion <mhenrion@cybercable.fr>
* If a directory is world-writable or is not owned by root, skip itjdp2000-07-261-0/+15
| | | | | | | | | | | and emit a warning. This is a security measure since ldconfig influences the shared libraries used by all programs. I think the check should be made even more stringent by also ignoring group-writable directories. I will make that change soon unless we encounter a good reason not to do it. Submitted by: Maxime Henrion <mhenrion@cybercable.fr>
* Make "ldconfig" with no arguments behave the same as "ldconfig -R".jdp2000-07-091-1/+3
| | | | Submitted by: Maxime Henrion <mhenrion@cybercable.fr>
* Fix insecure tempfile handlingkris2000-01-161-8/+4
| | | | Reviewed by: audit@freebsd.org
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* 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-051-9/+92
| | | | | | | | | | | | | | | | | | | | | | | 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
|
* 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...
* Add -R (rescan or refresh) option to rescan and rebuild the hintspeter1997-08-221-10/+19
| | | | | | | | | | | 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-111-6/+57
| | | | | | directory paths. Reviewed by: jkh & jdp Submitted by: Hans Zuidam <hans@brandinnovators.com>
* Revert $FreeBSD$ to $Id$peter1997-02-221-1/+1
|
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | 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.
* 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-101-25/+28
| | | | | | | "/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-011-16/+51
| | | | | | | | 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>
* 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-241-39/+67
| | | | | | | | | | | 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-231-11/+7
| | | | | | | | | | 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-151-8/+11
| | | | | | | | | | | | | | 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
|
* This is Paul K's latest set of ld changes. A commit was necessary at thisjkh1994-02-131-12/+24
| | | | | | | | | | 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).
* Many recent fixes from Paul K, add support for chaining of shared lib deps.jkh1993-11-301-4/+7
|
* Imported NetBSD's ld for shared libs.paul1993-11-031-0/+411
OpenPOWER on IntegriCloud