[PATCH] [ASan] Don't hardcode ASan runtime version in ASan dll thunk

Kostya Serebryany kcc at google.com
Thu Jul 10 01:17:19 PDT 2014


On Thu, Jul 10, 2014 at 3:26 AM, Alexey Samsonov <vonosmas at gmail.com> wrote:

> ================
> Comment at: lib/asan/asan_dll_thunk.cc:238
> @@ -236,3 +237,3 @@
>
>  INTERFACE_FUNCTION(__asan_memcpy);
>  INTERFACE_FUNCTION(__asan_memset);
> ----------------
> Timur Iskhodzhanov wrote:
> > The thing is that `asan_interface_internal.h` defines pretty much the
> same set of functions that I do here using the `INTERFACE_FUNCTION` macro.
>  For editing simplicity reasons, the `INTERFACE_FUNCTION` macro doesn't
> know the argument types of the function, so we end up with conflicts
> between two declarations:
> >
> >   asan_dll_thunk.cc(238) : error C2733: '__asan_memcpy' : second C
> linkage of overloaded function not allowed
> >         asan_interface_internal.h(156) : see declaration of
> '__asan_memcpy'
> >   asan_dll_thunk.cc(238) : error C2440: 'type cast' : cannot convert
> from 'overloaded-function' to '__sanitizer::uptr'
> >         Context does not allow for disambiguation of overloaded function
> >
> > This is basically the reason why I haven't just used `__asan_init` in
> the first place...
> > Can we move declarations/definitions between headers somehow or have a
> minimalistic declaration-only new header for `__asan_init`?
> Yeah, let's create asan_init_version.h which would hold all the comments
> about ABI versions and have
>   #define ASAN_VERSIONED_INIT __asan_init_v4
> and get rid of all __asan_init mentions throughout the code.
>

sounds good, do it.


>
> Kostya, are you OK with that?
>
> http://reviews.llvm.org/D4411
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140710/2ebe7cad/attachment.html>


More information about the llvm-commits mailing list