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. -- Jean-Daniel _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
