[PATCH] D37581: Implement pagerando wrapper functions to initialize POT register

Stephen Crane via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 10 17:42:51 PDT 2017


rinon updated this revision to Diff 118511.
rinon added a comment.

- Rebase
- Don't apply pagerando to naked functions

A naked function should not get a pagerando wrapper, so cannot be placed in a
bin if it would require a wrapper. Naked functions are also used for CFI jump
tables (on non-windows platforms), which cannot be placed in pagerando bins
because they are PC-relative direct jumps in inline ASM.


https://reviews.llvm.org/D37581

Files:
  docs/BitCodeFormat.rst
  docs/LangRef.rst
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/IR/Attributes.td
  include/llvm/IR/Function.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Transforms/IPO.h
  lib/AsmParser/LLLexer.cpp
  lib/AsmParser/LLParser.cpp
  lib/AsmParser/LLToken.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/IR/Attributes.cpp
  lib/IR/Verifier.cpp
  lib/LTO/LTOBackend.cpp
  lib/Transforms/IPO/CMakeLists.txt
  lib/Transforms/IPO/IPO.cpp
  lib/Transforms/IPO/PagerandoWrappers.cpp
  test/Transforms/PagerandoWrappers/address-taken.ll
  test/Transforms/PagerandoWrappers/calls.ll
  test/Transforms/PagerandoWrappers/varargs.ll
  test/Transforms/PagerandoWrappers/wrapper-body.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37581.118511.patch
Type: text/x-patch
Size: 27028 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171011/8c78d196/attachment.bin>


More information about the llvm-commits mailing list