[cfe-dev] [LLVMdev] lsan for LLVM bootstrap; leaks in TableGen

dblaikie at gmail.com dblaikie at gmail.com
Wed Dec 25 07:38:51 PST 2013

Its generally been by design that tblgen leaks. Might be nice to fix one
day but it's been that way for a while now so don't expect it to be fixed

If thats the suppression mechanism of choice (I would've expected a build
flag option) for lsan, I'd say go for it.

(Maybe there's some existing build flag handling for valgrind so as not to
leak check tblgen, but that would be a runtime flag, not build time)

On Wednesday, December 25, 2013 7:08:27 AM, Kostya Serebryany
<kcc<kcc at google.com>
@ <kcc at google.com>google.com <kcc at google.com>> wrote:


We are trying to enable LeakSanitizer on our asan/msan llvm bootstrap bot

linux <http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/>

In clang itself there are two leaks

(http:// <http://llvm.org/bugs/show_bug.cgi?id=18318>llvm.org<http://llvm.org/bugs/show_bug.cgi?id=18318>
/bugs/show_bug.cgi?id=18318 <http://llvm.org/bugs/show_bug.cgi?id=18318>,

and one lsan-hostile feature (http://llvm.org/bugs/show_bug.cgi?id=18320),

all of which are easy to fix.

And there are also lots of leaks in TableGen.

Would anyone be interested in fixing TableGen leaks?

I'd guess not since TableGen is not a user-facing utility, leaks there are
not too harmful.

If so, I'd like to disable lsan for TableGen so that

we can enable lsan on the bootstrap bot soon. Objections?


Index: utils/TableGen/TableGen.cpp


--- utils/TableGen/TableGen.cpp (revision 198007)

+++ utils/TableGen/TableGen.cpp (working copy)

@@ -180,3 +180,7 @@

   return TableGenMain(argv[0], &LLVMTableGenMain);



+extern "C" {

+int __lsan_is_turned_off() { return 1; }

+}  // extern "C"

Index: tools/clang/utils/TableGen/TableGen.cpp


--- tools/clang/utils/TableGen/TableGen.cpp     (revision 198007)

+++ tools/clang/utils/TableGen/TableGen.cpp     (working copy)

@@ -248,3 +248,7 @@

   return TableGenMain(argv[0], &ClangTableGenMain);



+extern "C" {

+int __lsan_is_turned_off() { return 1; }

+}  // extern "C"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131225/f3ff9f22/attachment.html>

More information about the cfe-dev mailing list