[PATCH] Add compiler support for dynamic Asan runtime
Yury Gribov
tetra2005 at gmail.com
Wed Mar 19 09:08:24 PDT 2014
> Please add tests for this
Done as part of D3043. Or do you want Clang tests? But I don't think we have any to date, everything is tested in compiler-rt...
================
Comment at: lib/Driver/SanitizerArgs.cpp:176
@@ +175,3 @@
+ Args.hasFlag(options::OPT_shared_libasan,
+ options::OPT_shared_libasan,
+ /* Default */false);
----------------
Alexey Samsonov wrote:
> Why not hasArg()?
Will fix.
================
Comment at: lib/Driver/Tools.cpp:1837
@@ -1824,3 +1836,3 @@
// whole-archive.
- SmallVector<const char *, 3> LibSanitizerArgs;
+ SmallVector<const char *, 4> LibSanitizerArgs;
LibSanitizerArgs.push_back("-whole-archive");
----------------
Alexey Samsonov wrote:
> The logic is too obscure here. --whole-archive makes no sense for dynamic library.
>
> If we're linking executable, add "--whole-archive X --no-whole-archive", where X is either full asan, or preinit-asan.
> Otherwise add libasan.so.
>
> Maybe it would be even simpler to pull this logic to addAsanRT (we handle dynamic runtime for Android there, for instance),
> and call addSanitizerRTLinkFlags with either "asan", or "asan-preinit".
Ok, agreed. I'll see what I can do.
http://llvm-reviews.chandlerc.com/D3043
More information about the llvm-commits
mailing list