[llvm-commits] Specification for Run-time Checks

John Criswell criswell at illinois.edu
Wed May 9 14:47:34 PDT 2012


Dear Nuno and All,

Attached is my first draft of a specification for the run-time checks I 
would like to propose to replace the use of objectsize for dynamic 
bounds checking.  It includes a brief description of the checks and 
examples of how Clang, ASan, and SAFECode could use them.

This is a first rough draft.  Questions, comments, criticisms are 
welcome.  If people are sufficiently interested, I can make revisions 
based on comments

For the curious, implementing the functionality that Nuno wants 
(described in Section 3.1) would be trivial.  I would need to update two 
small passes in SAFECode from LLVM 3.0 to LLVM mainline, write a 
Clang-specific pass that removes calls to gepcheck, and copy the 
implementation of fastgepcheck into the correct run-time library 
(compiler-rt?).  With additional work, I could write a new pass that 
inlines the fastgepcheck so that libLTO isn't needed to inline the 
fastgepcheck implementation, but that might take a little more time.

-- John T.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: proposal.pdf
Type: application/pdf
Size: 48728 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120509/3404a6dc/attachment.pdf>


More information about the llvm-commits mailing list