<div dir="ltr">SGTM. This would be useful to me (and certainly others as well) even outside the tests because we don't use the system installed C++ stdlib, but still need the other system libraries.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 14, 2015 at 8:31 AM, Eric Fiselier <span dir="ltr"><<a href="mailto:eric@efcs.ca" target="_blank">eric@efcs.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
Currently we cannot use sanitizers and other instrumentation when<br>
building and testing libc++ on OS X. For obvious reasons we have to<br>
use '-nodefaultlibs' to ensure that clang doesn't link in another<br>
standard library. On linux using '-fsanitize=...' and '-nodefaultlibs'<br>
will link compiler-rt but on OS X it will not. I imagine other<br>
platforms might also have this problem.<br>
<br>
Manually linking compiler-rt is hard if not impossible and it would be<br>
nice if we could have the linker driver do it for us. The changes<br>
required to allow OS X to link compiler-rt with '-nodefaultlibs' seem<br>
quite complicated and I don't think I would be able to make the<br>
changes myself.<br>
<br>
Should compiler-rt be linked when '-fsanitize=...' and<br>
'-nodefaultlibs' are given? This behavior should be uniform across all<br>
platforms. If not then how can we make manually linking compiler-rt<br>
easier?<br>
<br>
As an aside libc++ probably doesn't need to drop all default<br>
libraries, just the standard library. Currently there is no way to do<br>
this. One option that would fit our use case would be to add the<br>
'-stdlib=none' option that only prevented linking (and including) the<br>
standard library.<br>
<br>
Are there any thoughts on adding '-stdlib=none'?<br>
<br>
Related discussions can be found below:<br>
<br>
[cfe-dev] Linking ProfileRT when using -nodefaultlibs<br>
<a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-November/039873.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-November/039873.html</a><br>
<br>
r218541 - Don't link in sanitizer runtimes if -nostdlib/-nodefaultlibs<br>
is provided.<br>
<a href="http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20141020/116984.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20141020/116984.html</a><br>
<span class="HOEnZb"><font color="#888888"><br>
/Eric<br>
</font></span></blockquote></div><br></div>