[compiler-rt] r184858 - tsan: add missing __attribute__((visibility("default"))) to interface functions

Sergey Matveev earthdok at google.com
Tue Jun 25 08:43:53 PDT 2013


Shouldn't this be INTERCEPTOR_ATTRIBUTE?


On Tue, Jun 25, 2013 at 7:36 PM, Dmitry Vyukov <dvyukov at google.com> wrote:

> Author: dvyukov
> Date: Tue Jun 25 10:36:25 2013
> New Revision: 184858
>
> URL: http://llvm.org/viewvc/llvm-project?rev=184858&view=rev
> Log:
> tsan: add missing __attribute__((visibility("default"))) to interface
> functions
>
> Modified:
>     compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc
>
> Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc?rev=184858&r1=184857&r2=184858&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc (original)
> +++ compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc Tue Jun 25
> 10:36:25 2013
> @@ -367,21 +367,29 @@ extern "C" void __tsan_setjmp(uptr sp, u
>  }
>
>  // Not called.  Merely to satisfy TSAN_INTERCEPT().
> +extern "C" int __interceptor_setjmp(void *env)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  extern "C" int __interceptor_setjmp(void *env) {
>    CHECK(0);
>    return 0;
>  }
>
> +extern "C" int __interceptor__setjmp(void *env)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  extern "C" int __interceptor__setjmp(void *env) {
>    CHECK(0);
>    return 0;
>  }
>
> +extern "C" int __interceptor_sigsetjmp(void *env)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  extern "C" int __interceptor_sigsetjmp(void *env) {
>    CHECK(0);
>    return 0;
>  }
>
> +extern "C" int __interceptor___sigsetjmp(void *env)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  extern "C" int __interceptor___sigsetjmp(void *env) {
>    CHECK(0);
>    return 0;
> @@ -493,15 +501,26 @@ TSAN_INTERCEPTOR(uptr, malloc_usable_siz
>    invoke_malloc_hook(p, size);  \
>    return p;
>
> +void *operator new(__sanitizer::uptr size)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  void *operator new(__sanitizer::uptr size) {
>    OPERATOR_NEW_BODY(_Znwm);
>  }
> +
> +void *operator new[](__sanitizer::uptr size)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  void *operator new[](__sanitizer::uptr size) {
>    OPERATOR_NEW_BODY(_Znam);
>  }
> +
> +void *operator new(__sanitizer::uptr size, std::nothrow_t const&)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  void *operator new(__sanitizer::uptr size, std::nothrow_t const&) {
>    OPERATOR_NEW_BODY(_ZnwmRKSt9nothrow_t);
>  }
> +
> +void *operator new[](__sanitizer::uptr size, std::nothrow_t const&)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  void *operator new[](__sanitizer::uptr size, std::nothrow_t const&) {
>    OPERATOR_NEW_BODY(_ZnamRKSt9nothrow_t);
>  }
> @@ -514,15 +533,26 @@ void *operator new[](__sanitizer::uptr s
>    SCOPED_INTERCEPTOR_RAW(mangled_name, ptr);  \
>    user_free(thr, pc, ptr);
>
> +void operator delete(void *ptr)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  void operator delete(void *ptr) {
>    OPERATOR_DELETE_BODY(_ZdlPv);
>  }
> +
> +void operator delete[](void *ptr)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  void operator delete[](void *ptr) {
>    OPERATOR_DELETE_BODY(_ZdlPvRKSt9nothrow_t);
>  }
> +
> +void operator delete(void *ptr, std::nothrow_t const&)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  void operator delete(void *ptr, std::nothrow_t const&) {
>    OPERATOR_DELETE_BODY(_ZdaPv);
>  }
> +
> +void operator delete[](void *ptr, std::nothrow_t const&)
> +    SANITIZER_INTERFACE_ATTRIBUTE;
>  void operator delete[](void *ptr, std::nothrow_t const&) {
>    OPERATOR_DELETE_BODY(_ZdaPvRKSt9nothrow_t);
>  }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130625/ec3a6f42/attachment.html>


More information about the llvm-commits mailing list