On Thu, Mar 21, 2013 at 2:31 AM, Jean-Daniel Dupas <span dir="ltr"><<a href="mailto:devlists@shadowlab.org" target="_blank">devlists@shadowlab.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Le 21 mars 2013 à 00:49, Richard Smith <<a href="mailto:richard-llvm@metafoo.co.uk">richard-llvm@metafoo.co.uk</a>> a écrit :<br>
<div class="im"><br>
> Author: rsmith<br>
> Date: Wed Mar 20 18:49:07 2013<br>
> New Revision: 177605<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=177605&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=177605&view=rev</a><br>
> Log:<br>
> Split ubsan runtime into three pieces (clang part):<br>
> * libclang_rt-san-* is sanitizer_common, and is linked in only if no other<br>
>   sanitizer runtime is present.<br>
> * libclang_rt-ubsan-* is the piece of the runtime which doesn't depend on<br>
>   a C++ ABI library, and is always linked in.<br>
> * libclang_rt-ubsan_cxx-* is the piece of the runtime which depends on a<br>
>   C++ ABI library, and is only linked in when linking a C++ binary.<br>
><br>
> This change also switches us to using -whole-archive for the ubsan runtime<br>
> (which is made possible by the above split), and switches us to only linking<br>
> the sanitizer runtime into the main binary and not into DSOs (which is made<br>
> possible by using -whole-archive).<br>
><br>
> The motivation for this is to only link a single copy of sanitizer_common<br>
> into any binary. This is becoming important now because we want to share<br>
> more state between multiple sanitizers in the same process (for instance,<br>
> we want a single shared output mutex).<br>
><br>
> The Darwin ubsan runtime is unchanged; because we use a DSO there, we don't<br>
> need this complexity.<br>
><br>
<br>
</div>AFAIK, while Darwin uses DSO for asan, I still uses static library for ubsan, except if it has changed recently.<br></blockquote></div><br><div>Hmm, you're correct, but I think we're OK there because we use a DSO for asan.</div>