summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-aout/i386
Commit message (Collapse)AuthorAgeFilesLines
* Remove a.out runtime linker. It doesn't build and was removed from thetrhodes2005-01-114-739/+0
| | | | | | | | | | build over two years ago by peter. The binary a.out version of ld.so can be obtained from misc/compat22 or src/lib/compat/compat22. Discussed on: -arch Voted yes: jhb, ru, linimon, delphij
* $Id$ -> $FreeBSD$peter1999-08-284-4/+4
|
* Fix a bug that caused the relocs for linker set members in sharedjdp1997-04-301-1/+3
| | | | | | | libraries to come out as 1-byte relocations instead of 4-byte relocations. Submitted by: Doug Rabson <dfr@nlsystems.com>
* Revert $FreeBSD$ to $Id$peter1997-02-224-4/+4
|
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-144-4/+4
| | | | | | | | 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.
* Add support for the LD_BIND_NOW environment variable. If it is set to ajdp1997-01-122-2/+21
| | | | | | | | | | | nonempty string, then function calls are relocated at program start-up rather than lazily. This variable is standard on Sun and SVR4 systems. The dlopen() function now supports both lazy and immediate binding, as determined by its "mode" argument, which can be either 1 (RTLD_LAZY) or 2 (RTLD_NOW). I will add defines of these symbols to <dlfcn.h> as soon as I've done a little more checking to make sure they won't cause collisions or bootstrapping problems that would break "make world".
* Update the backends to go with the top-level ld changes. The non-i386peter1996-10-013-11/+34
| | | | | | | changes are for completeness, I don't think they work. There are changes to deal with the new include files. Obtained from: NetBSD (mostly)
* Changed the terminology for what used to be called the "memorizing"nate1995-11-021-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vector. Now it is called the "symbol caching" vector. This was made possible and unconfusing by other changes that allowed me to localize everything having to do with the caching vector in the function reloc_map(). Switched to alloca() for allocating the caching vector, and eliminated the special mmap-based allocation routines. Although this was motivated by performance reasons, it led to significant simplification of the code, and made it possible to confine the symbol caching code to the single function reloc_map(). Got rid of the unnecessary and inefficient division loop at the beginning of rtld(). Reduced the number of calls to getenv("LD_LIBRARY_PATH") to just 1, on suggestion from <davidg@root.com>. Added breaks out of the relocation loops when the relocation address is found to be 0. A relocation address of 0 is caused by an unused relocation entry. Unused relocation entries are caused by linking a shared object with the "-Bsymbolic" switch. The runtime linker itself is linked that way, and the last 40% of its relocation entries are unused. Thus, breaking out of the loop on the first such entry is a performance win when ld.so relocates itself. As a side benefit, it permits removing a test from md_relocate_simple() in ../i386/md-static-funcs.c. Unused relocation entries in other shared objects (linked with "-Bsymbolic") caused even bigger problems in previous versions of the runtime linker. The runtime linker interpreted the unused entries as if they were valid. That caused it to perform repeated relocations of the first byte of the shared object. In order to do that, it had to remap the text segment writable. Breaking out of the loop on the first unused relocation entry solves that. Submitted by: John Polstra <jdp@polstra.com>
* Weak symbol support from NetBSD. This should bring us in sync with thenate1995-03-043-128/+72
| | | | | | | | NetBSD ld code except for local changes for dlopen() and friends and the hashing on the minor value of the shlibs. We should be binary compatible now with all their libraries. Obtained from: NetBSD
* Updated to recent version of Paul K.'s shlib code. This code has betternate1994-12-233-12/+9
| | | | | | | | | | 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-153-14/+14
| | | | | | | | | | | | | | 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.
* This is Paul K's latest set of ld changes. A commit was necessary at thisjkh1994-02-133-65/+102
| | | | | | | | | | 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).
* Removed dependance on EX_DYNAMIC in making decisions on the magic number.dg1994-01-192-3/+5
|
* Implemented 'QMAGIC' a.out format correctly, and changed the defaultdg1994-01-032-10/+21
| | | | output to be QMAGIC.
* Sync up with Paul K's latest ld from cesium.jkh1993-12-111-1/+29
|
* makedepend fails for ld. I think it because the .S files arejkh1993-12-101-3/+3
| | | | | preprocessed the same as when they are compiled. I just remove the single-quotes from the offending comments. Rich
* Many recent fixes from Paul K, add support for chaining of shared lib deps.jkh1993-11-302-4/+4
|
* Some of the latest changes from Paul K (taken from NetBSD-current).jkh1993-11-222-3/+11
|
* Incorporated fixes from Paul to make -Z option work. Emits old-stylepaul1993-11-151-2/+5
| | | | ZMAGIC magic numbers in a long.
* Imported NetBSD's ld for shared libs.paul1993-11-034-0/+666
OpenPOWER on IntegriCloud