summaryrefslogtreecommitdiff
path: root/libexec/ld.so/powerpc
AgeCommit message (Collapse)Author
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-08more spacingTheo de Raadt
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.
2005-12-02fix RELOC_COPY on powerpc when symbol is weak. use relocation addressKurt Miller
instead of symbol address. okay drahn@
2005-09-22missed a NOWARN -> WARN changeDale 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-24Change define used to deal with PLT protection, use postive logic not negative.Dale Rahn
ok mickey@
2004-01-12GCC3 compatible asm code. tested on gcc2 myself. ok brad@Dale Rahn
2003-12-03Move the asm definition of _dl__syscall from a header file into a .c fileDale Rahn
so that 12 copies of it are not generated.
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-08-19Fix PowerPC PLT generation. After 2^12 entries (2^14 offset), only everyDale Rahn
other slot in the PLT is used, this is because it takes more than one instruction to generate a constant > 2^14. Normal PLT entry < 2^12 li r11, <n> # where n is PLT index*4 (offset used for plttable). b .pltresolve | .pltcall | target PLT entry after 2^12 lis r11, <n>@ha addi r11, r11, <n>@l # where n is PLT index*4 (offset used for plttable). b .pltresolve | .pltcall | target nop # unused This is all specified by the PowerPC SVID. The PLT table generation code was never tested for entries > 2^12 before and was broken. This fixes the indexing, the constant checking 12 vs 14, ... This code has been tested with up to 128000+ functions.
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-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-03-10typoDavid Krause
ok drahn@
2003-02-26Initialized the ABI stated 'cleanup' parameter to _start. This parameterDale Rahn
is not used, but is now initialized to a valid value.
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-15Do not call mprotect to enable writing for sections which normally areDale Rahn
writable. Idea taken from alpha version. Saves many mprotect syscalls.
2003-02-02knf & ansi; drahn okTheo de Raadt
2003-01-30Only flush the got address, if there is one. DOH.Dale Rahn
2003-01-24Flush the blrl instruction from the instruction cache if the GOT tag isDale Rahn
present. Fixes illegal instruction problems seen the last few days tested by myself and matthieu@
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-12-09Build ld.so as a normal shared object, not with special linkage.Dale Rahn
mprotect the necessary bit to make this work right. ok deraadt@
2002-11-22Formatting cleanup, no point in extra nesting block. No functional change.Dale Rahn
2002-11-14Make error messages on symbol lookup failures more useful.Dale Rahn
2002-11-05Use define, not number.Dale Rahn
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.
2002-10-21Simplify the ld.so asm api, the data is available other ways.Dale Rahn
tested by naddy@ and myself.
2002-09-09Add lazy binding support for powerpc ld.so. ok pvalchev@ brad@Dale Rahn
2002-08-23Change arguments to _dl_find_symbol() myself, warnnotfound, and inplt intoDale Rahn
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.
2002-08-21Split out MD makefile parts into separate files and doArtur Grabowski
some other cleanup in the Makefile. drahn@ ok.
2002-08-12Add support for REL type relocations, all currently supported archDale Rahn
use only RELA type relocations, but that could change. ok art@
2002-08-11The parameter dynp was never used, rather than pass in a dummy on mostDale Rahn
archs and a nasty calcuation on others, remove the parameter.
2002-08-11Fix for Elfbug, the Xtiherit problem which has been seen on most OpenBSDDale Rahn
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.
2002-07-24ok i found itTheo de Raadt
2002-07-24back out broken stuff until it is fixedTheo de Raadt
2002-07-24spacingTheo de Raadt