<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Wed, Jun 26, 2013 at 5:09 PM, Dmitry Vyukov <span dir="ltr"><<a href="mailto:dvyukov@google.com" target="_blank">dvyukov@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, Jun 26, 2013 at 4:59 PM, Alexey Samsonov <<a href="mailto:samsonov@google.com">samsonov@google.com</a>> wrote:<br>

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