[PATCH] DataFlowSanitizer: greylist is now ABI list.
Peter Collingbourne
peter at pcc.me.uk
Fri Aug 9 18:59:49 PDT 2013
Hi eugenis,
This replaces the old incomplete greylist functionality with an ABI
list, which can provide more detailed information about the ABI and
semantics of specific functions. The pass treats every function in
the "uninstrumented" category in the ABI list file as conforming to
the "native" (i.e. unsanitized) ABI. Unless the ABI list contains
additional categories for those functions, a call to one of those
functions will produce a warning message, as the labelling behaviour
of the function is unknown. The other supported categories are
"functional", "discard" and "custom".
- "discard" -- This function does not write to (user-accessible) memory,
and its return value is unlabelled.
- "functional" -- This function does not write to (user-accessible)
memory, and the label of its return value is the union of the label of
its arguments.
- "custom" -- Instead of calling the function, a custom wrapper __dfsw_F
is called, where F is the name of the function. This function may wrap
the original function or provide its own implementation.
http://llvm-reviews.chandlerc.com/D1345
Files:
include/llvm/Transforms/Instrumentation.h
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
test/Instrumentation/DataFlowSanitizer/abilist.ll
test/Instrumentation/DataFlowSanitizer/abilist.ll.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1345.1.patch
Type: text/x-patch
Size: 25556 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130809/af8db6df/attachment.bin>
More information about the llvm-commits
mailing list