summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/CodeGen/StackProtector.cpp
AgeCommit message (Collapse)AuthorFilesLines
2019-06-23Merge LLVM 8.0.0 release.patrick1-17/+24
Prepared with help from jsg@ and mortimer@ Tested on amd64 by bcallah@, krw@, naddy@ Tested on arm64 by patrick@ Tested on macppc by kettenis@ Tested on octeon by visa@ Tested on sparc64 by claudio@
2019-01-27Merge LLVM 7.0.1 release.patrick1-35/+44
With fixes from mortimer@ (thanks!) Tested by many, especially naddy@ (thanks!)
2018-04-06Merge LLVM 6.0.0 release.patrick1-23/+35
2017-10-04Merge LLVM 5.0.0 release.patrick1-15/+62
2017-01-24Merge LLVM 4.0.0 rc1patrick1-6/+1
2017-01-14Merge LLVM 3.9.1patrick1-109/+89
2016-09-07Backport https://reviews.llvm.org/rL279449 from upstreamstefan1-4/+2
ok pascal@ Original commit message: [SSP] Do not set __guard_local to hidden for OpenBSD SSP guard_local is defined as long on OpenBSD. If the source file contains a definition of guard_local, it mismatches with the int8 pointer type used in LLVM. In that case, Module::getOrInsertGlobal() returns a cast operation instead of a GlobalVariable. Trying to set the visibility on the cast operation leads to random segfaults (seen when compiling the OpenBSD kernel, which also runs with stack protection). In the kernel, the hidden attribute does not matter. For userspace code, guard_local is defined as hidden in the startup code. If a program re-defines guard_local, the definition from the startup code will either win or the linker complains about multiple definitions (depending on whether the re-defined __guard_local is placed in the common segment or not). It also matches what gcc on OpenBSD does.
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.pascal1-0/+493
ok hackroom@