| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Merge LLVM 5.0.1 release. | 2017-12-24 | 1 | -5/+14 | ||
| | | ||||||
| * | Import LLVM 5.0.1 release including clang, lld and lldb. | 2017-12-24 | 40 | -147/+727 | ||
| | | ||||||
| * | The compiler is generally free to allocate general purpose registers in whatever | 2017-11-21 | 1 | -3/+3 | ||
| | | | | | | | | | | | | | | | | | | | | | | order it chooses. Reasons for choosing one register before another usually incl ude compiled instruction size (avoidance of REX prefixes, etc.) or usage convent ions, but somehow haven't included security implications in the compiled bytecod e. Some bytecode is more useful in polymorphic ROP sequences than others, so it seems prudent to try to avoid that bytecode when possible. This patch moves EBX/RBX towards the end of the allocation preference for 32 and 64 bit general purpose registers. Some instructions using RBX/EBX/BX/BL as a de stination register end up with a ModR/M byte of C3 or CB, which is often useful in ROP gadgets. Because these gadgets often occur in the middle of functions, th ey exhibit somewhat higher diversity than some other C3/CB terminated gadgets. T his change removes about 3% of total gadgets from the kernel, but about 6% of un ique gadgets. There are other possible changes in this direction. BX/BL are obvious next targe ts for avoidance, and MM3/XMM3 may also be useful to try to avoid if possible. ok deraadt@ | |||||
| * | Tedu files that got removed in LLVM 5.0.0. | 2017-10-04 | 21 | -17469/+0 | ||
| | | ||||||
| * | Merge LLVM 5.0.0 release. | 2017-10-04 | 5 | -621/+1033 | ||
| | | ||||||
| * | Import LLVM 5.0.0 release including clang, lld and lldb. | 2017-10-04 | 960 | -40068/+153409 | ||
| | | ||||||
| * | Use int3 trap padding between functions instead of trapsleds with a leading jump. | 2017-08-01 | 2 | -0/+8 | ||
| | | | | | ok deraadt@ | |||||
| * | Fix trapsleds on i386 | 2017-07-29 | 1 | -9/+0 | ||
| | | | | | ok deraadt@ | |||||
| * | trapsleds for clang, similar to the change on gas side. | 2017-06-27 | 1 | -31/+15 | ||
| | | | | | | Also from Todd Mortimer tested by espie | |||||
| * | Merge LLVM 4.0.0 release. | 2017-03-14 | 2 | -5/+7 | ||
| | | ||||||
| * | Import LLVM 4.0.0 release including clang and lld. | 2017-03-14 | 49 | -572/+713 | ||
| | | ||||||
| * | Merge LLVM 4.0.0 rc1 | 2017-01-24 | 10 | -1793/+597 | ||
| | | ||||||
| * | Import LLVM 4.0.0 rc1 including clang and lld to help the current | 2017-01-24 | 920 | -43740/+101821 | ||
| | | | | | development effort on OpenBSD/arm64. | |||||
| * | Disable the Load Stack Guard for OpenBSD on AArch64. We don't use it | 2017-01-14 | 2 | -1/+2 | ||
| | | | | | | | | | on any other platform and it causes a segfault in combination with our IR Stack Guard. "looks reasonable" kettenis@ "looks good to me" stefan@ | |||||
| * | Merge LLVM 3.9.1 | 2017-01-14 | 102 | -7496/+0 | ||
| | | ||||||
| * | Import LLVM 3.9.1 including clang and lld. | 2017-01-14 | 939 | -45165/+106306 | ||
| | | ||||||
| * | Use the space freed up by sparc and zaurus to import LLVM. | 2016-09-03 | 1334 | -0/+656831 | ||
| ok hackroom@ | ||||||
