Regarding handling of the "-lpthread*" option: I tried to move the code 
adding various libraries to addSanitizerRTLinkFlagsLinux[OrFreeBSD]() and that 
resulted in a somewhat larger function with a lot of conditions for different 
libraries. No problem with implementing it this way, but it seems the 
readability suffers significantly.


================
Comment at: lib/Driver/SanitizerArgs.cpp:249
@@ -248,2 +248,3 @@
                                                unsigned &DiagnosedKinds) {
-  bool IsLinux = TC.getTriple().getOS() == llvm::Triple::Linux;
+  bool IsPosix = TC.getTriple().getOS() == llvm::Triple::Linux ||
+                 TC.getTriple().getOS() == llvm::Triple::FreeBSD;
----------------
Alexey Samsonov wrote:
> IsPosix name is bad, Mac OS X is also Posix. You can just use 
> "IsLinuxOrFreeBSD".
> By the way, did you really check that TSan, MSan, DFSan all work on FreeBSD?
Yes, with corresponding changes applied (not submitted for review yet) we do 
support those on FreeBSD.

================
Comment at: lib/Driver/Tools.cpp:1910
@@ +1909,3 @@
+        Args.MakeArgString("--dynamic-list=" + LibSanitizer + ".syms"));
+
+  return syms;
----------------
Alexey Samsonov wrote:
> To support previous comment - either comment is now wrong, or you forgot to 
> add --export-dynamic here.
I will fix this, but just to make the logic clear: in this case we return true 
to let the caller know we should append "--export-dynamic".


http://llvm-reviews.chandlerc.com/D2644
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to