summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/map_object.c
Commit message (Collapse)AuthorAgeFilesLines
* Get the actual pathname of the dynamic linker from the executable'sjdp1999-08-301-7/+11
| | | | | | | PT_INTERP program header entry, to ensure that gdb always finds the right dynamic linker. Use obj->relocbase to simplify a few calculations where appropriate.
* When checking to see if a shared object is already loaded, look forjdp1999-08-301-1/+6
| | | | a device/inode match if no pathname match is found.
* Revamp the symbol lookup algorithm to cope better with objectsjdp1999-08-301-1/+37
| | | | | | | | | | | | | | | | | | | | | | loaded separately by dlopen that have global symbols with identical names. Viewing each dlopened object as a DAG which is linked by its DT_NEEDED entries in the dynamic table, the search order is as follows: * If the referencing object was linked with -Bsymbolic, search it internally. * Search all dlopened DAGs containing the referencing object. * Search all objects loaded at program start up. * Search all objects which were dlopened() using the RTLD_GLOBAL flag (which is now supported too). The search terminates as soon as a strong definition is found. Lacking that, the first weak definition is used. These rules match those of Solaris, as best I could determine them from its vague manual pages and the results of experiments I performed. PR: misc/12438
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Change many asserts into normal errors. They were all for conditionsjdp1999-07-181-24/+38
| | | | | | caused by invalid shared objects rather than by internal errors. Enable format string mismatch checking for _rtld_error().
* Add alpha support.dfr1998-09-041-28/+28
| | | | | Submitted by: John Birrell <jb@cimlogic.com.au> (with extra hacks by me) Obtained from: Probably NetBSD
* Import the ELF dynamic linker. This is the ElfKit version withjdp1998-03-071-0/+250
quite a few enhancements and bug fixes. There are still some known deficiencies, but it should be adequate to get us started with ELF. Submitted by: John Polstra <jdp@polstra.com>
OpenPOWER on IntegriCloud