aboutsummaryrefslogtreecommitdiff
path: root/lib/Support/LockFileManager.cpp
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2013-01-17 13:15:42 -0800
committerDerek Schuff <dschuff@chromium.org>2013-01-17 13:15:42 -0800
commit6dead1cbf252b2a84f774c9b37f775062281e701 (patch)
tree76f7fa308115a9559c27da8f6e0dcc05a404acfe /lib/Support/LockFileManager.cpp
parentbedd5104775bcc8ed851721de63a01c9a032869f (diff)
Skeleton for pass-based bitcode ABI verifier
This is the skeleton for a verifier for the portion of the PNaCl bitcode ABI that can be verified after the bitcode has been read into a Module object. There is a ModulePass for module-level rules (e.g. GV linkage types) and a FunctionPass for rules that apply to function bodies (e.g. legal instructions). They are separated this way to keep the verifier streaming-friendly. For now, the passes are registered but not hooked up, so they can only be run manually via opt. There are 2 bits of actual functionality, just so each pass has something to do: The ModulePass checks the linkage types of GVs, and the FunctionPass checks instruction opcodes. For now only the terminator instructions are checked, but the idea is to add the rest of the allowed instructions to the whitelist, and possibly call operand checks from the switch statement as well. For now we just print messagees to stderr, but we will probably want a better way to plumb the errors in the browser in the future. R=jvoung@chromium.org,sehr@chromium.org BUG= https://code.google.com/p/nativeclient/issues/detail?id=2196 Review URL: https://codereview.chromium.org/11986002
Diffstat (limited to 'lib/Support/LockFileManager.cpp')
0 files changed, 0 insertions, 0 deletions