<div dir="ltr">+eugenis, and sorry for delay, I was OOO. <div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 23, 2015 at 6:12 AM, Oliver Schneider <span dir="ltr"><<a href="mailto:oliver@f-prot.com" target="_blank">oliver@f-prot.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi,<br>
<br>
while extending some of my code to also act on MSan crashes instead of<br>
just ASan, I noticed that not all callbacks are available for MSan.<br>
<br>
In ASan I used the<br>
<br>
  void __asan_set_error_report_callback(void (*callback)(const char*));<br>
<br>
to relay information back to the parent process via a shared memory </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">object. However, for MSan no similar functionality exists.<br></blockquote><div><br></div><div>Agree. it would be nice to unify this functionality between asan, msan and others. </div><div>It's just not done. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Is there a way to get this functionality also in MSan? I.e. being able<br>
to capture the error report contents in their string form?<br>
<br></blockquote><div>Evgeniy? </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I'm using version 3.6.1 at the moment.<br>
<br>
Thanks,<br>
<br>
// Oliver<br>
<br>
PS: on a related note; I found:<br>
<br>
117   // Deprecated. Call __sanitizer_set_death_callback instead.<br>
118   void __asan_set_death_callback(void (*callback)(void));<br>
<br>
which suggests that the same would hold for the MSan counterpart.<br>
However, there is just says:<br>
<br>
 92   /* Sets the callback to be called right before death on error.<br>
 93      Passing 0 will unset the callback. */<br>
 94   void __msan_set_death_callback(void (*callback)(void));<br>
<br>
Is this intentional or owed to the fact that ASan is more actively<br>
developed or so? ...<br></blockquote><div><br></div><div>This is just not done (but should be).</div><div>We'll need it ourselves eventually, but if you send us a patch (to llvm-commits, using Phabricator)</div><div>it may get there sooner. :) </div><div><br></div><div>--kcc  </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div></div>