On Tue, Feb 26, 2013 at 12:20 PM, zapadinsky <span dir="ltr"><<a href="mailto:zapadinsky@gmail.com" target="_blank">zapadinsky@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">>> -fsanitize=integer somehow print the line number and character of an<br>
>> operator raised an overflow error. Why enum sanitizer needs symbolizer?<br>
>> There was an idea to print the stack trace?<br>
<br>
>Two things: firstly, ubsan can't currently determine the source location<br>
>for all checks at build time; for a few, we work out the location based on<br>
>return address at runtime. That's just due to incomplete implementation.<br>
>Secondly, as you suspect, we want to include a stack trace eventually.<br>
<br>
</div>Yes stack trace would be a great feature for all ubsan checks. But now enum<br>
sanitizer signalling a problem line dozen of times. And printing the stack<br>
trace each time will hang debug process...<br></blockquote><div><br></div><div>? Each location should only be diagnosed once, even though we don't list a column-accurate location in the diagnostic.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

It is not obvious why it is so different from integer sanitizer which can<br>
determine the source location and signal problem line only once. Integer<br>
sanitizer looks rather mature compared to enum sanitizer.</blockquote><div><br></div><div>As I said, it's just due to incomplete implementation. Patches welcome :)</div></div>