0.34: move stpcpy from libcompat to lib as it is now part of POSIX (Enrico Scholz) add linux/seccomp.h linux/prctl.h linux/audit.h linux/elf-em.h linux/filter.h SECURITY: make sure all assembler files mark the stack non-executable so the kernel can map the stack of the whole program as non-executable support compiling with clang (no cross compiling yet, and the resulting binary code is significantly larger than with gcc) implement experimental C11 threads fix fgets (Andreas Förster) add eventfd, inotify_init1, epoll_init1, accept4, recvmmsg, sendmmsg add dup3, fanotify_init, fanotify_mark, signalfd4, timerfd_settime add timerfd_gettime, setns, memfd_create, getrandom, syncfs add preadv, pwritev add getcontext, setcontext, makecontext, swapcontext (i386 and x86_64 only for now) add implementation of hsearch and friends add strverscmp (like GNU version but without special treatment for leading zeros) fix cuserid SECURITY: fix integer overflow in scandir/scandir64 if your selector leaves more than 1 billion filenames fix memory leaks in out of memory error paths in regcomp and librpc udp and tcp server code (found by the llvm static analyzer) fix returning more than one match in regexec (Stefan Wagner) add getentropy, lazy arc4random clone (OpenBSD) define uintptr_t using __UINTPTR_TYPE__ (32-bit platforms may need a make clean) move strnlen from libcompat into libc (it's POSIX now) fix dn_expand argument signedness add explicit_bzero, timingsafe_bcmp and timingsafe_memcmp (OpenBSD APIs useful for crypto) i386 switched from mmap to mmap2. glibc has been doing this for ages, and we now follow suit (without fallback to mmap), because seccomp-filter can't inspect mmap arguments, so this helps security. plumbing to get preliminary PIE support for x86_64 don't cause unaligned memory accesses in stackgap for the random from auxvec (Giorgio) implement malloc case for realpath use __builtin_mul_overflow in calloc if gcc is recent enough cleanup s390 syscalls (Christian Seiler) various TLS and pthread fixes (Christian Seiler) add sha256 and sha512 support in crypt(3) promote stpncpy from libcompat to main libc as the sha512 code uses it add x86_64 memccpy, mempcpy import Debian bugfixes (Christian Seiler) setjmp/longjmp for powerpcspe (Roland Stigge) add softfpu from glibc for powerpcspe (need to pass SOFTFPU=1 to make) ppc64 little endian port (Christian Seiler) mips64 little endian port (Christian Seiler) aarch64 port (Christian Seiler) parisc fixes (Gerrit Pape, John David Anglin, Helge Deller, Christian Seiler) fix longjmp on mobile armv7 (Christian Seiler) alpha fixes (Christian Seiler, Thorsten Glaser) powerpc fixes (Gerrit Pape, Christian Seiler) sparc64 fixes (Christian Seiler) update setjmp/longjmp on s390x to use 64-bit ABI (Christian Seiler) SECURITY: x32 fixes: one of them could lead to memory corruption because struct stat was declared too short (Christian Seiler) add really crappy pthread_rwclock implementation for openssl 1.1 move getrandom and getentropy declarations to to match glibc 2.25 add secure_getenv mempcpy -> memcpy in sha256crypt and sha512crypt prototype for getpagesize was wrong (return was size_t, should be int) split off stackgap-g.o, don't compile valgrind stuff into stackgap.o, diet chooses depending on presence of -g add mlock2 prefer gcc4+ __CAS implementation to our own on ARM, and fix ours (Philip Zander) move _POSIX_MAPPED_FILES to unistd.h accept "x" in fopen mode