<div dir="ltr">Hello, I was wondering with dataflow sanitizer what the preferred mechanism is for handling un-instrumented functions in external libraries?<div><br></div><div>I'm using a fresh download / build of 3.6 from github, specifically llvm, clang, and compiler-rt.  I built them with cmake, and the "check-all" tests succeeded.<div><br>I'm able to run the dataflow sanitizer <a href="http://clang.llvm.org/docs/DataFlowSanitizer.html#example">example code</a> without a problem.  </div><div><br></div><div>I then tweaked the example to also call the "readline" function.  <a href="http://pastebin.com/eUwcNGL7">Here's</a> the modified code.  When I tried to build it, I got an undefined linker error regarding "dfs$readline", shown <a href="http://pastebin.com/uLM0wdnA">here</a>.</div><div><div><br></div><div>From the <a href="http://clang.llvm.org/docs/DataFlowSanitizer.html#id3">dataflow design document</a>, I thought the solution might be to write my own special-case file.  That results in linker errors regarding functions like "dfsan_create_label", show <a href="http://pastebin.com/J6BGr5n1">here</a>.</div></div></div><div><br></div><div>The only solution that worked for me was to create a copy of the existing blacklist file "/home/cconvey/src/llvm-install/lib/clang/3.6.0/dfsan_abilist.txt", add an entry for "readline" to the end of it, and specify that as my blacklist.  That seemed to work fine, <a href="http://pastebin.com/QDgq7q8X">shown here</a>.</div><div><br></div><div>Is that the preferred approach for the moment: cloning the "dfsan_abilist.txt" file, and appending external library functions as needed?</div></div>