[sanitizer] add CombinedAllocator::InitIfLinkerInitialized and use it in lsan: speeds up lsan start-up time by ~25%

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224469 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Always build shared ASan runtime on Linux.

This commit changes the strategy for building shared ASan runtime
and the way we test it:
  - COMPILER_RT_BUILD_SHARED_ASAN CMake option is removed. We now
    always build shared ASan runtime (it is the default on Android,
    Windows and Mac, and not the default on Linux and FreeBSD).
  - Platforms, which use static runtime by default now have
    "check-asan-dynamic" testsuite. This testsuite contains instrumented
    unit tests, and ASan lit tests, and runs them with shared ASan
    runtime. This testsuite is *not* a part of "check-asan" and
    *not* a part of "check-all", as adding 1000 more test cases, which
    duplicate existing ones is costly. However, you're welcome to
    add this command to your buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224470 91177308-0d34-0410-b5e6-96231b3b80d8
Fix obvious cut&paste error on AArch64 Compiler-RT settings

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224472 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Add -ldl to linker invocation to lit tests that require it.

This fixes these tests under dynamic ASan runtime.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224473 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Mark test for -fsized-delete as XFAIL for dynamic runtime.

-fsized-delete is implemented via weak symbols, and doesn't work
properly when malloc/free replacements are provided in shared
ASan runtime.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224474 91177308-0d34-0410-b5e6-96231b3b80d8