[PATCH] D22098: [esan] Add __esan_report for mid-run data

Mike Aizatsky via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 7 12:57:04 PDT 2016

aizatsky requested changes to this revision.
This revision now requires changes to proceed.

Comment at: include/sanitizer/esan_interface.h:26
@@ +25,3 @@
+// data for that point in the run be reported from the tool.
+void __esan_report();
do you want this to be weak so that host program could be compiled without esan as well?
Or do you plan to have ifdefs in the host?

Comment at: lib/esan/esan.cpp:236
@@ +235,3 @@
+  } else if (__esan_which_tool == ESAN_WorkingSet) {
+    return reportWorkingSet();
+  }
Do you think it makes sense to have classes with virtual methods now?

All these functions perform tool-based dispatch.

Comment at: lib/esan/working_set.cpp:121
@@ -120,2 +120,3 @@
 // This routine will word-align ShadowStart and ShadowEnd prior to scanning.
+// It does *not* clear for BitIdx==TotalWorkingSetBitIdx.
 static u32 countAndClearShadowValues(u32 BitIdx, uptr ShadowStart,
can you explain why is this a desired behavior? It is not clear to me :)

Maybe making it caller's responsibility is better?

countAndClearShadowValues(u32 BitIdx, uptr ShadowStart,
                                                 uptr ShadowEnd, bool ClearBits)


More information about the llvm-commits mailing list