summaryrefslogtreecommitdiff
path: root/libexec/ld.so/i386
AgeCommit message (Collapse)Author
2013-06-13Appease LLVM warning..Brad Smith
error: indirection of non-volatile null pointer will be deleted, not trap [-Werror,-Wnull-dereference] Suggestion from matthew@ Ok matthew@ miod@
2013-06-09Constify the mib argument of sysctl().Miod Vallat
ok matthew@ millert@
2013-06-01Make all the syscall prototypes consistent with their real forms for types,Philip Guenther
whitespace, and no argument names. ok matthew@ deraadt@
2013-06-01Introduce ltrace(1). This tool works with ld.so to inject utrace record forMiod Vallat
each plt call, allowing to trace a binary linked against shared library at the public function call level. To do so, ltrace(1) sets up some environment variables to enable plt tracing in ld.so, and invokes ktrace(2) for utrace events. ld.so will force lazy binding and will send an utrace record in the plt resolver, without updating the plt. Minimal filtering capabilities are provided, inspired by Solaris' truss -u, to limit tracing to libraries and/or symbol names. Non-traced libraries and symbols will have the regular resolver processing, with the expected plt update. "Get it in" deraadt
2013-05-08Implement symbol caching and RELACOUNT/RELCOUNT optimizations.Philip Guenther
Much assistance and testing by miod ok miod@
2013-04-05- Add ORIGIN, OSNAME, OSREL and PLATFORM substitution support for rpaths.Kurt Miller
Improvements and okay matthew@, millert@, guenther@
2012-12-05Remove excessive sys/cdefs.h inclusionTheo de Raadt
ok guenther millert kettenis
2012-10-24Garbage-collect the _dl_stat() routine, now unusedPhilip Guenthe
ok matthew@ deraadt@
2011-04-06Avoid using NULL in non-pointer contexts: use 0 for integer values and '\0'Miod Vallat
for chars.
2010-10-28Change basep parameter of getdirentries() to be off_t *, not long *Todd C. Miller
so it works correctly with large offsets (and matches other systems). This requires adding a new getdirentries syscall, with the old one renamed to ogetdirentries. All in-tree consumers of getdirentries() have been updated. Bump libc and libpthread major numbers. OK and with deraadt@
2010-05-02Combine the signal mask handling into _dl_thread_bind_lock(), as it's MI.Philip Guenthe
ok drahn@
2010-01-02Fix handling of hppa RELOC_IPLT relocations during 'bootstrap relocation'.Mark Kettenis
ok miod@, deraadt@, jsing@
2009-02-16Fix passing of ps_strings, cleanup and obj_main values to _start() in crt0.Kurt Miller
looks correct kettenis@
2008-10-02Fix mmap() error checking to be correct 64-bit addresses. ConsistentlyKurt Miller
use _dl_mmap_error() to check for mmap() errors. Adjust datatypes of some local vars for 64-bit safety. okay millert@ drahn@
2008-04-09Improve support for shared libs linked at non-zero addreses:Kurt Miller
- rename private values in struct elf_object to better describe their meaning: s/load_offs/obj_base/ "object's address '0' base" s/load_addr/load_base/ "The base address of the loadable segments" - gdb needs the obj_base value so swap positions with load_base in struct elf_object - fix a few occurrences of where load_base was used instead of obj_base. With help and okay drahn@
2007-11-27Make _dl_md_reloc_got() report errors, and take them into account.Miod Vallat
Fixes PR #5579.
2007-05-05Provide hook so that rthreads can provide a spinlock to protect from racesDale Rahn
in lazy binding. ok art@, kurt@
2006-10-28Only mprotect pages during relocation if the library is marked TEXTRELDale Rahn
mips64 version still needs testing.
2006-05-03prebind - how to prelink a binary without throwing security out the windowDale Rahn
Prelink fixes the address of libraries making 'return to libc' attacks trival, prebind uses a different method to achieve most of the same gains, however without adding any security conerns. Still under development, now in-tree.
2006-05-03Rewrite the ld.so syscall stubs as macros. no binary change.Dale Rahn
2005-09-22Use std missing symbol print instead of MD custom, do not warn on weakDale Rahn
undefined symbols, or count them as failures. inspired kurt@
2005-09-21Simplify the internal symbol finding API, with some cleanup, prep forDale Rahn
next step. ok kurt@
2005-09-16Rework symbol lookup to more closely match sun's documentation, nowDale Rahn
treats dlopens as load groups. ok kurt@
2004-05-25provide one version of _dl_bcopy instead of copy in every arch; drahn@ okMichael Shalayeff
2004-05-25return object* the symbol is in for _dl_find_symbol*; drahn@ okMichael Shalayeff
2004-05-25spacingTheo de Raadt
2004-05-24Change define used to deal with PLT protection, use postive logic not negative.Dale Rahn
ok mickey@
2004-02-10Check for RTLD_TEXT_PLT define instead of an architecture specific check.Dale Rahn
2003-09-04Fix W^X mistake. If the dynamic linker is workin in non-lazy mode, itDale Rahn
should still mprotect the GOT and PLT as appropriate. ok deraadt@ miod@
2003-09-04Symbol cache for GOT lookup. When a symbol is found it is saved in a cacheDale Rahn
for future lookups in the same GOT relocation table. Uses static buffer for small symbol tables, mmap for larger ones. ok deraadt@
2003-09-02Fix PR 3371, symbol lookup in dlopen()ed objects is not correct. CorrectDale Rahn
behavior for RTLD_GLOBAL/RTLD_LOCAL is now supported. ok espie@
2003-07-28The fifth argument to _dl_find_symbol is a 'int size', not a SYM_ define.Dale Rahn
Fix several calls which had the incorrect but working define in that position It happened that SYM_NOTPLT was 0, which was the desired size value.
2003-07-09changes to ld.so to be compatible with newer binutils, requiresDale Rahn
slight changes in the startup code on most archs. ok art@ brad@
2003-07-06various proto, ansi, and knf repair. tested on all architectures thatTheo de Raadt
use it. (build may require make cleandir because of .depend balony)
2003-06-09pefo 3/4 licence cleanupsTheo de Raadt
2003-06-03three four gone.Artur Grabowski
2003-06-03kill clause 3 and 4 from several of my copyrights, cleanup.Dale Rahn
2003-05-30When loading a shared object or libraries dependant object, load themDale Rahn
in random order. This will reduce the possiblity of a buffer overflow being able to predict the addresss of useful code. Can be disabled with the LD_NORANDOM environment variable for debugging purposes. ok deraadt.
2003-04-28Change mquery() function call signature to be the same a mmap(). ItDale Rahn
needs the prot/flags info and passing the addresses via arg/return allows it to be traced via ktrace better than an in/out paramter. This adds a new mquery syscall and renames the old one to omquery. New kernel _MUST_ be built, booted, and 'make includes' before building ld.so with this change.
2003-04-25backout mquery change, something broke when not combined with a different diff.Dale Rahn
2003-04-25change mquery() function call signature to be the same a mmap(). ItDale Rahn
needs the prot/flags info and passing the addresses via arg/return allows it to be traced via ktrace better than an in/out paramter. This adds a new mquery syscall and renames the old one to omquery. New kernel _MUST_ be built and installed before building ld.so with this change. ok millert@ tedu@
2003-04-17mquery support, currently for i386 only.Dale Rahn
2003-02-15After relocation is completed, remove write protection from GOT/PLT in ld.so.Dale Rahn
2003-02-15Paranoia about mprotect, mprotect page aligned regions for got and plt.Dale Rahn
2003-02-02knf & ansi; drahn okTheo de Raadt
2002-12-18Prepare for an upcoming ELF executable change. This will allow ld.so toDale Rahn
protect the GOT and PLT sections of the executable from being overwritten. This behavior is enabled by changes in the executable/shared object layout, and does not occur without the ld changes.
2002-11-23Put in a required item. Should not have been deleted to start with.Dale Rahn
2002-11-14Make error messages on symbol lookup failures more useful.Dale Rahn
2002-11-13Check for NULL on pltgot, appearently libraries with no external referencesDale Rahn
will not create a PLT on i386.
2002-10-25Some small fixes in MI code for mips backport. A new reloc md function,Per Fogelstrom
RELOC_GOT, was added to handle mips got bootstrap reloc. Also remove workaround used on previous versions of binutils for mips.