On Thu, Mar 21, 2013 at 2:31 AM, Jean-Daniel Dupas <[email protected]>wrote:
> > Le 21 mars 2013 à 00:49, Richard Smith <[email protected]> a > écrit : > > > Author: rsmith > > Date: Wed Mar 20 18:49:07 2013 > > New Revision: 177605 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=177605&view=rev > > Log: > > Split ubsan runtime into three pieces (clang part): > > * libclang_rt-san-* is sanitizer_common, and is linked in only if no > other > > sanitizer runtime is present. > > * libclang_rt-ubsan-* is the piece of the runtime which doesn't depend on > > a C++ ABI library, and is always linked in. > > * libclang_rt-ubsan_cxx-* is the piece of the runtime which depends on a > > C++ ABI library, and is only linked in when linking a C++ binary. > > > > This change also switches us to using -whole-archive for the ubsan > runtime > > (which is made possible by the above split), and switches us to only > linking > > the sanitizer runtime into the main binary and not into DSOs (which is > made > > possible by using -whole-archive). > > > > The motivation for this is to only link a single copy of sanitizer_common > > into any binary. This is becoming important now because we want to share > > more state between multiple sanitizers in the same process (for instance, > > we want a single shared output mutex). > > > > The Darwin ubsan runtime is unchanged; because we use a DSO there, we > don't > > need this complexity. > > > > AFAIK, while Darwin uses DSO for asan, I still uses static library for > ubsan, except if it has changed recently. > Hmm, you're correct, but I think we're OK there because we use a DSO for asan.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
