update build infrastructure for llvm-16.0.6
Update build infrastructure for LLVM 13.0.0.
Update clang build infrastructure for LLVM 11.1.0.Heavy lifting by mortimer@, thank you so much!
Update build infrastructure for LLVM 10.0.1.
Update build infrastructure for LLVM 10.0.0.ok hackroom@tested by plenty
Update clang build infrastructure for LLVM 8.0.0.
Build and install a shared libLLVM, llvm-config and llvm includes.This is required to build the radeonsi Mesa driver.ok patrick@
In preparation for reusing libLLVM component library Makefiles to buildlibLLVM from a single directory avoid reused filenames by symlinkingduplicated names with a prefix of the component library na
In preparation for reusing libLLVM component library Makefiles to buildlibLLVM from a single directory avoid reused filenames by symlinkingduplicated names with a prefix of the component library name so objectfile names will be unique.symlink approach suggested by deraadt@ ok patrick@
show more ...
Update clang build infrastructure for LLVM 7.0.1.
Refactor retguard to make adding additional arches easier.
Add RETGUARD to clang for amd64. This security mechanism uses per-functionrandom cookies to protect access to function return instructions, with theeffect that the integrity of the return address i
Add RETGUARD to clang for amd64. This security mechanism uses per-functionrandom cookies to protect access to function return instructions, with theeffect that the integrity of the return address is protected, and functionreturn instructions are harder to use in ROP gadgets.On function entry the return address is combined with a per-function randomcookie and stored in the stack frame. The integrity of this value is verifiedbefore function return, and if this check fails, the program aborts. In this wayRETGUARD is an improved stack protector, since the cookies are per-function. Theverification routine is constructed such that the binary space immediatelybefore each ret instruction is padded with int03 instructions, which makes thesereturn instructions difficult to use in ROP gadgets. In the kernel, this has theeffect of removing approximately 50% of total ROP gadgets, and 15% of uniqueROP gadgets compared to the 6.3 release kernel. Function epilogues areessentially gadget free, leaving only the polymorphic gadgets that result fromjumping into the instruction stream partway through other instructions. Work toremove these gadgets will continue through other mechanisms.Remaining work includes adding this mechanism to assembly routines, which mustbe done by hand. Many thanks to all those who helped test and provide feedback,especially deaadt, tb, espie and naddy.ok deraadt@
Update clang build infrastructure for LLVM 6.0.0.
Update clang build infrastructure for LLVM 5.0.0.
zap empty depends/silence empty installs.okay millert@
Update clang build infrastructure for LLVM 4.0.0Discussed with kettenis@
Update clang build infrastructure for LLVM 3.9.1"go ahead" kettenis@"just go ahead" deraadt@"sounds good to me" stefan@
LLVM/Clang build system. This only builds the bare minimum of what is neededto get a working "clang" binary.Note that you need GCC from ports to bootstrap clang.looks good to patrick@, ok jsg@
LLVM/Clang build system. This only builds the bare minimum of what is neededto get a working "clang" binary.Note that you need GCC from ports to bootstrap clang.looks good to patrick@, ok jsg@ kettenis@