[asan_symbolize] Fix bug where the frame counter was not incremented.
This bug occurred when a plug-in requested that a binary not be
symbolized while the script is trying to symbolize a stack frame. In
this case self.frame_no would not be incremented. This would cause
subsequent stack frames that are symbolized to be incorrectly numbered.
To fix this get_symbolized_lines() has been modified to take an
argument that indicates whether the stack frame counter should
incremented. In process_line_posix() get_symbolized_lines(None, ...)
is now used in in the case where we don't want to symbolize a line so
that we can keep the frame counter increment in a single function.
A test case is included. The test uses a dummy plugin that always asks
asan_symbolize.py script to not symbolize the first binary that the
script asks about. Prior to the patch this would cause the output to
script to look something like
#0 0x0 #0 0x0 in do_access #1 0x0 in main
Reviewers: kubamracek, yln, samsonov, dvyukov, vitalybuka
Subscribers: #sanitizers, llvm-commits
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D65495