summaryrefslogtreecommitdiff
path: root/libexec
AgeCommit message (Collapse)Author
2017-12-24Fix one possible buffer overflow and one underflow. Also some minorTodd C. Miller
cleanups. From Jan Kokemueller. OK deraadt@
2017-12-21Implement missing bits to support lazy binding. Note that the codeMark Kettenis
deliberately does not save the floating-point argument registers before calling _dl_bind(). Doing so would force an FPU context switch upon every function call through the PLT. But since we compile ld.so with -march=armv8-a+nofp+nosimd this is safe since nothing in the _dl_bind() codepath uses he FPU registers. ok guenther@, drahn@
2017-12-12ld.so's syscall _dl_* API/ABI doesn't reurn errno, but -errno.Theo de Raadt
Reviewing behaviour artifacts with pledge, I discover a close(-ENOSYS).. ok guenther
2017-12-12spacingTheo de Raadt
2017-12-08also cleanout ld.so.aTheo de Raadt
2017-12-08Everyone knows this as ld.so, nor by the ancient name rtld.Theo de Raadt
ok guenther
2017-12-01Redo the calculation of the alignment and placement of static TLS data toPhilip Guenther
correctly take into account the segment p_align. Previously, anything with a size belong the natural alignment or with alignment larger than the natural one would either not be intialized correctly, be misaligned, or result in the TIB being misaligned. Problems reported by Charles Collicutt (charles (at) collicutt.co.uk) ok kettenis@
2017-11-28Implement a DL_REFERENCE dlctl. To be used by the upcomingMark Kettenis
__cxa_thread_atexit() implementation. ok guenther@
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-18Make blacklist entries override the whitelist. When running spamdTodd C. Miller
in greylisting mode, it is not uncommon for an IP to get whitelisted before it shows up on a spam blacklist. With this change, spamd will check its blacklists before adding a WHITE entry to the <spamd-white> pf table. If the IP matches a blacklist, the WHITE entry will be removed. OK phessler@
2017-10-17add missing HISTORY; based on CVS logs and release announcementsIngo Schwarze
2017-10-17Use a binary search to speed up blacklist lookups. OK phessler@Todd C. Miller
2017-10-12Check for asprintf() returning -1 instead of assuming that theTodd C. Miller
pointer will remain unchanged when fails. OK deraadt@
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-16Make sure to freezero() the wide-character copy of the user supplied password.anton
While here, change the mbstowcs() error checking making it complaint with what's documented in the manual and zap some stray whitespace. ok benno@ tb@
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-25It's a standalone script now, so explicitly set a sane PATH.Robert Peichaer
2017-08-25Fix detection whether /usr/share is on a nfs mounted filesystem.Robert Peichaer
2017-08-22descend into reorder_kernelJonathan Gray
2017-08-21Move the kernel relinking code from /etc/rc into a seperate scriptRobert Peichaer
/usr/libexec/reorder_kernel. Requested by ajacoutot@ to be able to relink the kernel from within syspatch(8). OK deraadt@ tb@
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-20When login_skey was called for a user without skey, it crashed withAlexander Bluhm
NULL pointer dereference. It tried to pass a file descriptor that did not exist. This has to be done conditionally. bug found by Raimund Specht with process accounting; OK millert@
2017-07-07allow fetching lists from https:// URLs tooDamien Miller
2017-07-07switch user to _spamd before executing ftp(1) to fetch lists.Damien Miller
sprinkle in some closefrom(2); ok deraadt@ beck@
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@