[PATCH] Protection against stack-based memory corruption errors using SafeStack

Peter Collingbourne peter at pcc.me.uk
Tue May 19 12:39:43 PDT 2015


- Remove TargetTransformInfo stuff
- Rename variable
- Introduce LLVM_FALLTHROUGH macro, start using it in safe stack
- Make SafeStack a FunctionPass
- Add periods
- Fix more comments, remove commented-out code
- Outline moveStaticAllocasToUnsafeStack
- Outline moveDynamicAllocasToUnsafeStack
- Use range for loop
- Use auto where type is obvious
- getOrCreateUnsafeStackPtr once
- Outline findInsts and createStackRestorePoints
- Fix typo
- Remove braces
- Remove LINUX test stuff
- Split test files
- Revert whitespace change


http://reviews.llvm.org/D6094

Files:
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/IR/Attributes.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Support/Compiler.h
  include/llvm/Transforms/Instrumentation.h
  lib/AsmParser/LLLexer.cpp
  lib/AsmParser/LLParser.cpp
  lib/AsmParser/LLToken.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/CodeGen/LLVMBuild.txt
  lib/CodeGen/Passes.cpp
  lib/IR/Attributes.cpp
  lib/IR/Verifier.cpp
  lib/Target/CppBackend/CPPBackend.cpp
  lib/Transforms/IPO/Inliner.cpp
  lib/Transforms/Instrumentation/CMakeLists.txt
  lib/Transforms/Instrumentation/Instrumentation.cpp
  lib/Transforms/Instrumentation/SafeStack.cpp
  test/Transforms/SafeStack/addr-taken.ll
  test/Transforms/SafeStack/array-aligned.ll
  test/Transforms/SafeStack/array.ll
  test/Transforms/SafeStack/call.ll
  test/Transforms/SafeStack/cast.ll
  test/Transforms/SafeStack/constant-gep-call.ll
  test/Transforms/SafeStack/constant-gep.ll
  test/Transforms/SafeStack/constant-geps.ll
  test/Transforms/SafeStack/dynamic-alloca.ll
  test/Transforms/SafeStack/escape-addr-pointer.ll
  test/Transforms/SafeStack/escape-bitcast-store.ll
  test/Transforms/SafeStack/escape-bitcast-store2.ll
  test/Transforms/SafeStack/escape-call.ll
  test/Transforms/SafeStack/escape-casted-pointer.ll
  test/Transforms/SafeStack/escape-gep-call.ll
  test/Transforms/SafeStack/escape-gep-invoke.ll
  test/Transforms/SafeStack/escape-gep-negative.ll
  test/Transforms/SafeStack/escape-gep-ptrtoint.ll
  test/Transforms/SafeStack/escape-gep-store.ll
  test/Transforms/SafeStack/escape-phi-call.ll
  test/Transforms/SafeStack/escape-select-call.ll
  test/Transforms/SafeStack/escape-vector.ll
  test/Transforms/SafeStack/invoke.ll
  test/Transforms/SafeStack/no-attr.ll
  test/Transforms/SafeStack/phi-cycle.ll
  test/Transforms/SafeStack/setjmp.ll
  test/Transforms/SafeStack/setjmp2.ll
  test/Transforms/SafeStack/struct.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6094.26082.patch
Type: text/x-patch
Size: 69082 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150519/852ec207/attachment.bin>


More information about the llvm-commits mailing list