<p dir="ltr"><br>
On Aug 15, 2014 7:44 AM, "Timur Iskhodzhanov" <<a href="mailto:timurrrr@google.com">timurrrr@google.com</a>> wrote:<br>
><br>
><br>
> 2012-02-08 23:52 GMT+04:00 Alexey Samsonov <<a href="mailto:samsonov@google.com">samsonov@google.com</a>>:<br>
>><br>
>> -  INTERCEPT_FUNCTION(memset);<br>
>> -  INTERCEPT_FUNCTION(strcasecmp);<br>
>> -  INTERCEPT_FUNCTION(strcat);  // NOLINT<br>
>> -  INTERCEPT_FUNCTION(strchr);<br>
>> -  INTERCEPT_FUNCTION(strcmp);<br>
>> -  INTERCEPT_FUNCTION(strcpy);  // NOLINT<br>
>> -  INTERCEPT_FUNCTION(strdup);<br>
>> -  INTERCEPT_FUNCTION(strlen);<br>
>> -  INTERCEPT_FUNCTION(strncasecmp);<br>
>> -  INTERCEPT_FUNCTION(strncmp);<br>
>> -  INTERCEPT_FUNCTION(strncpy);<br>
>> -<br>
>> -  INTERCEPT_FUNCTION(sigaction);<br>
>> -  INTERCEPT_FUNCTION(signal);<br>
>> -  INTERCEPT_FUNCTION(longjmp);<br>
>> -  INTERCEPT_FUNCTION(_longjmp);<br>
>> -  INTERCEPT_FUNCTION_IF_EXISTS(__cxa_throw);<br>
>> -  INTERCEPT_FUNCTION(pthread_create);<br>
>> +  CHECK(INTERCEPT_FUNCTION(memset));<br>
>> +  CHECK(INTERCEPT_FUNCTION(strcasecmp));<br>
>> +  CHECK(INTERCEPT_FUNCTION(strcat));  // NOLINT<br>
>> +  CHECK(INTERCEPT_FUNCTION(strchr));<br>
>> +  CHECK(INTERCEPT_FUNCTION(strcmp));<br>
>> +  CHECK(INTERCEPT_FUNCTION(strcpy));  // NOLINT<br>
>> +  CHECK(INTERCEPT_FUNCTION(strdup));<br>
>> +  CHECK(INTERCEPT_FUNCTION(strlen));<br>
>> +  CHECK(INTERCEPT_FUNCTION(strncasecmp));<br>
>> +  CHECK(INTERCEPT_FUNCTION(strncmp));<br>
>> +  CHECK(INTERCEPT_FUNCTION(strncpy));<br>
>> +<br>
>> +  CHECK(INTERCEPT_FUNCTION(sigaction));<br>
>> +  CHECK(INTERCEPT_FUNCTION(signal));<br>
>> +  CHECK(INTERCEPT_FUNCTION(longjmp));<br>
>> +  CHECK(INTERCEPT_FUNCTION(_longjmp));<br>
>> +  INTERCEPT_FUNCTION(__cxa_throw);<br>
>> +  CHECK(INTERCEPT_FUNCTION(pthread_create));<br>
><br>
><br>
> Hm, __cxa_throw is different here -- is it intentional?<br>
> Is it because __cxa_throw may not be there in applications w/o exceptions?</p>
<p dir="ltr">IIRC, yes.<br>
</p>