summaryrefslogtreecommitdiff
path: root/libexec/ld.so
AgeCommit message (Collapse)Author
2017-07-23from libc malloc: only access offset if canaries are enabled *and* size > 0Otto Moerbeek
and initialize ->offset to a definite value in the size == 0 case
2017-07-02Fixed a typo in error message.Tobias Stoeckmann
ok jmc@
2017-06-22Do not interpret an empty path as current working directory "." whenSebastian Benoit
parsing LD_LIBRARY_PATH, and in DT_RPATH and DT_RUNPATH attributes and in ld.so.hints. ok deraadt@
2017-06-04Remove the sigprocmask stub that has long been made unused sincePatrick Wildt
the use of kbind. The code was #if 0'd anyway. Reminded by miod@
2017-06-04For the memory operand, clang passes in an address relative to theChristian Weisgerber
stack pointer. We cannot use this twice while pushing values on the stack. Instead load the operand address into a register and use this as base address. Use %edx since it is already marked as clobbered. Also fixes a syntax problem for clang. ok mlarkin@
2017-05-08Always use the same callback to unlock as was used to lock. PermitsPhilip Guenther
libpthread initialization from a shared object's init (or fini, I suppose) routines. ok kurt@ kettenis@ espie@
2017-02-18Add NULL tests to wrterror() to avoid a NULL deref when called fromPhilip Guenther
malloc initialization or a free() error path. Prompted by libc's malloc.c rev 1.214; with correction from jsg@ and otto@ ok jsg@ krw@
2017-02-16correct format strings, ok guentherTheo de Raadt
2017-02-16Match the recent change in the kernel and ask for a generic armv8-aJonathan Gray
encoding rather than one based on and tuned for cortex-a57 when using +nofp+nosimd.
2017-02-15Make this build (and run) with gcc 4.Miod Vallat
2017-02-08Provide size-generic ELF_NO_ADDR in <sys/exec_elf.h> and use that insteadPhilip Guenther
of ELFDEFNNAME(NO_ADDR) ok jca@
2017-01-30Fix ELF64_R_TYPE(reloc->r_info) to have the same type on mips64lePhilip Guenther
as on other LP64 archs, __uint64_t, so that printf-like functions don't require extra casting...then eliminate the extra cast in ld.so/mips64/rtld_machine.c discussed with miod ok visa@
2017-01-29Previous commit broke build on loongson. Refix by addingVisa Hankala
an explicit type cast. Reported and tested by matthieu@
2017-01-25Fix build on mips64.Visa Hankala
2017-01-24make ldso[] const; OK guenther@Todd C. Miller
2017-01-24For consistentcy, use 'void *' with %p instead of 'char *'Philip Guenther
2017-01-24To format r_addr, use %p and cast to 'void *'. From comparison withPhilip Guenther
other archs
2017-01-24On fatal errors, kill ourselves with thrkill(0,9,NULL) instead ofPhilip Guenther
simply exiting, via helper functions _dl_die(), _dl_diedie(), and _dl_oom(). prompted by a complaint from jsing@ ok jsing@ deraadt@
2017-01-24Unbreak $ORIGIN support when only one of DT_RUNPATH and DT_RPATH is usedPhilip Guenther
2017-01-23remove line that slipped in with rev 1.77 but doesn't belong there; ok sthen@Christian Weisgerber
2017-01-23Whoops, lost the adjustment of DT_RUNPATH value as a DT_STRTAB value.Philip Guenther
problem reported by semarie@
2017-01-23Mark a bunch of stuff staticPhilip Guenther
ok kettenis@
2017-01-23The functionality of _dl_allocate_tib() is used internally, so renamePhilip Guenther
it to allocate_tib(), mark that hidden, then make the exported function an alias of that. ok kettenis@
2017-01-23Wrap function declarations with __{BEGIN,END}_HIDDEN_DECLS to reducePhilip Guenther
relocations inside ld.so that it has to bootstrap ok kettenis@
2017-01-23Fix format string mismatchesPhilip Guenther
2017-01-23Fix format string mismatchesPhilip Guenther
testing assistance patrick@
2017-01-22Add support for DT_RUNPATH and DT_FLAGSPhilip Guenther
ok kettenis@
2017-01-21_dl_exit() is __dead, so it should return void.Philip Guenther
Move _dl_mmap() and _dl_mquery() inlines from archdep.h to syscall.h and remove pointless casts and unnecessary parens. ok kettenis@
2017-01-20Delete ancient macros and unnecessary #includesPhilip Guenther
ok deraadt@
2017-01-11Add support for AArch64.Patrick Wildt
2017-01-09Remove dependency on __got_{start,end} symbols and look at PT_GNU_RELROMark Kettenis
instead. Result in a few more pages that aren't writable on some platforms (such as hppa). Based on an initial diff from guenther@. Thanks to deraadt@ for testing. ok guenther@
2017-01-05Build with -fno-builtin to keep clang from optimizing the _dl_memset()Christian Weisgerber
and _dl_bcopy() functions into calls to memset() and memcpy(). ok kettenis@
2016-11-03small tweak to also check canaries if F is in effectOtto Moerbeek
2016-10-31sync to libc: malloc_move is not an option anymoreOtto Moerbeek
2016-10-25bring canaries for > page sized objects from libc to ld.so; ok guenther@Otto Moerbeek
2016-10-140xd0 -> 0xdb from libc mallocOtto Moerbeek
2016-10-14move better canary code and validate_junk() over from libc mallocOtto Moerbeek
2016-09-18merge form libc malloc:Otto Moerbeek
move page junking tp unmap(), right before we stick the region in the cache; ok tedu@
2016-09-16Implement the DT_RELACOUNT optimization. Missed previously because IPhilip Guenther
didn't recognize that RELOC_BBASED_32 was the m88k name for a pure-relative relocation testing by aoyama@
2016-09-16Remove the fallback to the __plt_{start,end} symbols, as the dynamic tagsPhilip Guenther
with the same info (DT_88K_PLT{START,END} have been around since 5.4 testing by aoyama@
2016-09-08Implement self-relocation for -static -pie on arm. Also removes someMark Kettenis
unecessary code from the normal startup code and do some general cleanup to make the code more readable. ok guenther@, jsg@
2016-09-04Redundant memset and some better style wrt exiting functions after error.Otto Moerbeek
ok guenther@
2016-09-03cherry-pick a few diffs from libc malloc; ok guenther@Otto Moerbeek
2016-09-01retire sparcTed Unangst
2016-08-31alpha and sh have TCB_SET() macros so don't need _dl_set_tcb()Philip Guenther
ok deraadt@
2016-08-30Move DT_NUM from <sys/exec_elf.h> to resolv.h in ld.so where it belongs.Mark Kettenis
ok guenther@
2016-08-28ld.so doesn't need gettimeofday or lstat stubs any morePhilip Guenther
ok deraadt@
2016-08-28fix a commentPhilip Guenther
2016-08-28Don't call lstat() before readlink() just to see if it's a symlink,Philip Guenther
as readlink() will tell you that more cheaply. ok millert@
2016-08-27Delete debugging from when lazy binding was being implementedPhilip Guenther
ok deraadt@