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

Alexey Samsonov samsonov at google.com
Wed Jun 26 06:14:05 PDT 2013


On Wed, Jun 26, 2013 at 5:09 PM, Dmitry Vyukov <dvyukov at google.com> wrote:

> On Wed, Jun 26, 2013 at 4:59 PM, Alexey Samsonov <samsonov at google.com>
> wrote:
> >
> >
> > On Tue, Jun 25, 2013 at 9:09 PM, Dmitry Vyukov <dvyukov at google.com>
> wrote:
> >>
> >> There are still some moments that are unclear to me:
> >> 1. Is INTERCEPTOR_ATTRIBUTE part of public interface of interceptor
> >> library?
> >> 2. Will it preserve it's meaning over time? It looks like an
> >> implementation detail of interceptor machinery.
> >>
> >> 3. We do not intercept operator new/delete as interception library
> >> does (i.e. hot patching function prologue). We just define our own
> >> versions. So is it the same?
> >
> >
> > +glider
> >
> > "hot patching" is not used anymore.
> > But, the question is interesting. It looks like we really "define" our
> own
> > new/delete and want
> > to export them, so SANITIZER_INTERFACE_ATTRIBUTE is the correct macro for
> > it.
> >
> > Interceptors on Mac doesn't have __attribute__((visibility("default"))).
> > Should new/delete on Mac
> > have it?
> >
> >>
> >>
> >>
> >> On Tue, Jun 25, 2013 at 8:55 PM, Sergey Matveev <earthdok at google.com>
> >> wrote:
> >> > You also have operators new and delete in this patch.
> >> >
> >> > On Tue, Jun 25, 2013 at 8:40 PM, Dmitry Vyukov <dvyukov at google.com>
> >> > wrote:
> >> >>
> >> >> __interceptor__setjmp() is not an interceptor, it's an interface
> >> >> function.
> >
> >
> > Why?
>
> Because they do not intercept anything. foo() intercepts,
> __interceptor_foo() is an interface function that can be called by
> user.
>

This is way weird (why are they called this way?), but ok.


-- 
Alexey Samsonov, MSK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130626/bac0a76f/attachment.html>


More information about the llvm-commits mailing list