summaryrefslogtreecommitdiffstats
path: root/libexec/ld.so/resolve.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix possible buffer overflow caused by unknown tags in the rangekettenis2005-10-171-2/+2
| | | | | [DT_LOPROC, DT_HIPROC]. ok kurt@
* Split grpsym_list creation away from child_list creation and changekurt2005-10-121-2/+2
| | | | | grpsym_list order to match Sun's docs. Also corrects bugs where grpsym_list was either not created or partially created.
* introduce object ref count macros (suggested by dale). no functionalkurt2005-10-091-2/+2
| | | | change.
* rename dload_list to grpsym_list which better represents its usage.kurt2005-10-071-5/+5
|
* remove dep_next "shadow object" dead code.kurt2005-10-061-8/+1
|
* separate load group references from dep lib child/dload lists. move loadkurt2005-10-061-12/+30
| | | | | | group refs to own per object ref counter (grprefcount) and list (grpref_list). corrects more complex load group ref cases and side effects from initial implementation. design ideas and ok drahn@
* refcount corrections: count common dep libs once and centralize dep libkurt2005-10-031-2/+3
| | | | | refcount increments to _dl_link_sub. adjust _dl_notify_unload_shlib to match new refcount method. ok drahn@
* handle references to load groups caused by dlopen()ing of depenantdrahn2005-10-011-1/+12
| | | | members of the load group. work by kurt@ and myself
* keep a state flag if a library has been unloaded, and then free the listdrahn2005-09-281-2/+19
| | | | seperately ok kurt@
* keep track of opencounts for dlopened objects, so that theydrahn2005-09-281-1/+2
| | | | get unloaded the right number of times on exit.
* knf; ok drahnderaadt2005-09-221-9/+8
|
* Use std missing symbol print instead of MD custom, do not warn on weakdrahn2005-09-221-2/+4
| | | | undefined symbols, or count them as failures. inspired kurt@
* Simplify the internal symbol finding API, with some cleanup, prep fordrahn2005-09-211-19/+21
| | | | next step. ok kurt@
* stop searching after first matching symbol is found. okay drahn@kurt2005-09-191-2/+2
|
* simplify code by putting executable in misnamed _dlopened_child_list,drahn2005-09-191-35/+13
| | | | | also move RTLD_NEXT/RTLD_SELF code into that code, it is a single test. okay kurt@
* Now that the bug requiring it has been fixed, remove the lastchance kludgedrahn2005-09-161-12/+3
| | | | ok kurt@
* Rework symbol lookup to more closely match sun's documentation, nowdrahn2005-09-161-24/+114
| | | | treats dlopens as load groups. ok kurt@
* Recommit the destructor order fix, now that the amd64 bug was fixed.drahn2005-05-101-6/+7
| | | | 'no problem' pval@
* backout -- breaks at least amd64; spotted by marcderaadt2005-04-061-7/+6
|
* Do a better job of running destructors in the right order.drahn2005-04-051-6/+7
|
* Fix an issue where a shared library could be loaded at two differentkjell2004-07-051-2/+5
| | | | | | | | | | locations by resolving all dlopens back to a dev/inode. i.e. Don't load a library if the dev/inode it stats back to matches one already in our list. fix started (and ok'ed) drahn@. ok deraadt@. "doesn't break anything yet" pval@ art@ brad@
* return object* the symbol is in for _dl_find_symbol*; drahn@ okmickey2004-05-251-6/+20
|
* spacingderaadt2004-05-251-3/+3
|
* Symbol cache for GOT lookup. When a symbol is found it is saved in a cachedrahn2003-09-041-1/+40
| | | | | for future lookups in the same GOT relocation table. Uses static buffer for small symbol tables, mmap for larger ones. ok deraadt@
* Fix PR 3371, symbol lookup in dlopen()ed objects is not correct. Correctdrahn2003-09-021-65/+100
| | | | behavior for RTLD_GLOBAL/RTLD_LOCAL is now supported. ok espie@
* Dynamic linking random order fixes. This enables random library ordering.drahn2003-06-221-13/+29
| | | | Tested by naddy@ and others.
* pefo 3/4 licence cleanupsderaadt2003-06-091-7/+1
|
* knf & ansi; drahn okderaadt2003-02-021-12/+9
|
* Change the constructor execution order to initialize dependant librariesdrahn2003-01-301-1/+3
| | | | first. This mirrors the commit espie put in a.out ld.so recently.
* Remove some error messages which were incorrectly printed. Some cleanup.drahn2002-11-231-11/+9
| | | | ok pvalchev@
* Make error messages on symbol lookup failures more useful.drahn2002-11-141-9/+9
|
* Change arguments to _dl_find_symbol() myself, warnnotfound, and inplt intodrahn2002-08-231-7/+37
| | | | | | | | | | | a single flags field with bits representing each. Use defines to create the appropriate masks. Add a new argument sym_size to warn about symbols which have the incorrect size. This replaces 'ifdef notyet' code which was in several of the md files with a single version. sym_size == 0 means do not check, and symbols of type FUNC are not checked.
* Fix for Elfbug, the Xtiherit problem which has been seen on most OpenBSDdrahn2002-08-111-4/+10
| | | | | | ELF dynamic systems. This was due to an oddity in ELF where the address of fuctions refer to the PLT address in the program, rather than the actual function address.
* typos/grammar/better wordsjufi2002-07-071-2/+2
| | | | in comments.
* more KNFderaadt2002-05-281-13/+10
|
* more KNFderaadt2002-05-241-5/+4
|
* various KNFderaadt2002-05-241-42/+30
|
* Keep _dl_last_object in sync with reality if last element in list is deleted.drahn2002-03-171-1/+5
| | | | allocated memory is not necessarily 0ed, make sure next pointer is inited.
* cleanup of MD/MI ld.so (elf), most changes by art@ cleanup by me.drahn2002-02-211-5/+2
| | | | tested on alpha sparc64 powerpc.
* Cleaner hash bucket init and some KNF.art2001-09-251-24/+28
|
* styleart2001-06-081-15/+13
|
* unsigned long, not u_int32_tart2001-05-311-3/+3
|
* Cleanup for 64bit support.drahn2001-04-021-18/+18
| | | | | Pieces by art, niklas and me. Only tested on powerpc.
* Updated version of ld.so, contains additional functionality and fixes/rahnds2000-06-131-8/+21
| | | | | | | | | | | | | | | design changes required by egcs. added support for ldconfig/ld.so.hints changes to low level relocation code, required by egcs pic code generation that moved global variable loads to before the self relocation was performed. Only powerpc supported, mips code not updated. Code cleaned up somewhat reasonably. This code needs to be reviewed closely for significant problems such as correctness and security.
* Initial import of ELF ld.so. This was written indepently of the gnu rtldrahnds2000-06-131-0/+236
code and is fully BSD copyrighted. This initial import contains a mostly working mips and partially working powerpc version. No support for ld.so.hints or system run path exists.