[PATCH] DataFlowSanitizer: Add a design doc paragraph on checking ABI consistency.

Peter Collingbourne peter at pcc.me.uk
Mon Aug 19 19:31:49 PDT 2013


Hi kcc,

http://llvm-reviews.chandlerc.com/D1443

Files:
  docs/DataFlowSanitizerDesign.rst

Index: docs/DataFlowSanitizerDesign.rst
===================================================================
--- docs/DataFlowSanitizerDesign.rst
+++ docs/DataFlowSanitizerDesign.rst
@@ -205,3 +205,16 @@
 internally.  This has the advantage of reducing the number of union operations
 required when the return value label is known to be zero (i.e. ``discard``
 functions, or ``functional`` functions with known unlabelled arguments).
+
+Checking ABI Consistency
+------------------------
+
+DFSan changes the ABI of each function in the module.  This makes it possible
+for a function with the native ABI to be called with the instrumented ABI,
+or vice versa, thus possibly invoking undefined behavior.  A simple way
+of statically detecting instances of this problem is to prepend the prefix
+"dfs$" to the name of each instrumented-ABI function.
+
+This will not catch every such problem; in particular function pointers passed
+across the instrumented-native barrier cannot be used on the other side.
+These problems could potentially be caught dynamically.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1443.1.patch
Type: text/x-patch
Size: 1061 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130819/73376aff/attachment.bin>


More information about the cfe-commits mailing list