summaryrefslogtreecommitdiff
path: root/libexec/ld.so
AgeCommit message (Collapse)Author
2017-11-15Tweak bitmask calculation to match i386 and avoid clang warning.Mark Kettenis
ok tom@
2017-11-05Consolidate lib.so.*.a, ld.so.a and the kernel relink kit intoRobert Peichaer
one location under /usr/share/relink. Be more specific in src/etc/rc reorder_libs() what filesystems need r/w remount and ensure that their mount state is restored. Idea and positive feedback from deraadt@ OK aja@ tb@
2017-10-29Prefer <elf.h> to the non portable <sys/exec_elf.h>.Martin Pieuchot
ok jca@, deraadt@
2017-10-27Use <elf.h> instead of <elf_abi.h>Martin Pieuchot
ok jasper@, jca@, deraadt@
2017-10-26If LD_BIND_NOW is in force then all relocations are performed eagerly,Philip Guenther
when the object is loaded. Since kbind(2) will never be used in that case, disable it early, before invoking any library or application code. ok deraadt@ kettenis@
2017-10-24R_AARCH64_NONE should be zero, not 256. The latter was a deprecatedPhilip Guenther
assignment and isn't used by clang/lld. ok jsg@
2017-10-10__plt_{start,end} are no longer generated or necessary, having beenPhilip Guenther
superseded by the generic ?WX and RELRO support. Stop trying to look up and use them. ok kettenis@ deraadt@
2017-10-05Sync with libc malloc, doing delayed free double-free check alwaysOtto Moerbeek
2017-09-09Remove superfluous mprotect()ing of the PLT that's been obsoleted byPhilip Guenther
the generic handling of RWX segments. ok aoyama@
2017-09-03Fix m88k problem in recent ld.so changes.Kenji Aoyama
- move _dl_cerror function from SYS.h to ldasm.S to avoid duplicate definition when linking - [SYS.h] pull some macros from lib/libc/arch/m88k/DEFS.h - [ldasm.S] add "'never hit' but needed" br again in _dl_cacheflush (thanks to Miod Vallat) - [ldasm.S] change ld.hu into ld.h in order to get a correctly signed and sign-extended value (also thanks to Miod Vallat) ok deraadt@
2017-08-29rename *fdprint function to *dprintf, like libc versionTheo de Raadt
2017-08-28whitespaceTheo de Raadt
2017-08-28whitespaceTheo de Raadt
2017-08-28fix arm64 buildJonathan Gray
ok deraadt@
2017-08-27Place all .o files, Symbols.map, and the test program into /usr/libdata/ld.so.a.Theo de Raadt
My work is done; the next piece is coming from rpe. ok visa kettenis
2017-08-27The test program run before ld.so is installed was encoding the $OBJDIRTheo de Raadt
path to ld.so. Since the testprogram is run from inside $OBJDIR, encode with a ./ path instead. ok kettenis visa
2017-08-27Link the ~45 .o which become ld.so in a random order.Theo de Raadt
ok kettenis visa
2017-08-27hppa & sh use support functions from libgcc. Rather than linking againstTheo de Raadt
the library, extract the specific pieces and link them directly. ok kettenis visa
2017-08-27Replace heaps of hand-written syscall stubs with a simpler frameworkTheo de Raadt
which is largely MI. ok visa kettenis
2017-08-26Remove -fno-stack-protector; works fine without it.Mark Kettenis
ok deraadt@
2017-08-19Build ld.so with ${DEBUG} which defults to -g, like other "libraries" are.Theo de Raadt
This provides some unwind benefits. ok kettenis dlg
2017-08-16remove accidentally duplicated cpp chunksTheo de Raadt
ok kettenis
2017-08-16Adapt the commit in libc that changes how a string like "0xy" isTodd C. Miller
parsed. OK deraadt@
2017-08-15Align text locations to 16 (instead of 4) to match modern recommendationsTheo de Raadt
(generally associated with hardwired BTC limitations). And then fill those alignments with 0xcc (int 3) to match our trapsled model. Resulting binaries show no sequential nop's. ok mlarkin kettenis mortimer
2017-08-13Get R_MIPS_* defines via <machine/reloc.h>.Visa Hankala
OK guenther@
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