summaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Collapse)Author
2018-06-19Avoid Archive::Tar directory traversalAndrew Fresh
Addresses CVE-2018-12015 From Silamael <silamael () coronamundi ! de> Original bug reports: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900834 https://rt.cpan.org/Public/Bug/Display.html?id=125523 Original commit with the fix: https://github.com/jib/archive-tar-new/commit/ae65651eab053fc6dc4590dbb863a268215c1fc5 OK bluhm@, they should already be committed! deraadt@
2018-06-12Put the new retguard symbols in their own section,Philip Guenther
'.openbsd.randomdata.retguard', to make them easier to work with in the kernel hibernate code. ok mortimer@ deraadt@
2018-06-12Merge '.openbsd.randomdata.*' sections into a single '.openbsd.randomdata'Philip Guenther
section when linking, as we do when using ld from binutils. ok mortimer@ deraadt@
2018-06-07Pass -nopie to the linker when -pg is specified to make theYASUOKA Masahiko
profiler(gprof) work properly. ok mpi
2018-06-07Remove unused variable.mortimer
Spotted by Nan Xiao.
2018-06-06Add RETGUARD to clang for amd64. This security mechanism uses per-functionmortimer
random cookies to protect access to function return instructions, with the effect that the integrity of the return address is protected, and function return instructions are harder to use in ROP gadgets. On function entry the return address is combined with a per-function random cookie and stored in the stack frame. The integrity of this value is verified before function return, and if this check fails, the program aborts. In this way RETGUARD is an improved stack protector, since the cookies are per-function. The verification routine is constructed such that the binary space immediately before each ret instruction is padded with int03 instructions, which makes these return instructions difficult to use in ROP gadgets. In the kernel, this has the effect of removing approximately 50% of total ROP gadgets, and 15% of unique ROP gadgets compared to the 6.3 release kernel. Function epilogues are essentially gadget free, leaving only the polymorphic gadgets that result from jumping into the instruction stream partway through other instructions. Work to remove these gadgets will continue through other mechanisms. Remaining work includes adding this mechanism to assembly routines, which must be done by hand. Many thanks to all those who helped test and provide feedback, especially deaadt, tb, espie and naddy. ok deraadt@
2017-01-14Import LLVM 3.9.1 including clang and lld.Patrick Wildt
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2018-06-03Add ret protctor options as no-ops.mortimer
2018-06-03Work around a bug where discarding the .ARM.exidx section in the armv7 kernelMark Kettenis
linker script makes ld.lld(1) crash. This has been fixed in a different (proper?) way upstream but backporting their fix is a bit too invasive. ok patrick@
2018-05-21Add --localize-hidden option to objcopy.Mark Kettenis
From Sebastien Marie
2018-05-05Switch armv7 to the "softfp" floating-point ABI. The ABI is identical toMark Kettenis
the "soft" floating-point ABI but this does allow the compiler to generate FPU instructions. ok deraadt@
2017-10-04Import LLVM 5.0.0 release including clang, lld and lldb.Patrick Wildt
2018-04-30The trapframe layout is no longer exactly the same as the sigcontextPhilip Guenther
layout. Simplify how we identify which frames have trapframes while here. ok kettenis@
2018-04-28Add a clang pass that identifies potential ROP gadgets and replaces ROPmortimer
friendly instructions with safe alternatives. This initial commit fixes 3 instruction forms that will lower to include a c3 (return) byte. Additional problematic instructions can be fixed incrementally using this framework. ok deraadt@
2018-04-24Make our ancient binutils recognize .gnu.hash sections such that our toolsMark Kettenis
don't barf on binaries created by ld.lld(1). From FreeBSD. ok millert@, deraadt@, guenther@
2018-04-21more undos from the mistake this morningTheo de Raadt
2018-04-20revert to 2018/04/20 10:00:00, before oopsChristian Weisgerber
2018-04-20oops, snapshot tests not ready yetTheo de Raadt
2018-04-20syncTheo de Raadt
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2018-04-14Correct heap overflow bugs in perlAndrew Fresh
* RT #131844: [CVE-2018-6913] heap-buffer-overflow in S_pack_rec Reported by GwanYeong Kim, fixed by Tony Cook. * RT #132063: [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c) Reported by Nguyen Duc Manh, fixed by Karl Williamson, Yves Orton, and Tony Cook. * RT #132227: [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c) Reported by Brian Carpenter, fixed by Yves Orton, Karl Williamson, and Tony Cook. Many thanks to deraadt@ tj@ bluhm@ tb@ robert@
2018-04-12keep the STT_FILE symbol in the table so that we know what fileRobert Nagy
was used to compile and object ok kettenis@
2018-04-07Install a bunch more headers included by intrin.h, fixes at least libvpxLandry Breuil
and probably firefox on amd64/i386. ok patrick@
2018-04-07add back ld.lld 6.0 changesJonathan Gray
2018-04-07regenJonathan Gray
2018-04-06Install clwbintrin.h as it is needed by immintrin.h.Patrick Wildt
Noticed by sthen@
2018-04-06Move Version.inc to the correct folder.Patrick Wildt
Noticed by sthen@
2018-04-06Tedu files that got removed in LLVM 6.0.0.Patrick Wildt
2018-04-06Patch binutils 2.17 so that it passes option -Wno-null-pointer-arithmeticPatrick Wildt
when compiling with LLVM 6.0.0. This is a good enough temporary fix. "where's the kaboom?" deraadt@
2018-04-06Update clang build infrastructure for LLVM 6.0.0.Patrick Wildt
2018-04-06Merge LLVM 6.0.0 release.Patrick Wildt
2018-04-06Import LLVM 6.0.1 release including clang, lld and lldb.Patrick Wildt
"where is the kaboom?" deraadt@
2017-01-24Import LLVM 4.0.0 rc1 including clang and lld to help the currentPatrick Wildt
development effort on OpenBSD/arm64.
2017-01-14Import LLVM 3.9.1 including clang and lld.Patrick Wildt
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2018-04-01LLVM 6.0.0's -Wextra warnings now complain if you do arithmetics on NULLPatrick Wildt
pointers. Since binutils 2.17 is compiled with -Werror, this breaks the build. Change the function to return -1 as suggested by the comment in said function. ok kettenis@
2018-03-02Add a manual page for lld from lld svn rev 326463 with options notJonathan Gray
present in lld 5.0.1 removed (--build-id=fast, -z muldefs, -z retpolineplt). This includes a bunch of mdoc changes suggested by schwarze@ that were recently committed upstream. ok jmc@ schwarze@ kettenis@ deraadt@
2018-01-25Fix perl build not to install libperl* twice. This has caused anYASUOKA Masahiko
actual error if "install" was done parallelly. ok espie todd andrew1, input andrew1
2018-01-23Revise 'struct fpreg' such that it can actually represent the full VFPv3-D32Mark Kettenis
state. ok patrick@
2018-01-22regenJonathan Gray
2018-01-22add clang-local(1) to SEE ALSOJonathan Gray
suggested by jmc@ ok patrick@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2018-01-04Add ARM EABI aliases and remove functions that are also provided by our libc.Mark Kettenis
This allows linking code compiled by clang with the gcc compiler driver and makes sure we always use the softfloat implementation in libc. The libc softfloat implementation is preferred over the one in libgcc as it implements rounding modes and floating point exceptions. ok patrick@
2018-01-01Make lld respect ALIGN directives on output sections even with -r. FixesMark Kettenis
the generation of gap.o. ok patrick@
2017-01-14Import LLVM 3.9.1 including clang and lld.Patrick Wildt
2017-12-26Cherry-pick a change from LLD to make the behavior of the -v optionPatrick Wildt
more closer to GNU linkers. This should help with autoconf/libtool compatibility in ports. Requested by Brad "no objection" kettenis@
2017-12-26Cherry-pick a change from LLVM that marks specific pseudo memoryPatrick Wildt
instructions to have side effects so the optimizer does not reorder them across fnstcw/fldcw sequences. Fixes a bug seen in sqlite3 on i386. ok kettenis@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-12-25Tedu files that got removed in LLVM 5.0.1.Patrick Wildt